[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: проброс порта и доступ к проброшенному порту по внешнему адресу шлюза из локальной сети



On 05.09.2013 16:49, Artem Chuprina wrote:
Владимир Скубриев -> Debian-russian@lists.debian.org  @ Thu, 05 Sep 2013 15:41:31 +0400:

  ВС> Как правильно пробросить порт для доступа к проброшенному порту по внешнему
  ВС> адресу шлюза из локальной сети.

  ВС> есть такое правило в фаерволе у меня

  ВС>         iptables -A INPUT -d $INETIP -p TCP --dport 6480 -j ACCEPT
  ВС>         iptables -t nat -A PREROUTING -d $INETIP -p TCP --dport 6480 -j
  ВС> DNAT --to-destination $EARTHVM:80
  ВС>         iptables -t nat -A POSTROUTING -d $EARTHVM -p TCP --dport 80 -j
  ВС> SNAT --to-source $LANIP

  ВС> из вне, т.е. например с других мест работает проброс всегда работает

  ВС> но если из локальной сети(где стоит этот шлюз) пытаться зайти на внешний адрес
  ВС> INETIP и порт 6480, то я не могу достучаться до веб сервера.

  ВС> причем что интересно, если на шлюзе запустить tpdump то в локальной сети с
  ВС> клиентов все начинает работать.

  ВС> в чем подвох ?

С виду все правильно.  Ну, по классике, не хватает, конечно, правила для
nat в цепочку OUTPUT, но оно влияет только на попытки зайти туда с
самого шлюза, на клиентов из локальной сети не влияет.
А что это за правило ? Можно пример

Вообще диагностика "если запустить tcpdump" заставляет заподозрить
глючный драйвер сетевки, шибко умный свитч, либо их взаимодействие.  В
смысле, если результат в этой ситуации зависит от того, в promiscuous
mode стоит сетевка или нет, то вопрос в том, что обратные, вероятно,
пакеты то ли не доходят до сетевки шлюза, то ли не воспринимаются ею как
адресованные ей.

При одном "если".  Если последнее правило не содержит ошибок и успешно
срабатывает для клиентов из локальной сети (в смысле, ничем не
перебивается, поскольку само оно никаких отсылок к локалке не содержит).
С виду не содержит, а вот как на самом деле, во взаимодействии с
остальными правилами...  Впрочем, "во взаимодействии" актуально для всех
трех правил и для маршрутизации вообще.

Попробуй еще запустить tcpdump с -p и посмотреть, что будет.



1.68 - это клиент ЛВС, который обращается к внешнему IP сервера

запустил с -p (т.е. без не разборчевого режима сетевой) ни чего не ходит, т.е. правило

tcpdump -p -i br-eth0 'src port 80 and dst 192.168.1.68'

ни чего не показывает

без -p все работает и tcpdump видит пакеты от приходящие к серверу.

по ходу надо сетевуху сменить и проверить, хотя там встроенная realtek 1Gbps

--
С Уважением,
специалист по техническому и программному обеспечению,
системный администратор

Скубриев Владимир
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Россия, Ростовская область, г. Таганрог

тел. моб: +7 (918) 504 38 20
skype: v.skubriev
icq: 214-800-502
www: skubriev.ru


Reply to: