linux 静态路由设置[阮胜昌]

显示路由 route -v
添加路由 route add -net <路由名称> netmask <子网掩码> dev <网卡设备>
删除路由 route  del -net <路由名称> netmask <子网掩码> dev <网卡设备>
添加默认网关 route add default  gw <网关ip> dev <网卡设备>
 删除默认网关 route del default gw <网关ip> dev <网卡设备>

Internet------(eth1)router1(eth2)------(eth1)router2(eth0)------(eth0)router3(eth1)------(eth0)pc


上面就是我的网络拓扑结构,其中路由器1是用来连接外部网络的一台linux机器,图中所有路由器都是普通的pc机,这些pc都安装了ubuntu桌面系统,除了最右边的pc,其余的pc都装了3张网卡(其中一张备用)。


由于Debian系的网卡配置跟Redhat系很不一样,Redhat是放在/etc/sysconfig/network-scripts目录下面的一大堆文件里面。而Debian系的网卡配置则是存在/etc/network/interfaces这个文件里面,而且不管你有多少块网卡,系统都把配置统统放在这个文件里。下面就来看一下这个文件的内容。


首先,我们来看router1的配置:

 auto lo iface lo inet loopback iface lo inet6 loopback auto eth0 iface eth0 inet static       address 192.168.2.1       network 192.168.2.0       netmask 255.255.255.0       broadcast 192.168.2.255       up route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.2       down route del -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.2       up route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.2       down route del -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.2 iface eth0 inet6 static       address 2000:2::1       netmask 64       up route -A inet6 add 2000:3::/64 gw 2000:2::2       up route -A inet6 add 2000:4::/64 gw 2000:2::2       down route -A inet6 del 2000:3::/64 gw 2000:2::2       down route -A inet6 del 2000:4::/64 gw 2000:2::2auto eth1iface eth1 inet dhcp上面的配置中,

auto说明lo接口跟eth0接口会在系统启动时被自动配置;lo为一个本地回环(loopback)地址,这里分别设置了v4和v6两个loopback;static说明这是一个静态的IP配置;后面配置的作用在于在接口启用的时候,添加两条静态路由,并且在接口禁用的时候,删掉这两条路由配置。至于配置路由的写法,跟cmd line下的route命令一样(除了开头的up down)。


后面的eth1是连接外部的Internet,所以用了跟外面相连的dhcp。


路由器在配好这个文件之后,还需要enable自身的ip转发,这就需要进入到/etc/sysctl.conf这个文件当中,加入net.ipv4.ip_forward=1,以及net.ipv6.default.ip_forward=1这两句话。退出后,再sysctl -p /etc/sysctl.conf。这就打开了ip转发。

配好转发之后,还不能对外上网,但router之间已经能互相ping通,这就需要在每台router上配置dns服务器,需要在/etc/resolv.conf中加入相应信息:

search test.com
nameserver *.*.*.*


这样之后后面的几台路由器都可以根据自己的dft gw找到router1并取得跟外网的联系并连上Internet了

如果要配ipv6的multicast,这就要借助mrd6这个软件来实现,具体配置方法非常简单,你只要把deb包安装好,然后配置mrd.conf这个文件就行。运行的时候只要在有mrd.conf文件的文件夹下sudo mrd6就ok了。

 

你可能感兴趣的:(linux,路由)