假设:CentOS 6 计算机作为本地网络的默认网关。其内部网络为 10.20.30.0/24,10.20.30.1 是其 IP 地址。
问题:我需要通过网关 10.20.30.5(在同一个内部网络中)设置到另一个网络(即 10.40.10.0/24)的静态路由。
当我在任何本地系统上添加静态路由时,即
Linux:
route add -net 10.40.10.0/24 gw 10.20.30.5
Windows:
route add 10.40.10.0 mask 255.255.255.0 10.20.30.5
它工作正常。但是,我没有看到明显的方法可以在默认网关上添加相应的路由,以避免在每台本地计算机上添加静态路由。
如果我在默认网关上执行类似
ip route add 10.40.10.0/24 via 10.20.30.5 dev eth1
(eth1 是 10.20.30.0/24 工作的地方),我看到 ICMP Ping 来回传输到 10.40.10.0/24,但与该网络的所有其他通信都超时了。
更新:根据评论的要求:
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 10:xx:xx:xx:xx:5a brd ff:ff:ff:ff:ff:ff
inet 8x.yy.zz.a/24 brd 8x.yy.zz.255 scope global eth0
inet 8x.yy.zz.b/24 brd 8x.yy.zz.255 scope global secondary eth0:0
inet 8x.yy.zz.c/24 brd 8x.yy.zz.255 scope global secondary eth0:1
inet6 fe80::xxxx:yyyy:zzzz:tttt/64 scope link
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 1c:xx:yy:zz:tt:32 brd ff:ff:ff:ff:ff:ff
inet 10.20.30.1/24 brd 10.20.30.255 scope global eth1
inet 10.21.0.1/16 brd 10.21.255.255 scope global eth1:0
inet6 fe80::xxxx:yyyy:zzzz:tttt/64 scope link
valid_lft forever preferred_lft forever
# cat /proc/sys/net/ipv4/ip_forward
1