通过特定网络接口路由特定IP的所有流量


17

我有一个需要获取路由的linux服务器。我在这方面还很新,我在Google上找不到任何明确的来源。

设置应该很简单:
到IP 192.168.72.20上服务器的所有流量都应该通过接口3发送。所有其他接口此刻都无关紧要。

在这里,您有输出 route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth3
192.168.72.0    0.0.0.0         255.255.255.0   U     0      0        0 eth4
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.72.12   0.0.0.0         UG    0      0        0 eth0

1
您使用的是老式的ifconfig和route命令还是现代的ip命令?(旧的类似route add -host 192.168.72.20 GW eth3_ip
Hennes

我不知道,我想是旧的,我该如何检查?
腓特烈

Answers:


21

尝试:

ip route add 192.168.72.20/32 dev eth3


3
请注意:要永久保留此配置,请确保将其添加到/etc/rc.local发行版中或与之等效。它不会在两次重启之间持续存在。
LawrenceC

1
我尝试使用相同的格式将IP映射到Ubuntu 14.04上的wlan0,但RTNETLINK answers: Invalid argument我不得不从IP中删除/ **,所以最终得到:sudo ip route add 192.168.50.15 dev wlan0-以为我提到的是,以防万一其他人遇到此问题。谢谢您的答复ultrasawblade,它很有帮助。
mason81 2015年

3
不要忘记via <gateway_ip>目标IP是否直接可达!
calandoa
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.