我有一个issabel Linux(基于 Centos 7)和3 以太网,我想要这种情况:
eth0 的 IP 为 172.16.3.30/16 ----gw(172.16.0.1)---->(我想用作默认网关)
eth1 的 IP 为 10.1.5.102/30 -----gw(10.1.5.101)-----> (标记与 10.10.10.10:5160 的连接,以便通过 10.1.5.101 使用自己的 src(10.1.5.102) 发送)
eth2 的 IP 为 10.1.5.106/30 -----gw(10.1.5.105)----> (标记与 10.10.10.10:5161 的连接,以便通过 10.1.5.101 使用自己的 src(10.1.5.106) 发送)
注意:有一个相同的目标地址!(10.10.10.10,但端口不同)
我正在使用此代码:
iptables -A OUTPUT -t mangle -p udp -d 10.10.10.10/32 --dport 5160 -j MARK --set-mark 1
iptables -A OUTPUT -t mangle -p udp -d 10.10.10.10/32 --dport 5161 -j MARK --set-mark 2
echo 100 sip102 >> /etc/iproute2/rt_tables
echo 101 sip106 >> /etc/iproute2/rt_tables
ip route add default dev eth1 table sip102
ip route add default dev eth2 table sip106
ip rule add from all fwmark 1 table sip102
ip rule add from all fwmark 2 table sip106
但 SIP 中继无法连接。(我已将前两行更改为 -A PREROUTING,但没有效果)
当我尝试测试表格的路线而不做标记时:
ip rule add to 10.10.10.10 table sip102
我看到一个 SIP 中继已连接(10.1.5.102 > 10.10.10.10:5160 已连接)