Routing

如何使用 iproute2 創建基於協議的預設路由

  • March 8, 2017

我正在嘗試創建兩條路線-

Send all packets with IP protocol version 100 to 1.1.1.1 (via device eth1)
Send all other IP packets to 2.2.2.2 (via device eth2)

查看 ip-route 和 ip-rules 的手冊頁,似乎我應該能夠做到這一點,但我無法弄清楚正確的語法。

本文有一個如何設置基於策略的路由的範例,但它基於源 IP 地址,而不是協議號:http: //blog.scottlowe.org/2013/05/29/a-quick-introduction-to -linux-策略路由/

是否可以創建基於協議的路由規則?

這是完全未經測試的,但也許是這樣的?此方法使用防火牆標記。

# part ip packets with a value of 100 as a protocol
iptables -A PREROUTING -i eth0 -t mangle --proto 100 -j MARK --set-mark 1

# packets with that mark use tabpe 'p100'
ip rule add fwmark 1 table p100

# a route on table 'p100' to a gateway for that network
/sbin/ip route add default via 192.0.2.1 dev eth2 table p100

見: http: //lartc.org/howto/lartc.netfilter.html

PS不要忘記禁用反向路徑過濾。

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