如何仅将特定子网(源IP)路由到特定接口?


31

如何仅将特定子网(源IP)路由到特定接口?
操作系统:Linux

我知道我可以通过使用诸如

route add 1.2.3.4/24 dev eth4

但我看不到如何基于源IP进行路由。

Answers:


30

您需要使用基于策略的路由。有点像

ip rule add from <source>/<mask> table <name>
ip route add 1.2.3.4/24 via <router> dev eth4 table <name>

<name>是在中指定的表名,/etc/iproute2/rt_tables或者您可以使用数字id ...

几乎可以说,所有的流量1.2.3.4/24都将使用路由表进行路由<name>。IIRC通过此操作后不会使用默认表,因此,如果您需要其他路由(即默认网关),则也需要将它们添加到表中。


1
一个校正(但不知道你的人会也工作,为第二个命令:ip route add default dev eth4 table <name>table指令应该在最后,我认为,就像在第一个命令去...还default可以通过子网所取代,就像在你的榜样)
Alex

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.