使用Quagga完善Linux动态路由
在我们的小型 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。 Host 1: 192.168.110.125 Host 2:192.168.120.135 Router: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.conf hostname router1 log file/var/log/quagga/ospfd.log router ospf ospf router-id192.168.110.15 network 192.168.110.0/0 area 0.0.0.0 network 192.168.120.0/0 area 0.0.0.0 access-list localhost permit 127.0.0.1/32 access-list localhost deny any line vty access-class localhost 你可以使用感叹号(!)或者井号(#)去注释掉这些行。我们来快速浏览一下这些选项。 hostname 可以是你希望的任何内容。这里不是一般意义上的 Linux 主机名,但是,当你使用 vtysh 或者 telnet 登入时,你将看到它们。 log file 是你希望用于保存日志的任意文件。 router 指定路由协议。 ospf router-id 是任意的 32 位数字。使用路由器的一个 IP 地址就是很好的选择。 network 定义你的路由器要通告的网络。 access-list 限制 vtysh 登入,它是 Quagga 命令行 shell,它允许本地机器登入,并拒绝任何远程管理。 (编辑:拼字网 - 核心网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |