使用quaaga实现(rip ospf)实现主机间容器互通

- n1设置
brctl addbr br0
ip a a 10.1.1.1/24 br0
ip a a 10.1.1.1/24 dev br0
ip l s dev br0 up
systemctl stop docker
dockerd -b=br0
docker run -itd --name=router --privileged --net=host georce/router - n2设置
brctl addbr br0
ip a a 20.1.1.1/24 br0
ip a a 20.1.1.1/24 dev br0
ip l s dev br0 up
systemctl stop docker
dockerd -b=br0
docker run -itd --name=router --privileged --net=host georce/router

georce/router的dockerfile

https://hub.docker.com/r/georce/router/~/dockerfile/

FROM debian:jessie
MAINTAINER 谁改谁去死! RUN apt-get update
RUN apt-get install -y quagga
COPY daemons /etc/quagga/daemons
COPY ospfd.conf /etc/quagga/ospfd.conf
COPY ripd.conf /etc/quagga/ripd.conf
COPY run.sh /opt/run.sh
RUN chmod 755 /opt/run.sh
RUN chown quagga:quagga /etc/quagga/*.conf
CMD ["/opt/run.sh"]

quagga提供了startup-configure

这个镜像同时跑了rip和ospf


root@n2:/# cat /etc/quagga/ripd.conf
!
! Zebra configuration saved from vty
! 2015/05/16 14:07:09
!
hostname ripd
password zebra
log stdout
!
router rip
version 2
network 0.0.0.0/0
!
line vty
!
root@n2:/# cat /etc/quagga/ospfd.conf
!
! Zebra configuration saved from vty
! 2015/05/16 14:03:27
!
hostname ospfd
password zebra
log stdout
!
!
!
interface docker0
!
interface eth0
!
interface lo
!
router ospf
network 0.0.0.0/0 area 0.0.0.0
!
line vty
!

命令基本和思科的差不多

root@n2:/# vtysh
n2.ma.com# show ip route rip
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, A - Babel,
> - selected route, * - FIB route R 10.1.1.0/24 [120/2] via 192.168.1.11, eth0, 00:07:00
n2.ma.com# show ip route os
Codes: K - kernel route, C - connected, S - static, R - RIP,
O - OSPF, I - IS-IS, B - BGP, A - Babel,
> - selected route, * - FIB route O>* 10.1.1.0/24 [110/20] via 192.168.1.11, eth0, 00:07:12
O 20.1.1.0/24 [110/10] is directly connected, br0, 00:07:26
O>* 127.0.0.1/32 [110/10] is directly connected, lo, 00:07:26
O 172.17.0.0/16 [110/10] is directly connected, docker0, 00:07:26
O 192.168.1.0/24 [110/10] is directly connected, eth0, 00:07:26

测试docker连通性

docker run -it --rm busybox
/ # ping 10.1.1.1
PING 10.1.1.1 (10.1.1.1): 56 data bytes
64 bytes from 10.1.1.1: seq=387 ttl=63 time=0.568 ms
64 bytes from 10.1.1.1: seq=388 ttl=63 time=0.992 ms
64 bytes from 10.1.1.1: seq=389 ttl=63 time=0.955 ms

支持的路由协议

root@n2:/# vtysh
n2.ma.com# conf t
n2.ma.com(config)# router
babel Babel
bgp BGP information
isis ISO IS-IS
ospf Start OSPF configuration
ospf6 Open Shortest Path First (OSPF) for IPv6
rip RIP
ripng RIPng

[docker]使用quaaga实现(rip ospf)实现主机间容器互通的更多相关文章

  1. Docker:使用Ambassador进行跨主机间容器通信

    转载请注明出处:点我 由于Docker自身的网络的原因,想要在多主机间的容器之间进行通信是比较麻烦的事情.可以利用Ambassador容器来实现这一功能. 基本原理: 利用Ambassador来实现主 ...

  2. 测试docker不同主机间容器互相访问

    测试服务器(centos6.5):192.168.16.70 网卡:eth0192.168.16.74 网卡:eth0第一步,分别在2台机器执行: yum install docker service ...

  3. tomcat启动非常慢;连接oracle数据库失败,jdbc错误日志提示connection reset;测试主机间网络互通及数据库端口都正常

      [判断确认:这时候大家可能要去检查一下/dev/random 这个设备档案.可以用cat /dev/random 来看它的内容,如果你发现他一直没显示任何内容﹝可能是乱码数字之类的﹞,那就是它出问 ...

  4. 路由选择协议(RIP/OSPF)

    目录 IGP RIP协议 OSPF协议 IS-IS协议 EIGRP协议 EGP BGP 我们可能会想,在偌大的网络中,我们是如何跟其他人通信的呢?我们是如何跟远在太平洋对面的美国小伙伴对话的呢? 这就 ...

  5. docker 现实---联网多台物理主机,容器桥到物理网络(三)

    docker 默认桥接卡docker0 只有当这个单元中的所有容器桥接卡.例如,在主机虚拟网络适配器容器看通常称为veth***  和docker只要把这些卡桥接在一起,例如下面的附图: waterm ...

  6. docker中宿主机与容器(container)互相拷贝传递文件的方法

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/71425077 本文出自[我是干勾鱼的博客] 前面讲解过如何进入.退出docker ...

  7. Docker —— 用于统一开发和部署的轻量级 Linux 容器【转】

    转自:http://www.oschina.net/translate/docker-lightweight-linux-containers-consistent-development-and-d ...

  8. Docker系列(二)镜像下载、操作容器、镜像导入导出等操作

    一.镜像操作 列出镜像 $sudo docker images 从dockerhub检索image $docker search image_name 下载image $docker pull ima ...

  9. LCOW —— 单一Docker引擎下可同时运行Linux和Windows容器啦!

    https://blog.csdn.net/m2l0zgssvc7r69efdtj/article/details/79251059 就在上周,Docker官方的master分支上新增了LCOW(Li ...

随机推荐

  1. BZOJ2333 [SCOI2011]棘手的操作 堆 左偏树 可并堆

    欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ2333 题意概括 有N个节点,标号从1到N,这N个节点一开始相互不连通.第i个节点的初始权值为a[i ...

  2. 基于python的机器学习开发环境安装(最简单的初步开发环境)

    一.安装Python 1.下载安装python3.6 https://www.python.org/getit/ 2.配置环境变量(2个) 略...... 二.安装Python算法库 安装顺序:Num ...

  3. 日常推荐大神操作,如何再oracle中delete数据后恢复

    http://blog.csdn.net/wangdinghai365/article/details/8593869

  4. HDU 1051 Wooden Sticks 造木棍【贪心】

    题目链接>>> 转载于:https://www.cnblogs.com/Action-/archive/2012/07/03/2574800.html  题目大意: 给n根木棍的长度 ...

  5. P2031 脑力达人之分割字串

    P2031 脑力达人之分割字串字符串dp,f[i]表示主串到第i个字符,最多能分割成多少子串.f[i]=max(f[i],f[k]+1);k是能匹配到的前一位. #include<iostrea ...

  6. Spring MVC 注解 @RequestParam解析

    在Spring MVC 后台控制层获取参数的方式主要有两种,一种是requset.getParameter(“name”),另一种是用注解@Resquest.Param直接获取. 一.基本使用获取提交 ...

  7. Wamp修改端口

    WAMP装好之后默认的端口是80,但是这个80端口呢,可以热门端口啊,迅雷,IIS都挺喜欢,在WIN7下本来还有1个进程也点80,让人伤脑筋啊,所以把它改掉,方法如下: 一.修改APACHE的监听端口 ...

  8. BZOJ.3510.首都(LCT 启发式合并 树的重心)

    题目链接 BZOJ 洛谷 详见这. 求所有点到某个点距离和最短,即求树的重心.考虑如何动态维护. 两棵子树合并后的重心一定在两棵树的重心之间那条链上,所以在合并的时候用启发式合并,每合并一个点检查sz ...

  9. java使用Base64编码

    import java.io.IOException;import java.io.UnsupportedEncodingException; import org.junit.Test; impor ...

  10. android TextView如何换行?

    具体代码是: rb_zuotian.setText("第一行"+"\n"+"第二行"); rb_jintian.setText(DateUt ...