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


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

Автор Тема: Порт мапинг и два аплинка - проблема  (Прочитано 895 раз)

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

Оффлайн Vengant

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
  • RA1AIE
    • Просмотр профиля
    • Радиолюбители Санкт-Петербурга
Есть сервак с Ubuntu-Server 9.04. На нем два аплинка (eth1, eth2) с двумя внешними IP. Один из них (eth1) дефолт гейтвей. В таблице маршрутизации прописано через ip route, что ответ на пакеты, пришедшие на eth2, должны идти через eth2, а не через дефолт гейтвей на eth1. Таким образом, из инета доступны оба внешних IP. Все работает, оба внешника доступны.

Далее имеем в iptables port mapping в локалку, разрешенный для обоих аплинк интерфейсов. Но работает это только на eth1. Если прописать ручками через route add, что для IP, с которого мы обращаемся к серваку, шлюзом является eth2, то мапинг будет работать на нем, а на eth1 - не работает. Если назначить дефолт гейтвей на eth2, то на нем все мапится, а на eth1 - нет. То есть для обоих внешников доступны только порты, открытые процессами, выполняющимися на самом серваке, а те порты, что мапятся в локалку - только на интерфейсе с дефолт гейтвей или же для тех IP, что прописаны в route для второго аплинка.

Как настроен мапинг в iptables:

-A INPUT -p tcp -m tcp --dport 3389 -j ACCEPT

-A FORWARD -d 192.168.0.2 -i eth1  -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -d 192.168.0.2 -i eth2  -p tcp -m tcp --dport 3389 -j ACCEPT

-A PREROUTING -d x.x.x.x -i eth1 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2:3389
-A PREROUTING -d y.y.y.y -i eth2 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.2:3389

-A POSTROUTING -d 192.168.0.2 -p tcp -m tcp --dport 3389 -j SNAT --to-source 192.168.0.1

Здесь eth1, eth2 - аплинки,  x.x.x.x, y.y.y.y - внешние IP, 192.168.0.1 - локальный IP сервака, 192.168.0.2 - хост, куда мапится порт.

Подскажите, где тут грабли?
« Последнее редактирование: 23 Февраля 2010, 13:22:03 от Vengant »

Гарри Кашпировский

  • Гость
Re: Порт мапинг и два аплинка - проблема
« Ответ #1 : 23 Февраля 2010, 15:29:08 »
Хм, а разве в SNAT'е не должен присутствовать внешний IP? Поскольку их два, есть мнение, что логичнее использовать маскарадинг.

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: Порт мапинг и два аплинка - проблема
« Ответ #2 : 23 Февраля 2010, 17:06:47 »
-A POSTROUTING -d 192.168.0.2 -p tcp -m tcp --dport 3389 -j SNAT --to-source 192.168.0.1
SNAT в локалку - лишнее. Но делу не вредит. Интереснее было бы взглянуть на полную картину iptables-save а не на выдержки.

 

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