URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 4814
[ Назад ]

Исходное сообщение
"iptables проброс порта на другой ип и порт"

Отправлено _KUL , 24-Мрт-11 15:50 
Дано:
Сеть, локальная, с /22 маской.
Сервер 192.168.0.107 (1 интерфейс!)
Роутер 192.168.0.10 (проброшен входящий порт 89 с роутера на 89 порт сервера 192.168.0.107 средствами веб морды роутера)

Нужно:
Взять пакет с 192.168.0.107:89 отправить его на 192.168.0.10:80
Взять пакет с 192.168.0.10:80 отправить его на 192.168.0.107:89

Т.е. по простому нужно введя интернетовский ип модема и порт 89 увидеть морду модема так, как видно её из локалки по 192.168.0.10:80

Делаю так:
iptables -t nat -A PREROUTING -d 192.168.0.107 -p tcp --dport 89 -j DNAT --to-destination 192.168.0.10:80
iptables -t nat -A POSTROUTING -d 192.168.0.10 -p tcp --dport 80 -j SNAT --to-source 192.168.0.107:89

Захожу по интернетовский_ип:89 и морда начинает грузиться, но потом ступор ... Примерно 18-20кб успевает передать. И всё, потом таймаут соединения ... Нажимаю обновить, опять таймаут соединения. Через 2 минуты пробую, снова 20 кб принял и застопорился, потом таймаут.


Содержание

Сообщения в этом обсуждении
"iptables проброс порта на другой ип и порт"
Отправлено reader , 24-Мрт-11 17:15 
>[оверквотинг удален]
> морду модема так, как видно её из локалки по 192.168.0.10:80
> Делаю так:
> iptables -t nat -A PREROUTING -d 192.168.0.107 -p tcp --dport 89 -j
> DNAT --to-destination 192.168.0.10:80
> iptables -t nat -A POSTROUTING -d 192.168.0.10 -p tcp --dport 80 -j
> SNAT --to-source 192.168.0.107:89
> Захожу по интернетовский_ип:89 и морда начинает грузиться, но потом ступор ... Примерно
> 18-20кб успевает передать. И всё, потом таймаут соединения ... Нажимаю обновить,
> опять таймаут соединения. Через 2 минуты пробую, снова 20 кб принял
> и застопорился, потом таймаут.

echo 1 > /proc/sys/net/ipv4/ip_forward
в --to-source 192.168.0.107:89 уберите :89
запустите tcpdump на 192.168.0.107 и смотрите что происходит



"iptables проброс порта на другой ип и порт"
Отправлено KUL , 25-Мрт-11 02:25 
> echo 1 > /proc/sys/net/ipv4/ip_forward
> в --to-source 192.168.0.107:89 уберите :89
> запустите tcpdump на 192.168.0.107 и смотрите что происходит

Если я 89 порт уберу, ведь тогда я потеряю веб сервера. Т.е. если сделать так:

iptables -t nat -A POSTROUTING -d 192.168.0.10 -p tcp --dport 80 -j SNAT --to-source 192.168.0.107
iptables -t nat -A PREROUTING -d 192.168.0.107 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.10

То да, заходя по внешнему ип:80 я вижу морду модема, НО! У меня 80й порт проброшен на веб сервера (сайт стоит), который находится в локальной сети, собственно через него же и нужно, посредством внешнего 89 порта зайти на 80 порт модема, и опять же пакеты на 89 вернуть и отдать их просящему.


"iptables проброс порта на другой ип и порт"
Отправлено KUL , 25-Мрт-11 02:30 
> в --to-source 192.168.0.107:89 уберите :89

Ой ... Вы наверно имели ввиду сделать так: reader

iptables -t nat -A PREROUTING -d 192.168.0.107 -p tcp --dport 89 -j DNAT --to-destination 192.168.0.10:80
iptables -t nat -A POSTROUTING -d 192.168.0.10 -p tcp --dport 80 -j SNAT --to-source 192.168.0.107

reader, большое вам человеческое спасибо! :) Всё получилось, и 80 порт виден сервера и 80 (через 89) порт модема виден :). Так всё просто оказалось. Спасибо большое!!!


"iptables проброс порта на другой ип и порт"
Отправлено Oleg , 07-Окт-15 10:10 
Всем добрый день!
Подскажите пожалуйста как мне реализовать мою схемку.
ПК 1 получает ИП c роутера который в свою очередь имеет доступ (ping, telnet) к 11.22.33.11
11.22.33.11 - наш удаленный офис к которому у меня нет прямого доступа.
ПК2 - со стат адресом только для того чтобы иметь связь с ПК1, имеет выход в инет через модем
Оба пк - дебиан
нужно на компе пк1 192.168.1.175 средствами iptables пробросить порт 11.22.33.11:1234 на самого себя на порт, например - 2345, для того что бы с компа пк2 192.168.1.160 я мог подконектится через ssh или телнет на 192.168.1.175:2345 и соответственно отправлять/принимать "пакетики" на/с 11.22.33.11:1234

PS: а как можно картинку в сообщение добавить, чтобы понятней было?


"iptables проброс порта на другой ип и порт"
Отправлено DeGreeZ , 02-Сен-16 09:44 
Всем здравствуйте.

Гуру, помогите пожалуйста разобраться.
Есть шлюз на Ubuntu Server. Настоен iptables.

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

#Пробросить порт на комп
iptables -t nat -A PREROUTING -p TCP -d $INET_IP --dport 4999 -j DNAT --to-destination $LOCAL_MACHINEIP:4999

Все прекрасно работает. Но есть нюанс. Хочется, чтобы адрес внешней машины при подключении подменялся на внутренний адрес шлюза.

НАТ для локалки в интернет включен

##NAT
#Включить NAT для локалки
iptables -t nat -A POSTROUTING -s $LOCAL_NET -o $INET_IF -j SNAT --to-source $INET_IP

Помогите. Заранее спасибо.