红联Linux门户
Linux帮助

RHEL5.7下的静态路由配置

发布时间:2014-12-05 15:48:15来源:linux网站作者:power1990

也许大家都知道路由器有路由功能,或者三层交换机有路由功能。但很少有人知道,其实我们的主机同样有路由功能,可以作为一个简易路由器使用,只不过默认没有开启。无论在Windows或者Linux平台下都是可以的,现在就来看看Linux下静态路由的配置。


先来看一个简单的拓扑
RHEL5.7下的静态路由配置
以上图片上传至红联Linux系统教程频道。

需求很简单,只要RHEL-A可以ping通RHEL-C就可以了。


首先开启RHEL-B服务器的路由转发功能,即将/proc/sys/net/ipv4/ip_forward文件的值从0改成1。0代表关闭路由功能,1代表开启。(用echo修改,最好不要用vi来编辑)

echo 1 > /proc/sys/net/ipv4/ip_forward

如果需要开机启动路由功能,则需要修改/etc/sysctl.conf文件

vi /etc/sysctl.conf
# Contrls IP packet forwarding
net.ipv4.ip_forward =1


有关静态路由的命令

route add –net  添加一条默认路由,目标为对方网段

route add –host  添加一条默认路由,目标为对方主机

route add default gw  设定默认网关

route delete  删除路由

配置RHEL-A的静态路由,网关指向RHEL-B的eth0接口

route add –net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.20

配置RHEL-C的静态路由,网关指向RHEL-B的eth1接口

route add –net 192.168.10.0 netmask 255.255.255.0 gw 192.168.20.20

这个时候使用RHEL-A去ping 192.168.20.1和用RHEL-C去ping 192.168.10.1都是可以成功的。


我们来看看RHEL-A和RHEL-C的路由表,查看路由表的命令是route -n

RHEL-A
RHEL5.7下的静态路由配置

发现多了一条192.168.20.0网段的路由,下一跳指向192.168.10.20,UG就代表下一跳指向网关(Gateway),出接口为eth0。

RHEL-C
RHEL5.7下的静态路由配置

另外在静态路由配置中,还可以以出接口为下一跳。


以上面为例:

RHEL-A

route add –net 192.168.20.0 netmask 255.255.255.0 dev eth0

RHEL-C

route add –net 192.168.10.0 netmask 255.255.255.0 dev eth0

不过不建议这么做,因为在以太网接口中,出接口并非为匹配固定的下一跳,会造成ARP条目过多,可能导致无法通信的情况。