当前位置: 首页 > 科技观察

使用Quagga的Linux动态路由_0

时间:2023-03-18 18:30:33 科技观察

了解如何使用Quagga路由协议套件管理动态路由。到目前为止,在本系列文章中,我们了解了LinuxLANRouting中的复杂IPv4地址:第1部分以及如何在LinuxLANRouting中手动创建静态路由:第2部分。今天,我们继续使用Quagga来管理动态路由,它是一款安装后就可以忘记的软件。Quagga是一个路由协议套件,支持OSPFv2、OSPFv3、RIPv1和v2、RIPng和BGP-4,所有这些都由zebra守护进程管理。OSPF表示最短路径优先OpenShortestPathFirst。OSPF是一种内部网关协议(IGP);它可用于LAN和跨Internet的LAN互连。网络中的每个OSPF路由器都包含整个网络的拓扑结构,并计算通过网络的最短路径。OSPF通过多播自动向外部传播它检测到的网络变化。您可以将网络划分为多个区域以保持路由表易于管理;每个区域中的路由器只需要知道离开它的区域的下一跳接口地址,而不是跟踪网络的整个路由表。RIP,即路由信息协议,是一个非常古老的协议。RIP路由器定期将其整个路由表多播到网络,而不是像OSPF那样只多播网络变化。RIP通过跳数来衡量路由,它认为任何超过15跳的路由都是不可达的。RIP易于设置,但OSPF在速度、效率和弹性方面更好。BGP-4是边界网关协议版本4。这是用于互联网流量路由的外部网关协议(EGP)。除非您是Internet服务提供商,否则您不会使用BGP。准备使用OSPF在我们的小型KVM测试实验室中,我们使用两个虚拟机代表两个不同的网络,并将另一个虚拟机配置为路由器。创建两个网络:net1为192.168.110.0/24,net2为192.168.120.0/24。启用DHCP是明智的,否则您将不得不分别进入三个虚拟机中的每一个来为它们设置静态地址。主机1在net1中,主机2在net2中,路由器连接到两个网络。设置Host1的网关地址为192.168.110.126,Host2的网关地址为192.168.120.136。主机1:192.168.110.125主机2:192.168.120.135路由器:192.168.110.126和192.168.120.136在路由器上安装Quagga。在大多数Linux上,它是quagga包。在Debian上还有一个单独的文档包quagga-doc。在/etc/sysctl.conf配置文件中取消注释以下行以启用数据包转发:net.ipv4.ip_forward=1然后,运行sysctl-p命令使更改生效。配置Quagga请参阅Quagga包中的示例配置文件,例如/usr/share/doc/quagga/examples/ospfd.conf.sample。除非您的Linux发行版根据您的喜好进行创新,否则配置文件通常应位于/etc/quagga目录中。大多数Linux发行版在此目录中都有两个文件,vtysh.conf和zebra.conf。它们提供守护进程运行所需的最低配置。除非你的发行版做了什么特别的事情,否则zebra总是先运行,它会在你启动ospfd时自动启动。Debian/Ubuntu是一个特例,我们稍后会谈到。每个路由器守护进程都会读取自己的配置文件,因此我们必须创建/etc/quagga/ospfd.conf并输入以下内容:!/etc/quagga/ospfd.confhostnamerouter1logfile/var/log/quagga/ospfd.logrouterospfospfrouter-id192.168.110.15network192.168.110.0/0area0.0.0.0network192.168.120.0/0area0.0.0.0access-listlocalhostpermitlinety127.0.0.cc1/32localhostdenyany-listclasslocalhost你可以使用感叹号(!)或数字符号(#)以注释掉这些行。让我们快速浏览一下选项。主机名可以是任何你想要的。这些不是通常的Linux主机名,但您会在使用vtysh或telnet登录时看到它们。日志文件是您希望用于日志记录的任何文件。路由器指定路由协议。ospfrouter-id是任何32位数字。使用路由器的IP地址之一是一个不错的选择。network定义您的路由器将通告的网络。访问列表将登录限制为vtysh,即Quagga命令行外壳,它允许从本地计算机登录并拒绝任何远程管理。在启动守护程序之前,Debian/Ubuntu可能需要比其他Debian衍生产品多一个或多个步骤。编辑/etc/quagga/daemons,使除zebra=yes和ospfd=yes之外的所有行都具有值no。然后,在Debian上运行ospfd以启动Quagga:#systemctlstartquagga在大多数其他Linux上,包括Fedora和openSUSE,使用以下命令启动ospfd:#systemctlstartospfd现在,主机1和主机2将能够相互ping对方,并且路由器。这里用了很多篇幅来描述一个非常简单的设置。实际上,路由器会连接两个交换机,然后为连接到该交换机的所有计算机提供网关。你也可以在你的路由器上增加更多的网络接口,让你的路由器可以为更多的网络提供路由服务,也可以直接连接其他路由器,或者连接其他路由器连接的骨干网。您可能不想经历手动配置网络接口的麻烦。最简单的方法是使用您的DHCP服务器来通告您的路由器。如果你使用Dnsmasq,那么你就有了DHCP和DNS的一体化解决方案。还有更多配置选项,例如加密密码保护。更多信息请查看QuaggaRoutingSuite官方文档。