Заранее прошу простить за очередное поднятие этого вопроса...
Два канала vlan1, vlan2. eth0 - локалка, 192.168.4.225. 192.168.4.99 - «И.О. сервера в DMZ»
Надо - разные типы траффика в разные каналы.
# ip rule list
0: from all lookup local
100: from all fwmark 0xa lookup T1
101: from all fwmark 0x14 lookup T2
200: from 178.76.236.86 lookup T2
201: from 178.76.236.82 lookup T1
32766: from all lookup main
32767: from all lookup default
# ip route show table T1
192.168.4.0/24 dev eth0 proto kernel scope link src 192.168.4.225
127.0.0.0/8 dev lo scope link
default via x.x.x.81 dev vlan1
# ip route show table T2
192.168.4.0/24 dev eth0 proto kernel scope link src 192.168.4.225
127.0.0.0/8 dev lo scope link
default via x.x.x.85 dev vlan2
# iptables -S -t nat
-A PREROUTING -d x.x.x.82/32 -i vlan1 -p tcp -m tcp --dport 8100 -j DNAT --to-destination 192.168.4.99:22
-A PREROUTING -d x.x.x.86/32 -i vlan2 -p tcp -m tcp --dport 8100 -j DNAT --to-destination 192.168.4.99:22
-A POSTROUTING -s 192.168.4.99/32 -o vlan1 -j SNAT --to-source x.x.x.82
-A POSTROUTING -s 192.168.4.99/32 -o vlan2 -j SNAT --to-source x.x.x.86
# iptables -S -t mangle
-A PREROUTING -i vlan1 -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
-A PREROUTING -i vlan2 -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
-A PREROUTING -i eth0 -j CONNMARK --restore-mark --nfmask 0xffffffff --ctmask 0xffffffff
-A PREROUTING -i vlan1 -j CONNMARK --set-xmark 0xa/0xffffffff
-A PREROUTING -i vlan2 -j CONNMARK --set-xmark 0x14/0xffffffff
-A PREROUTING -s 192.168.4.99/32 -i eth0 -j CONNMARK --set-xmark 0x14/0xffffffff
-A PREROUTING -j CONNMARK --save-mark --nfmask 0xffffffff --ctmask 0xffffffff
# ip route show
x.x.x.84/30 dev vlan2 proto kernel scope link src 178.76.236.86
x.x.x.80/30 dev vlan1 proto kernel scope link src 178.76.236.82
10.2.128.0/24 dev vlan3 proto kernel scope link src 10.2.128.2
192.168.4.0/24 dev eth0 scope link metric 3
127.0.0.0/8 via 127.0.0.1 dev lo
default via x.x.x.81 dev vlan1 metric 9
default via x.x.x.85 dev vlan2 metric 10
Исходящий траффик с 192.168.4.99 упорно идет через vlan1, игнорируя set-mark. Входящее соединение на x.x.x.81:8100 проходит успешно, х.86 - не инициируется. Согласно tcpdump SYN пакет доходит до конечного компа, но ответ на него теряется где то в дебрях...
Подскажите куда копать? 2 дня ковыряюсь уже, мозг устал. Вполне вероятно что ошибка на самом видном месте...
Да, ip rule add from 192.168.4.99 table T2 - работает, но не подходит, нужно разрулить соединения по портам + внешние.
Похожие темы
- Форум Маршрутизация трафика (iproute) (2017)
- Форум iproute2 почему не работает такая схемка? (2007)
- Форум iptables, не работает -j CONNMARK (2008)
- Форум Маршрутизация... опять (2009)
- Форум Маршрутизация пакета с адресом назначения 127,0,0,1 (2018)
- Форум iproute2+connmark (2012)
- Форум Проблема с несколькими интерфейсами на шлюзе (2013)
- Форум Как маркировать пакеты? (2018)
- Форум Настройка распределения нагрузки через iptables+iproute чяднт? (2011)
- Форум После включения policy routing локальные адреса не доступны (2023)