Назад | Перейти на главную страницу

Как создать маршрут по умолчанию на основе протокола с помощью 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/

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

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

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