Re: проброс порта и доступ к проброшенному порту по внешнему адресу шлюза из локальной сети
Владимир Скубриев -> 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 и посмотреть, что будет.
ВС> При чем аналогичное правило используется для проброса с 80 на 80 порт другого
ВС> веб сервера и с ним все работает из локальной сети.
ВС> # WWW
ВС> iptables -A INPUT -d $INETIP -p TCP --dport 80 -j ACCEPT
ВС> iptables -t nat -A PREROUTING -d $INETIP -p TCP --dport 80 -j
ВС> DNAT --to-destination $WWW:80
ВС> iptables -t nat -A POSTROUTING -d $WWW -p TCP --dport 80 -j
ВС> SNAT --to-source $LANIP
ВС> Спасибо!
ВС> --
ВС> С Уважением,
ВС> специалист по техническому и программному обеспечению,
ВС> системный администратор
ВС> Скубриев Владимир
ВС> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ВС> Россия, Ростовская область, г. Таганрог
ВС> тел. моб: +7 (918) 504 38 20
ВС> skype: v.skubriev
ВС> icq: 214-800-502
ВС> www: skubriev.ru
ВС> --
ВС> To UNSUBSCRIBE, email to debian-russian-REQUEST@lists.debian.org
ВС> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
ВС> Archive: [🔎] 52286DEB.5030209@skubriev.ru">http://lists.debian.org/[🔎] 52286DEB.5030209@skubriev.ru
Reply to: