linux namespace连接参考: http://www.cnblogs.com/iiiiher/p/8057922.html

docker网络-直接路由模式

参考: https://www.yuanmas.com/info/obzmAGowzP.html

- n1上创建br0
ip link add br0 type bridge
ip link set dev br0 up
ip addr add 10.1.1.1/24 dev br0 - n2上创建br1
ip link add br1 type bridge
ip link set dev br1 up
ip addr add 20.1.1.1/24 dev br1 - n1启动docker
dockerd -b br0 - n2启动docker
dockerd -b br1
tip: dockerd --help可以看到dockerd的选项 - n1上写路由
ip r a 20.1.1.0/24 via 192.168.14.133 - n2上写路由
ip r a 10.1.1.0/24 via 192.168.14.132 - n1和n2 开启
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -P FORWARD ACCEPT

出现的问题:

本端的容器,能访问到对方的br1,但是不能访问到对方br1下的容器



参考: https://unix.stackexchange.com/questions/125599/settings-when-using-a-bridge

系统默认是accept

iptables -t filter -L
iptables -t filter -L --line-number



当安装完docker(yum)后,默认forward chian变成了drop

解决:

iptables -P FORWARD ACCEPT

可能将 iptables FORWARD chain的默认策略设置为DROP,从而导致 ping 其它 Node 上的 Pod IP 失败,遇到这种情况时,需要手动设置策略为 ACCEPT.

参考: http://cizixs.com/2017/02/10/network-virtualization-network-namespace

实现bridge之间的通信-一台主机

############################################

ip link add br0 type bridge
ip link set dev br0 up
ip addr add 10.1.1.1/24 dev br0 ip netns add net0
ip link add type veth
ip link set dev veth1 netns net0 ip netns exec net0 ip link set dev veth1 name eth0
ip netns exec net0 ip addr add 10.1.1.2/24 dev eth0
ip netns exec net0 ip link set dev eth0 up
ip netns exec net0 ip route add default via 10.1.1.1 dev eth0 ip link set dev veth0 master br0
ip link set dev veth0 up
ip netns exec net0 ping 10.1.1.1 ############################################
ip link add br1 type bridge
ip link set dev br1 up
ip addr add 20.1.1.1/24 dev br1 ip netns add net1
ip link add type veth
ip link set dev veth1 netns net1 ip netns exec net1 ip link set dev veth1 name eth0
ip netns exec net1 ip addr add 20.1.1.2/24 dev eth0
ip netns exec net1 ip link set dev eth0 up
ip netns exec net1 ip route add default via 20.1.1.1 dev eth0 ip link set dev veth0 master br1
ip link set dev veth0 up ip netns exec net1 ping 20.1.1.1

实现bridge之间的通信-两台主机

#####################在n1操作######################

ip link add br0 type bridge
ip link set dev br0 up
ip addr add 10.1.1.1/24 dev br0 ip netns add net0
ip link add type veth
ip link set dev veth1 netns net0 ip netns exec net0 ip link set dev veth1 name eth0
ip netns exec net0 ip addr add 10.1.1.2/24 dev eth0
ip netns exec net0 ip link set dev eth0 up
ip netns exec net0 ip route add default via 10.1.1.1 dev eth0 ip link set dev veth0 master br0
ip link set dev veth0 up
ip r a 20.1.1.0/24 via 192.168.14.133
ip netns exec net0 ping 10.1.1.1 ########################在n2操作##################
ip link add br1 type bridge
ip link set dev br1 up
ip addr add 20.1.1.1/24 dev br1 ip netns add net1
ip link add type veth
ip link set dev veth1 netns net1 ip netns exec net1 ip link set dev veth1 name eth0
ip netns exec net1 ip addr add 20.1.1.2/24 dev eth0
ip netns exec net1 ip link set dev eth0 up
ip netns exec net1 ip route add default via 20.1.1.1 dev eth0 ip link set dev veth2 master br1
ip link set dev veth2 up
ip r a 10.1.1.0/24 via 192.168.14.132
ip netns exec net1 ping 20.1.1.1

[docker]docker网络-直接路由模式的更多相关文章

  1. Docker源码分析(八):Docker Container网络(下)

    1.Docker Client配置容器网络模式 Docker目前支持4种网络模式,分别是bridge.host.container.none,Docker开发者可以根据自己的需求来确定最适合自己应用场 ...

  2. docker之 网络模式和跨主机通信

    Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0... Docker的四种网络模式 Bridge模式 当Docker进程启动时,会在主机上创建 ...

  3. 一分钟看懂Docker的网络模式和跨主机通信

    文章转载自:http://www.a-site.cn/article/169899.html   Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docke ...

  4. Docker:网络模式详解

    Docker作为目前最火的轻量级容器技术,牛逼的功能,如Docker的镜像管理,不足的地方网络方面. Docker自身的4种网络工作方式,和一些自定义网络模式 安装Docker时,它会自动创建三个网络 ...

  5. Docker的网络模式和跨主机通信

    文章转载自:http://www.a-site.cn/article/169899.html   Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docke ...

  6. docker 网络4种模式

    1.host 模式,使用docker run 时 使用--net=host 指定 docker 使用的网络和宿主机一样,在容器上看到的网卡ip就是宿主机上的ip 2.container 模式,使用-- ...

  7. Docker Kubernetes Service 网络服务代理模式详解

    Docker Kubernetes  Service 网络服务代理模式详解 Service service是实现kubernetes网络通信的一个服务 主要功能:负载均衡.网络规则分布到具体pod 注 ...

  8. docker的网络模式

    记性不好,回顾一下.按照惯例,直接看官文. Docker's networking subsystem is pluggable, using drivers. Several drivers exi ...

  9. Docker(四):Docker基本网络配置

    1.Libnetwork Libnetwork提出了新的容器网络模型简称为CNM,定义了标准的API用于为容器配置网络. CNM三个重要概念: 沙盒:一个隔离的网络运行环境,保存了容器网络栈的配置,包 ...

随机推荐

  1. Consul服务器配置

    微服务带来最大的好处就是把整个大项目分割成不同的服务,运行在不同服务器上,实现解耦和分布式处理.微服务虽然有很多好处,但是也会有不好的一方面.任何事物都会有两面性,在微服务里面运维会是一个很大的难题, ...

  2. 汉化 android studio

    Analyze APK...android.jar\com\android\tools\idea\apk\viewer AnalyzeApkAction.class

  3. Codeforces.GYM101612E.Equal Numbers(贪心)

    题目链接 \(Description\) 给定\(n\)个数,每次可以将任意一个数乘上任意一个正整数. 求\(k\)次操作后,数列中数的种类最少可以是多少.对每个\(0\leq k\leq n\)输出 ...

  4. BZOJ.2069.[POI2004]ZAW(最短路Dijkstra 按位划分)

    题目链接 \(Description\) 给定一张带权图(边是双向的,但不同方向长度不同).求从1出发,至少经过除1外的一个点,再回到1的最短路.点和边不能重复经过. \(n\leq5000,m\le ...

  5. 洛谷.2754.星际转移问题(最大流Dinic 分层)

    题目链接 枚举时间 每一个时间点 对于每个之前的位置像当前位置连边,表示这一时刻可待在原地 每艘船 之前时刻位置向当前时刻连边 注意别漏了0时刻src连向earth的边 #include<cst ...

  6. BZOJ.2301.[HAOI2011]Problem B(莫比乌斯反演 容斥)

    [Update] 我好像现在都看不懂我当时在写什么了=-= \(Description\) 求\(\sum_{i=a}^b\sum_{j=c}^d[(i,j)=k]\) \(Solution\) 首先 ...

  7. 2、函数y=f(x)

    /* Note:Your choice is C IDE */ #include "stdio.h" /* 3.函数y=f(x)可表示为: */ void main() { int ...

  8. Android疑问小结

    1:为什么新建项目继承自ActionBarActivity而不是Activity? 为了版本兼容的,你新建项目时最低版本选择4.0以上,就不会出现appcompat_v7包,AndroidBarAct ...

  9. POST数据中有特殊符号导致数据丢失的解决方法

    使用Ajax传送数据时,当数据中存在加号(+).连接符(&)或者百分号(%)时,服务器端接收数据时会丢失数据.分析Ajax传送数据的格式与Javascript的语法: 1. "+&q ...

  10. 各种组件的js 获取值 / js动态赋值

    jQuery获取Select选择的Text和Value:语法解释:1. $("#select_id").change(function(){//code...});   //为Se ...