网络之间的通信主要依靠路由器,除了日常使用的路由器设备之外,Linux系统也可以进行路由器的配置,只需在Linux主机上添加一些简单的路由条目,这些Linux主机就可以充当简单路由器的功能,以下以CentOS6环境下实现路由器功能为例:

1. 如上图所示设置所有的IP地址

2. 针对不同的机器配置路由

Aubin-CentOS1

route add default gw 10.4.1.1

CentOS-R1

route add -net 10.4.3.0/24 gw 10.4.2.2

route add -net 10.4.4.0/24 gw 10.4.2.2

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

iptables -F

CentOS-R2

route add -net 10.4.1.0/24 gw 10.4.2.1

route add -net 10.4.4.0/21 gw 10.4.3.1

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

iptables -F

CentOS-R3

route add -net 10.4.2.0/24 gw 10.4.3.2

route add -net 10.4.1.0/24 gw 10.4.3.2

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

iptables -F

Aubin-CentOS1

route add default gw 10.4.4.1

3.ping CentOS2ip地址,如果可以ping通,则路由器功能已实现,如果未ping通,可按照以下步骤进行检查:

1)使用route -n查看路由是否生效。

2cat /proc/sys/net/ipv4/ip_forward查看输出是否为1,如果为0说明没有开启转发功能。

检查echo 1 > /proc/sys/net/ipv4/ip_forward是否执行成功。

3)检查IP 掩码是否配置正确,因为有多个IP地址容易搞混,所以好好检查。

4)检查是是否关闭防火墙,执行iptables -F

5)如果在虚拟机环境下做实验,检查MAC地址是否冲突