The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  вход/выход  слежка  RSS
"iptables проброс порта на другой ип и порт"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Информационная безопасность (Linux iptables, ipchains / Linux)
Изначальное сообщение [ Отслеживать ]

"iptables проброс порта на другой ип и порт"  +/
Сообщение от _KUL (ok) on 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 кб принял и застопорился, потом таймаут.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "iptables проброс порта на другой ип и порт"  +/
Сообщение от reader (ok) on 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 и смотрите что происходит


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "iptables проброс порта на другой ип и порт"  +/
Сообщение от KUL on 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 вернуть и отдать их просящему.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "iptables проброс порта на другой ип и порт"  +/
Сообщение от KUL on 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) порт модема виден :). Так всё просто оказалось. Спасибо большое!!!

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "iptables проброс порта на другой ип и порт"  +/
Сообщение от Oleg (??) on 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: а как можно картинку в сообщение добавить, чтобы понятней было?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "iptables проброс порта на другой ип и порт"  +/
Сообщение от DeGreeZ (ok) on 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

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

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру