Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Публикация сервера и два провайдера  (Прочитано 448 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн a.guzhin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Имеется следующая конфигурация:
Терминальный сервер (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

Пакеты маркируются, но почему-то не срабатывает правило, как его проверить?
« Последнее редактирование: 28 Октября 2015, 14:46:44 от a.guzhin »

 

Страница сгенерирована за 0.016 секунд. Запросов: 22.