设为首页 收藏本站
查看: 797|回复: 0

[经验分享] Quagga让centos成为OSPF路由器 (docker垮主机通信 )

[复制链接]

尚未签到

发表于 2018-5-28 09:11:07 | 显示全部楼层 |阅读模式
  OSPF路由器
  Quagga是一款开源路由软件套件,它可以用来将你的Linux设备变成一个功能完备的路由器,支持几种主要的路由协议,比如RIP、OSPF、BGP或ISIS路由器。它完全为IPv4和IPv6作好了准备,还支持路由/前缀过滤
  这里我们使用宿主机充当OSPF路由器,来维护路由表。
  两个Linux设备之间的对等:172.22.80.0/24
  Site-A172.19.0.0/16
  Site-B172.18.0.0/16
  我们首先使用yum来安装Quagga (或到官网下载更新版本http://download.savannah.gnu.org/releases/quagga/)
  yum install quagga  -y
  Quagga安装完毕后,我们就配置必要的对等IP地址,并更新OSPF设置。Quagga随带一个名为vtysh的命令行外壳。vtysh里面使用的Quagga命令类似思科或瞻博等各大路由器厂商的那些命令
  第一个阶段:配置Zebra  (配置对等网,已经是对等网可跳过这一阶段)
  cp /usr/share/doc/quagga-XXXXX/zebra.conf.sample/etc/quagga/zebra.conf
  chown quagga -R /etc/quagga/  #给予权限,每次write 后都回制动生成一个sav 的备份文件
  systemctl enable zebra
  systemctl start zebra
  systemctl list-unit-files|grep "zebra"
  启动vtysh命令外壳:
  vtysh
  首先,我们为Zebra配置日志文件。为此,输入下列内容,进入vtysh中的全局配置模式:
  site-A-RTR# configure terminal
  并指定日志文件位置,然后退出该模式:
  site-A-RTR(config)# log file /var/log/quagga/quagga.log
  site-A-RTR(config)# exit
  永久性保存配置:
  site-A-RTR# write
  下一步,我们在必要时确定可用接口,然后配置IP地址。
  site-A-RTR# show interface
  Interface ens192 is up,line protocol detection is disabled
  . . . . .
  Interface docker0 is up, line protocol detection isdisabled
  配置ens192参数:
  site-A-RTR# configure terminal
  site-A-RTR(config)# interface ens192
  site-A-RTR(config-if)# ip address 172.22,80.101/24
  site-A-RTR(config-if)#description to-site-B
  site-A-RTR(config-if)# no shutdown
  继续配置eth1参数:
  site-A-RTR(config)# interface docker0
  site-A-RTR(config-if)# ip address 172.19.0.1/16
  site-A-RTR(config-if)# descriptionto-site-A-LAN
  site-A-RTR(config-if)# no shutdown
  现在验证配置:
  site-A-RTR(config-if)# do show interface ens192
  site-A-RTR(config-if)# do show interface docker0
  永久性保存配置:
  site-A-RTR(config-if)# do write
  针对site-B服务器,也重复IP地址配置这个步骤。
  要是一切顺利,你应该能够从site-A服务器来ping检测site-B的对等IP
  提示:一旦Zebra后台程序已启动,用vtysh的命令行接口进行的任何更改会立即生效。不需要在配置变更后重启Zebra后台程序。没有write 是不会写到配置文件中的show  running-config 可查看正在运行的配置。
  第2个阶段:配置OSPF
  我们先创建一个OSPF配置文件,然后启动OSPF后台程序:
  # cp /usr/share/doc/quagga-XXXXX/ospfd.conf.sample/etc/quagga/ospfd.conf
  chown quagga -R /etc/quagga/
  systemctl enable ospfd
  systemctl start ospfd
  systemctl list-unit-files|grep "ospfd"
  现在启动vtysh外壳,继续进行OSPF配置:
  vtysh
  进入路由器配置模式:
  site-A-RTR# configure terminal
  site-A-RTR(config)# router ospf
  还可以手动设置router-id:
  这个IP一定要唯一,不然后期可能回引发很多问题这里我们暂时定为宿主机IP
  site-A-RTR(config-router)# router-id 172.22,80.101
  添加将参与OSPF的网络:
  site-A-RTR(config-router)# network  172.22.80.0/24area 0   #对等网段 即宿主机外网网段
  site-A-RTR(config-router)# network  172.19.0.0/16area 0   #内网段即docker容器所在网段
  永久性保存配置:
  site-A-RTR(config-router)# do write
  针对site-B,也重复类似的OSPF配置:
  site-B-RTR(config-router)# 172.22.80.0/24 area 0
  site-B-RTR(config-router)# network 172.19.0.0/16 area 0
  site-B-RTR(config-router)# do write
  提示:OSPF邻居现在应该会出现。只要ospfd在运行,通过vtysh外壳所作的任何与OSPF有关的配置变更都会立即生效,没必要重启ospfd。
  在下一个部分,我们将验证已安装的Quagga环境。
  
  验证
  1. 用ping来测试
  首先,你应该能够从site-A来ping检测site-B的局域网了网。确保你的防火墙没有阻止ping检测流量。
  [root@site-A-RTR ~]# ping  172.22.80.102-c 2
  2. 检查路由表
  内核和Quagga路由表里面应该都有必要的路由。
  [root@site-A-RTR ~]# ip route
  [root@site-A-RTR ~]# vtysh
  site-A-RTR# show ip route
  3验证OSPF邻居和路由器
  在vtysh外壳里面,你可以检查必要的邻居有没有出现,是否记住合适的路由。
  [root@site-A-RTR ~]# vtysh
  site-A-RTR# show ip ospf neighbor
  相关参考内核参数调优:sysctl -a
  #该参数决定了,网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目
  net.core.netdev_max_backlog = 500000
  #开启路由转发功能
  net.ipv4.ip_forward = 1
  #修改文件描述符
  fs.nr_open = 5242880
  fs.file-max = 4194304
  sed -i 's/1024/4194304/g' /etc/security/limits.conf
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-482013-1-1.html 上篇帖子: Docker 社区和企业版出现了 下篇帖子: Docker时代——如何实现日志数据一键上云
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表