情境
原本 A 跟 B 都可以去抓 C 的 SNMP 資料,但某天網路架構變了
A ----------> C udp 161 B ----------> C udp 161
變成 B 抓不到 C 了
A ----------> C udp 161 B -----X----> C X
所以我要變成這樣子, B 繞到 A 出去 (前提是同網段)
B ---> A ---> C udp 161
所以 A 要設定
echo 1 > /proc/sys/net/ipv4/ip_forward iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
而 B 要設定,意思就是只要是 udp 161 的 request 都走向 A_ip 再回來,所以要靠 ip route 加上 iptables
echo "200 snmp" >> /etc/iproute2/rt_tables ip rule add fwmark 1 table snmp ip route add default dev eth0 via A_ip table snmp iptables -t mangle -A OUTPUT -p udp --dport 161 -j MARK --set-mark 1
123
設定在 /etc/sysconfig/iptables
(以上是 *filter 的) COMMIT *mangle :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A OUTPUT -p udp --dport 161 -j MARK --set-mark 1 COMMIT
留言