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. BZOJ5047 空间传送装置 2017年9月月赛 最短路 SPFA

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ5047 题意概括 概括??~别为难语文做一题错两题的我了…… 题解 我们发现,对于某一种装置,有c种 ...

  2. 【noip模拟赛4】找啊找啊找BF 拓扑排序

    描述 sqybi上次找GF的工作十分不成功,于是依旧单身的他在光棍节前的某天突发奇想,要给自己找一个BF(这里指的是男性的好朋友……),这样既可以和人分享内心的压抑(路人甲:压抑还分享么……),也可以 ...

  3. 057 Hive项目案例过程

    1.说明 这里只粘贴一张,图,主要针对的hive的项目的实践过程. 2.图 3.需求 统计PV 统计注册人数 => 这个是一个公司会关注的,每天的注册率. 统计ip 统计跳出率 => ip ...

  4. Environment error: “CodeBloks can't find compiler executable in your configured search path's for GNU GCC compiler”

    codeblock安装后,提示cant find compiler executable in your configured search paths for GNU GCC Compiler 可能 ...

  5. Java中测试StringBuilder、StringBuffer、String在字符串拼接上的性能

    应一个大量字符串拼接的任务 测试一下StringBuilder.StringBuffer.String在操作字符串拼接时候的性能 性能上理论是StringBuilder  >  StringBu ...

  6. C6000 CSL 函数说明

    转自:http://bbs.21ic.com/icview-741800-1-1.html 先来看一个例子 代码1 CSL_FINST(osdRegs->VIDWINMD, OSD_VIDWIN ...

  7. osds have slow requests

    ceph health detailHEALTH_WARN 14 requests are blocked > 32 sec; 11 osds have slow requests7 ops a ...

  8. 多个 gradle 文件夹 \.gradle\wrapper\dists\ 设置gradle不是每次都下载

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 设置gradle不是每次都下载 \.gradle\wrapper\dists\ ==== ...

  9. nginx编译安装on mac

    一.编译安装模块 如果是原有包中就有的模块,编译时, ./configure --with-xxx 就可以, 如果是第三方模块,可使用 --add-module, 如果有多个模块的话,只需要多次使用- ...

  10. JProfiler远程监控

    1.  服务端安装JProfiler(与客户端版本一致) 2.  客户端配置连接: A).session——integration wizards——New remote integration B) ...