我正在尝试根据packets
的source
address
进行路由,并添加了以下内容:
# ip rule add from 10.10.10.0/16 dev eth0 table foobar
# ip route add default via 100.100.100.1 dev eth0 table foobar
但是,测试路由会给出错误的via
地址:
# ip route get 4.3.2.1 from 10.10.10.1
4.3.2.1 from 10.10.10.1 via 100.0.0.1 dev eth0
为什么这件事得不到尊重?
这是我的常规routes
# ip route list
default via 100.0.0.1 dev eth0
和
# ip route show table foobar
default via 100.100.100.1 dev eth0
和
# ip rule list
0: from all lookup local
32765: from 10.10.10.0/16 iif eth0 lookup foobar
32766: from all lookup main
32767: from all lookup default
发布于 2019-05-03 13:27:37
你的问题不是问题。在规则中,您不仅使用源地址,而且使用输入接口匹配。因此,解决你的“问题”有两种方法:
dev eth0
iif eth0
命令中添加ip route get...
。iif
选项允许在ip route get
命令中使用非本地地址,因此您可以使用以下内容:ip route get 4.3.2.1 from 10.10.20.253 iif eth0
。https://serverfault.com/questions/965743
复制相似问题