Имеется следующая конфигурация:
Терминальный сервер (1.1.1.1), подключенный через маршрутизатор (1.1.1.254), в качестве которого выступает Ubuntu 12.04. На терминальный сервер настроен проброс RDP порта.
Сервер имеет два интерфейса, смотрящих наружу: eth1 eth3, при этом eth3 подключен не напрямую, а через аппаратный маршрутизатор (Router).
Задача - обеспечить доступ к терминальному серверу через обоих провайдеров.
Схема:
--- 192.168.1.1 --- 192.168.1.254 (Router) --- ISP1
| (eth3)
1.1.1.1 --- 1.1.1.254 (Ubuntu Srv)
(eth0) |
--- 90.90.90.2 ----------------- (90.90.90.1) ISP2
(eth1)
ip r l
ip r l
default
nexthop via 90.90.90.1 dev eth1 weight 9
nexthop via 192.168.1.254 dev eth3 weight 1
1.1.1.0/24 dev eth0 proto kernel scope link src 1.1.1.254
90.90.90.0/24 dev eth1 proto kernel scope link src 90.90.90.2
192.168.7.0/24 dev eth3 proto kernel scope link src 192.168.7.1
/etc/iproute2/rt_tables
100 ISP2
200 ISP1
ip ru
1100: from all fwmark 0x1/0x1 lookup ISP2
1200: from all fwmark 0x2/0x2 lookup ISP1
ip route show table ISP2
default via 90.90.90.1 dev eth1
ip route show table ISP1
default via 192.168.1.254 dev eth3
Правила iptables
iptables -t nat -A PREROUTING -p tcp -d 90.90.90.2 --dport 3389 -j DNAT --to-destination 1.1.1.1:3389
iptables -A FORWARD -j ACCEPT
iptables -t mangle -A PREROUTING -i eth1 -j CONNMARK --set-mark 0x1
iptables -t mangle -A PREROUTING -i eth3 -j CONNMARK --set-mark 0x2
iptables -t mangle -A POSTROUTING -j CONNMARK --restore-mark
При попытке доступа к терминальному серверу через ISP1 исходящие пакеты уходят через ISP2.
В чем может быть проблема, куда копать?
Пользователь решил продолжить мысль 28 Октября 2015, 14:46:44:
conntrack показывает следующее:
При доступе из ISP2:
ESTABLISHED src=XXX.XXX.XXX.XXX dst=90.90.90.2 sport=5491 dport=3389 src=1.1.1.1 dst=XXX.XXX.XXX.XXX sport=3389 dport=5491 [ASSURED] mark=1 use=1
При доступе из ISP1:
SYN_RECV src=XXX.XXX.XXX.XXX dst=1.1.1.1 sport=5481 dport=3389 src=1.1.1.1 dst=XXX.XXX.XXX.XXX sport=3389 dport=5481 mark=2 use=1
Пакеты маркируются, но почему-то не срабатывает правило, как его проверить?