• C级总销量迫近A4L 宝马3系乏力 2019-03-21
  • 西安楼市进入短暂调整期 摇号细则近日将出 2019-03-21
  • 北京学习十九大精神--北京频道--人民网 2019-03-15
  • 临潼区马额镇庙张村西坡组农民饮用黄泥水 2019-03-13
  • 我早就说过,任何时候都不能对美国抱有幻想。否则就是白痴。 2019-03-11
  • 安徽加大就业脱贫力度 确保贫困户至少一人就业 2019-03-07
  • 环保督察点名批评 河北两市治理大沙河河堤垃圾带 2019-02-25
  • E3 2019展会日期确定 今年E3参加人数约69200人 2019-02-25
  • 外贸创新举措 让开放惠及世界 2019-02-22
  • 好莱坞环球影城“功夫熊猫”主题剧院开放 2019-02-22
  • 阜阳五中成功举办第四届社团文化艺术节文艺汇演 2019-02-21
  • 通用航空产业军民融合实现全方位突破 2019-02-21
  • 高培勇任中国社会科学院副院长(图简历) 2019-02-11
  • 撸主脑残,重度三级,鉴定完毕。[哈哈] 2019-02-05
  • 《云冈石窟保护条例》8月实施 刻划涂污文物最高罚200元--旅游频道 2019-02-05
  • Linux 中国 + 关注
    手机版

    使用 Quagga 实现 Linux 动态路由

    1. 神奇公式秒杀全国11选5>
    2. Linux 中国>
    3. 博客>
    4. 正文

    使用 Quagga 实现 Linux 动态路由

    技术小能手 2018-06-04 17:11:56 浏览18584 评论2

    神奇公式秒杀全国11选5 www.bjux.net 摘要: 迄今为止,本系列文章中,我们已经在 Linux 局域网路由新手指南:第 1 部分 中学习了复杂的 IPv4 地址,在 Linux 局域网路由新手指南:第 2 部分 中学习了如何去手工创建静态路由。 今天,我们继续使用 Quagga 去管理动态路由,这是一个安装完后就不用理它的的软件。

    迄今为止,本系列文章中,我们已经在 Linux 局域网路由新手指南:第 1 部分 中学习了复杂的 IPv4 地址,在 Linux 局域网路由新手指南:第 2 部分 中学习了如何去手工创建静态路由。

    今天,我们继续使用 Quagga 去管理动态路由,这是一个安装完后就不用理它的的软件。Quagga 是一个支持 OSPFv2、OSPFv3、RIP v1 和 v2、RIPng、以及 BGP-4 的路由协议套件,并全部由 zebra 守护程序管理。

    OSPF 的意思是最短路径优先Open Shortest Path First。OSPF 是一个内部网关协议(IGP);它可以用在局域网和跨因特网的局域网互联中。在你的网络中的每个 OSPF 路由器都包含整个网络的拓扑,并计算通过网络的最短路径。OSPF 会通过多播的方式自动对外传播它检测到的网络变化。你可以将你的网络分割为区域,以保持路由表的可管理性;每个区域的路由器只需要知道离开它的区域的下一跳接口地址,而不用记录你的网络的整个路由表。

    RIP,即路由信息协议,是一个很老的协议,RIP 路由器向网络中周期性多播它的整个路由表,而不是像 OSPF 那样只多播网络的变化。RIP 通过跳数来测量路由,任何超过 15 跳的路由它均视为不可到达。RIP 设置很简单,但是 OSPF 在速度、效率以及弹性方面更佳。

    BGP-4 是边界网关协议版本 4。这是用于因特网流量路由的外部网关协议(EGP)。你不会用到 BGP 协议的,除非你是因特网服务提供商。

    准备使用 OSPF

    在我们的小型 KVM 测试实验室中,用两台虚拟机表示两个不同的网络,然后将另一台虚拟机配置为路由器。创建两个网络:net1 是 192.168.110.0/24 ,而 net2 是 192.168.120.0/24。启用 DHCP 是明智的,否则你要分别进入这三个虚拟机,去为它们设置静态地址。Host 1 在 net1 中,Host 2 在 net2 中,而路由器同时与这两个网络连接。设置 Host 1 的网关地址为 192.168.110.126,Host 2 的网关地址为 192.168.120.136。

    d47e62d2b349aca45e42305ed6714efbe5ed61d9Host 1: 192.168.110.125
    d47e62d2b349aca45e42305ed6714efbe5ed61d9Host 2:192.168.120.135
    d47e62d2b349aca45e42305ed6714efbe5ed61d9Router:192.168.110.126 和 192.168.120.136

    在路由器上安装 Quagga。在大多数 Linux 中它是 quagga 软件包。在 Debian 上还有一个单独的文档包 quagga-doc。取消 /etc/sysctl.conf 配置文件中如下这一行的注释去启用包转发功能:

    
    
    1. net.ipv4.ip_forward=1

    然后,运行 sysctl -p 命令让变化生效。

    配置 Quagga

    查看你的 Quagga 包中的示例配置文件,比如,/usr/share/doc/quagga/examples/ospfd.conf.sample。除非你的 Linux 版本按你的喜好做了创新,否则,一般情况下配置文件应该在 /etc/quagga 目录中。大多数 Linux 版本在这个目录下有两个文件,vtysh.confzebra.conf。它们提供了守护程序运行所需要的最小配置。除非你的发行版做了一些特殊的配置,否则,zebra 总是首先运行,当你启动 ospfd 的时候,它将自动启动。Debian/Ubuntu 是一个特例,稍后我们将会说到它。

    每个路由器守护程序将读取它自己的配置文件,因此,我们必须创建 /etc/quagga/ospfd.conf,并输入如下内容:

    
    
    1. !/etc/quagga/ospfd.conf
    2. hostname router1
    3. log file /var/log/quagga/ospfd.log
    4. router ospf
    5. ospf router-id 192.168.110.15
    6. network 192.168.110.0/0 area 0.0.0.0
    7. network 192.168.120.0/0 area 0.0.0.0
    8. access-list localhost permit 127.0.0.1/32
    9. access-list localhost deny any
    10. line vty
    11. access-class localhost

    你可以使用感叹号(!)或者井号(#)去注释掉这些行。我们来快速浏览一下这些选项。

    d47e62d2b349aca45e42305ed6714efbe5ed61d9hostname 可以是你希望的任何内容。这里不是一般意义上的 Linux 主机名,但是,当你使用 vtysh 或者 telnet 登入时,你将看到它们。
    d47e62d2b349aca45e42305ed6714efbe5ed61d9log file 是你希望用于保存日志的任意文件。
    d47e62d2b349aca45e42305ed6714efbe5ed61d9router 指定路由协议。
    d47e62d2b349aca45e42305ed6714efbe5ed61d9ospf router-id 是任意的 32 位数字。使用路由器的一个 IP 地址就是很好的选择。
    d47e62d2b349aca45e42305ed6714efbe5ed61d9network 定义你的路由器要通告的网络。

    d47e62d2b349aca45e42305ed6714efbe5ed61d9access-list 限制 vtysh 登入,它是 Quagga 命令行 shell,它允许本地机器登入,并拒绝任何远程管理。

    Debian/Ubuntu

    在你启动守护程序之前,Debian/Ubuntu 相对其它的 Debian 衍生版可能多需要一步到多步。编辑 /etc/quagga/daemons ,除了 zebra=yesospfd=yes 外,使其它所有的行的值为 no。

    然后,在 Debian 上运行 ospfd 去启动 Quagga:

    
    
    1. # systemctl start quagga

    在大多数的其它 Linux 上,包括 Fedora 和 openSUSE,用如下命令启动 ospfd

    
    
    1. # systemctl start ospfd

    现在,Host 1 和 Host 2 将可以互相 ping 通对方和路由器。

    这里用了许多篇幅去描述非常简单的设置。在现实中,路由器将连接两个交换机,然后为连接到这个交换机上的所有电脑提供一个网关。你也可以在你的路由器上添加更多的网络接口,这样你的路由器就可以为更多的网络提供路由服务,或者也可以直接连接到其它路由器上,或者连接到连接其它路由器的骨干网络上。

    你或许不愿意如此麻烦地手工配置网络接口。最简单的方法是使用你的 DHCP 服务器去宣告你的路由器。如果你使用了 Dnsmasq,那么你就有了一个 DHCP 和 DNS 的一体化解决方案。

    还有更多的配置选项,比如,加密的密码?;?。更多内容请查看 Quagga 路由套件 的官方文档。


    原文发布时间为:2018-06-3

    本文作者:CARLA SCHRODER

    本文来自云栖社区合作伙伴“Linux中国开源社区”,了解相关信息可以关注“Linux中国开源社区”。

    【云栖快讯】一站式开发者服务,海量学习资源免费学  详情请点击

    网友评论

  • C级总销量迫近A4L 宝马3系乏力 2019-03-21
  • 西安楼市进入短暂调整期 摇号细则近日将出 2019-03-21
  • 北京学习十九大精神--北京频道--人民网 2019-03-15
  • 临潼区马额镇庙张村西坡组农民饮用黄泥水 2019-03-13
  • 我早就说过,任何时候都不能对美国抱有幻想。否则就是白痴。 2019-03-11
  • 安徽加大就业脱贫力度 确保贫困户至少一人就业 2019-03-07
  • 环保督察点名批评 河北两市治理大沙河河堤垃圾带 2019-02-25
  • E3 2019展会日期确定 今年E3参加人数约69200人 2019-02-25
  • 外贸创新举措 让开放惠及世界 2019-02-22
  • 好莱坞环球影城“功夫熊猫”主题剧院开放 2019-02-22
  • 阜阳五中成功举办第四届社团文化艺术节文艺汇演 2019-02-21
  • 通用航空产业军民融合实现全方位突破 2019-02-21
  • 高培勇任中国社会科学院副院长(图简历) 2019-02-11
  • 撸主脑残,重度三级,鉴定完毕。[哈哈] 2019-02-05
  • 《云冈石窟保护条例》8月实施 刻划涂污文物最高罚200元--旅游频道 2019-02-05