Linux

有選擇地將流量路由到介面

  • April 11, 2013

我已經建立了一個單獨的路由表(tovpn)

#echo 200 tovpn >> /etc/iproute2/rt_tables  

現在我為它分配路線。

其中 10.0.0.1 是 tun2 PtP 而 10.0.0.2 是 inet

#ip route add 10.0.0.1 dev tun2 table tovpn  
#ip route add default via 10.0.0.2 dev tun2 table tovpn  

某些網路 172.20.20.0/24 有流量轉發到表

#ip rule add from 172.22.22.0/24 table tovpn  
#iptables -t nat -A POSTROUTING -s 172.22.22.0/24 -o tun2 -j MASQUERADE  

太好了,一切正常。

如何通過指定主機 ip 來指定要通過隧道的額外流量?

例如,如果我想通過隧道將流量路由到 8.8.4.4,則以下方法不起作用。

#ip rule add to 8.8.4.4/32 table tovpn  

或者

#ip rule add to 8.8.4.4/32 lookup tovpn  

任何幫助將不勝感激,謝謝。

我的路由表設置不正確。正確設置如下:

# ip route add $PTPADDR src $INETADDR proto kernel dev tun1 table tovpn  
# ip route add default dev tun1 table tovpn  

現在用

# iptables -t mangle -A PREROUTING -i $LANINTERFACE -d 8.8.8.8/32 -j MARK --set-mark 300

引用自:https://serverfault.com/questions/490182