Author Topic: переадресация портов  (Read 16073 times)

zmd

  • Zen Warrior
  • ***
  • Posts: 240
  • Karma: +10/-2
    • View Profile
Re: переадресация портов
« Reply #15 on: March 19, 2012, 11:53:29 am »
Этот случай подробно разобран в http://www.opennet.ru/docs/RUS/iptables/#DNATTARGET пункт 6.5.2. Действие DNAT.
Я думаю, что разработчики могли бы и исправить модуль проброса портов для приведения к соответствию того что есть к тому как надо :)

GriefNorth

  • Zen Apprentice
  • *
  • Posts: 40
  • Karma: +1/-0
    • View Profile
Re: переадресация портов
« Reply #16 on: March 19, 2012, 12:29:17 pm »
То есть насколько я понимаю, данная пробелма решится внесением данных правил в брэндмауэр:
Code: [Select]
iptables -t nat -A PREROUTING --dst $INET_IP -p tcp --dport 80 -j DNAT \ --to-destination $HTTP_IP
iptables -t nat -A POSTROUTING -p tcp --dst $HTTP_IP --dport 80 -j SNAT \ --to-source $LAN_IP
iptables -t nat -A OUTPUT --dst $INET_IP -p tcp --dport 80 -j DNAT \ --to-destination $HTTP_IP
где $INET_IP - внешний адрес
      $HTTP_IP - локальный адрес веб-сервера
      $LAN_IP - локальный адрес зентала ???

zmd

  • Zen Warrior
  • ***
  • Posts: 240
  • Karma: +10/-2
    • View Profile
Re: переадресация портов
« Reply #17 on: March 19, 2012, 01:12:59 pm »
Проверил в случае с Зентиалом так не выйдет (перезапуск службы все правила затирает раз, логика правил немного другая - работает со своими объектами и цепочками это два).

Проблему решил следующим способом - добавил еще одно правило проброса порта теперь входящий интерфейс "внутренний"
назначение "ип внешний"
протокол "тср"
порт "куда нужно"
источник "поставил любой можно создать сетевой объект включающий определенные нужные ИП"
ну и основное что необходимо "заменить ип"

Ну как то так. :)
« Last Edit: March 19, 2012, 01:18:22 pm by zmd »

GriefNorth

  • Zen Apprentice
  • *
  • Posts: 40
  • Karma: +1/-0
    • View Profile
Re: переадресация портов
« Reply #18 on: March 19, 2012, 01:21:21 pm »
Спасибо, завтра опробую, так думаю и с почтой тоже самое делать по 25 и 110 порту?

zmd

  • Zen Warrior
  • ***
  • Posts: 240
  • Karma: +10/-2
    • View Profile
Re: переадресация портов
« Reply #19 on: March 19, 2012, 01:29:00 pm »
Каждый порт по отдельности разумеется. Единственно рекомендовал бы использовать порты с шифрованием 995 и 465

rkislov

  • Zen Apprentice
  • *
  • Posts: 12
  • Karma: +0/-0
    • View Profile
Re: переадресация портов
« Reply #20 on: March 19, 2012, 02:38:22 pm »
спасибо zmd всё отлично работает +1

mravil

  • Zen Samurai
  • ****
  • Posts: 410
  • Karma: +27/-4
  • В чужую сеть со своим протоколом не лезь!
    • View Profile
Re: переадресация портов
« Reply #21 on: March 20, 2012, 04:36:34 am »
Так давайте поподробней. Хочу получить ответ на 2 вопроса:
0) Зентал сразу смотрит в интернет или стоит после роутера? Если после роутер, то как реализован доступ извне к зенталу - портмап или прописана демилитаризованная зона?
Зентал сразу смотрит в инет, ip статический.

1) Как обращаетесь к серверу - по доменному имени или по ip?
и по доменному имени и по ip, если в первом случае то открывается веб-сервер стоящий на зентале, если по второму, то сквид выдает ошибку насколько я помню, связанную с ожиданием запроса.
В оутлуке если ввожу локальный ip почтового сервера, то пароль не просится, если же доменное имя то требует пароль и после его введения все равно возвращает ошибку подключения

Сквид ругается, потому-что в списках исключений нет адреса твоей локальной сети. Что значит "пароль не просится" - не авторизуется или пропускает без авторизации?

rubic

  • Zen Monk
  • **
  • Posts: 86
  • Karma: +12/-1
    • View Profile
Re: переадресация портов
« Reply #22 on: March 20, 2012, 06:08:08 am »
NAT reflection Судя по всему, так и не реализовали эту фичу. На месте страждущих я бы все же не занимался извратом, пробрасывая порты через роутер между компами находящимися в одном broadcast domain. Как уже было замечено, достаточно просто настроить внутренний DNS сервер так, чтобы он по запросу к доменному имени сервера выдавал локальный IP.

GriefNorth

  • Zen Apprentice
  • *
  • Posts: 40
  • Karma: +1/-0
    • View Profile
Re: переадресация портов
« Reply #23 on: March 20, 2012, 09:31:49 am »
Сквид ругается, потому-что в списках исключений нет адреса твоей локальной сети. Что значит "пароль не просится" - не авторизуется или пропускает без авторизации?
Сквид работает без каких либо запрещений (пока!). С почтой вопрос отпал, все заработало, а вот при открытии сайта выдается след.
Connection to xx.xx.xx.xx failed
The system returned (111) Connection refused
« Last Edit: March 20, 2012, 10:13:53 am by GriefNorth »

zmd

  • Zen Warrior
  • ***
  • Posts: 240
  • Karma: +10/-2
    • View Profile
Re: переадресация портов
« Reply #24 on: March 20, 2012, 11:31:15 am »
Сквид ругается, потому-что в списках исключений нет адреса твоей локальной сети. Что значит "пароль не просится" - не авторизуется или пропускает без авторизации?
Сквид работает без каких либо запрещений (пока!). С почтой вопрос отпал, все заработало, а вот при открытии сайта выдается след.
Connection to xx.xx.xx.xx failed
The system returned (111) Connection refused

Мне кажется, что проблема в том что на роутере что-то занимает 80 порт (ну или какой используете). Просто нужно их развести на разные порты. Для того чтобы понять что происходит дайте больше информации о структуре сети.

GriefNorth

  • Zen Apprentice
  • *
  • Posts: 40
  • Karma: +1/-0
    • View Profile
Re: переадресация портов
« Reply #25 on: March 20, 2012, 11:51:05 am »
Мне кажется, что проблема в том что на роутере что-то занимает 80 порт (ну или какой используете). Просто нужно их развести на разные порты. Для того чтобы понять что происходит дайте больше информации о структуре сети.
На роутере это на Зентале? А структура такая WAN(оптика от провайдера)-->Zentyal, на выходе имеем два интерфейса eth1 192,168,1,0/24 и eth2 192,168,2,0/24
В 192,168,1,0/24 находится почтовый сервер и веб-сервер,на одной машине, фронтендом стоит nginx который, не знаю правильно не правильно выражусь, распределяет запросы http://domen.ru на 80 порт апача и http://mail.domen.ru на 81 порт веб-морды почтовика.
Если не достаточно, то скажите что еще указать? На самом Зентале веб-сервер не запущен не установлен и не запущен, акромя стандартного.

zmd

  • Zen Warrior
  • ***
  • Posts: 240
  • Karma: +10/-2
    • View Profile
Re: переадресация портов
« Reply #26 on: March 20, 2012, 12:09:33 pm »
Мне кажется, что проблема в том что на роутере что-то занимает 80 порт (ну или какой используете). Просто нужно их развести на разные порты. Для того чтобы понять что происходит дайте больше информации о структуре сети.
На роутере это на Зентале? А структура такая WAN(оптика от провайдера)-->Zentyal, на выходе имеем два интерфейса eth1 192,168,1,0/24 и eth2 192,168,2,0/24
В 192,168,1,0/24 находится почтовый сервер и веб-сервер,на одной машине, фронтендом стоит nginx который, не знаю правильно не правильно выражусь, распределяет запросы http://domen.ru на 80 порт апача и http://mail.domen.ru на 81 порт веб-морды почтовика.
Если не достаточно, то скажите что еще указать? На самом Зентале веб-сервер не запущен не установлен и не запущен, акромя стандартного.

То есть, зентиал используется как фаервол. У него допустим ИП 192,168,0,1. Внутри сети стоит веб+почта допустим 192,168,0,2. Вопрос я так понял как пробросить порты снаружи и внутри сети "по доменному имени". Снаружи пробрасываем порты как обычно. Изнутри на каждый порт согласно инструкции написанной выше.
Или еще вариант сделать записи во внутреннем ДНС где domen.ru и mail.domen.ru указать один и тот же внутренний ИП.

Как то так.
« Last Edit: March 20, 2012, 12:35:38 pm by zmd »

GriefNorth

  • Zen Apprentice
  • *
  • Posts: 40
  • Karma: +1/-0
    • View Profile
Re: переадресация портов
« Reply #27 on: March 20, 2012, 12:25:22 pm »
То есть, зентиал используется как фаервол. У него допустим ИП 192,168,0,1. Внутри сети стоит веб+почта допустим 192,168,0,2. Вопрос я так понял как пробросить порты снаружи и внутри сети. Снаружи пробрасываем порты как обычно. Изнутри на каждый порт согласно инструкции написанной выше. 
Как то так.
Ага зентал используется как фаервол. Порты пробросил, снаружи сайт открывается, изнутри нет.
Прикреплю файл с iptables-save там 1,56 и 2,56 это локальные адреса зентала, 1,253 это как раз почтовик и веб.

zmd

  • Zen Warrior
  • ***
  • Posts: 240
  • Karma: +10/-2
    • View Profile
Re: переадресация портов
« Reply #28 on: March 20, 2012, 01:11:36 pm »
То есть, зентиал используется как фаервол. У него допустим ИП 192,168,0,1. Внутри сети стоит веб+почта допустим 192,168,0,2. Вопрос я так понял как пробросить порты снаружи и внутри сети. Снаружи пробрасываем порты как обычно. Изнутри на каждый порт согласно инструкции написанной выше. 
Как то так.
Ага зентал используется как фаервол. Порты пробросил, снаружи сайт открывается, изнутри нет.
Прикреплю файл с iptables-save там 1,56 и 2,56 это локальные адреса зентала, 1,253 это как раз почтовик и веб.
Досмотрел в правилах -A PREROUTING -d xx.xx.xx.xx/32 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.253
Это я так понял то правило ?
Проверь стоит ли галочка заменить ИП в правиле.
И не совсем по теме: обрати внимание на множество записей -A POSTROUTING -d 192.168.1.253/32 -j SNAT --to-source 192.168.1.56. Мне кажется что такое количество однотипных записей не нужно
« Last Edit: March 20, 2012, 01:26:50 pm by zmd »

GriefNorth

  • Zen Apprentice
  • *
  • Posts: 40
  • Karma: +1/-0
    • View Profile
Re: переадресация портов
« Reply #29 on: March 20, 2012, 01:33:26 pm »
Во вложении исправленные правила, вносил до этого точно так же через веб-интерфейс. Думаю понятно что хх.хх.хх.хх это внешний IP. Может правда проблема в сквиде?
« Last Edit: March 20, 2012, 01:37:44 pm by GriefNorth »