我对ip规则匹配有疑问。 让我们做这个例子,我有3个节点A,B,C。 A通过一个接口连接到B,B通过另一个接口连接到C。
A的IP地址为192.168.1.10
B的IP地址为192.168.1.5和192.168.3.7
C的IP地址为192.168.3.12
为了启用A和C之间的通信,我执行以下操作
节点A:
ip rule add from 192.168.1.10 lookup t1 // 192.168.1.10 is A address
ip route add 192.168.3.12 via 192.168.1.5 table t1
节点C:
ip rule add from 192.168.3.12 lookup t1
ip route add 192.168.1.10 via 192.168.3.7 table t1
我知道我可以直接这样做
节点A:
ip route add 192.168.3.12 via 192.168.1.5
节点C:
ip route add 192.168.1.10 via 192.168.3.7
但是我对ip规则匹配感到怀疑。例如,如果我在节点A上添加另一个规则
ip rule add to 192.168.3.12 lookup t2 // 192.168.3.12 is C address
ip route add 192.168.3.12 via 192.168.1.5 table t2
由于第一个规则与源匹配,而第二个规则与目标匹配,那么当我将数据包从A发送到C时会选择哪个规则?