E13.1 研究Linux的route命令,简要介绍它的功能。使用route命令,怎样做到:
- 加一条通过接口 eth1 到 128.138.129.1 的默认路由;
- 删除到 128.138.129.1 的默认路由;
- 判断一个程序 (routed)或者一个ICMP重定向是否加入了一条路由(注意,这个方法也能用netstat -rn 命令的输出做到)。
A:route的主要目的是现实和修改内核IP路由表信息。参数比较多。
- route add default gw 128.138.129.1 eth1
- route default default gw 128.138.129.1
- 我的网络环境没有ICMP重定向,所以也看不到是否增加了路由信息。
E13.2 比较静态路由和动态路由,举出彼此的优缺点。分别介绍两者使用的几种场合,说明原因。
A:静态路由简单,客户端配置方便,路由快。动态路由,对客户端透明,网络拓扑修改后,客户端无须改动。对于小型网络,只有一条通往网络之外的路径,那么静态路由很适合。如果网络过于复杂,则应该考虑静态路由。
其实,这些都是废话,用动态还是静态,关键还是看投入的成本是否能够产出预期的收益,那种能满足你的收益,哪种就适合你。
E13.3 考虑下面的netstat -rn 输出。介绍各条路由,推断网络的设置。10.0.0.0 还是 10.1.1.0 更靠近 Internet?每条路由是由哪个进程加的?
Destination Gateway Genmask Flags MSS Window irtt Iface
10.0.0.0 0.0.0.0 255.255.255.0 U 40 0 eth1
10.1.1.0 0.0.0.0 255.255.0.0 U 40 0 eth0
0.0.0.0 10.0.0.1 0.0.0.0 UG 40 0 eth1
A:这台机器的两个网卡分别接入到了两个网络。其中eth1更靠近Internet的出口。如果Linux配置恰当的话,这些路由信息在网络启动的时候,会自动加入到内核里,只需要分别配置/etc/sysconfig/network-scripts/{ifcfg-eth0,ifcfg-eth1}和/etc/sysconfig/network配置文件(针对R系统)。