у меня есть issabel Linux (на основе Centos 7) с 3 Ethernet, и я хочу этот сценарий:
eth0 с IP 172.16.3.30/16 ----gw(172.16.0.1)----> (я хочу использовать шлюз по умолчанию)
eth1 с IP 10.1.5.102/30 -----gw(10.1.5.101)----> (отметить подключения к 10.10.10.10:5160 для отправки через 10.1.5.101 с собственным src(10.1.5.102))
eth2 с IP 10.1.5.106/30 -----gw(10.1.5.105)----> (отметить подключения к 10.10.10.10:5161 для отправки через 10.1.5.101 с собственным src(10.1.5.106))
внимание : есть один и тот же адрес назначения! (10.10.10.10, но другой порт)
Я использую эти коды:
iptables -A ВЫВОД -t mangle -p udp -d 10.10.10.10/32 --dport 5160 -j MARK --set-mark 1
iptables -A ВЫВОД -t mangle -p udp -d 10.10.10.10/32 --dport 5161 -j MARK --set-mark 2
эхо 100 sip102 >> /etc/iproute2/rt_tables
эхо 101 sip106 >> /etc/iproute2/rt_tables
IP-маршрут добавить по умолчанию dev eth1 таблицу sip102
ip route добавить таблицу eth2 dev по умолчанию sip106
ip правило добавить из всех таблиц fwmark 1 sip102
ip правило добавить из всей таблицы fwmark 2 sip106
Но SIP-транки не могут быть подключены. (Первые две строки были изменены на -A PREROUTING, но это не произошло)
Когда я пытаюсь проверить маршрут таблицы без маркировки следующим образом:
ip правило добавить в таблицу 10.10.10.10 sip102
Я вижу, что подключена одна SIP-магистраль (10.1.5.102 > 10.10.10.10:5160 Connected)