Как создать маршрут по умолчанию на основе протокола с помощью iproute2

Я пытаюсь создать два маршрута -

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-policy-routing/

Можно ли создать на основе протокола правила маршрутизации?

1
задан 9 March 2017 в 00:54
1 ответ

Это совершенно непроверено, но может быть что-то вроде этого? Этот метод использует маркировку брандмауэра.

# 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 не забудьте отключить фильтрацию по обратному пути .

.
3
ответ дан 3 December 2019 в 18:31

Теги

Похожие вопросы