Автор Тема: Проброс портов внутрь сети  (Прочитано 17963 раз)

Оффлайн speccyfan

  • Участник
  • *
  • Сообщений: 522
  • CCNA
    • speccyfan (Примеры различных конфигураций сетевых сервисов)
Re: iptables проброс порта во внутрь сети
« Ответ #15 : 02.06.2009 16:03:48 »
Как Вы думаете 82.209.206.133, что нибудь знает о 10.8.21.229?
Подозреваю что вашу схему не в этом месте нужно реализовыват...
Вот именно, что нифига не знает, а прописать что-то на удаленном сервере нифига не получится :(
т.е. как я понимаю придется отказаться от идеи.
With best regards, Yury Konovalov aka 2:453/53

Оффлайн Salomatin

  • Модератор раздела
  • ****
  • Сообщений: 984
    • Пошаговые инструкции
Re: iptables проброс порта во внутрь сети
« Ответ #16 : 03.06.2009 09:52:40 »
Есть сервер в сети Интернет который на определенном порту (например 222) предоставляет некий сервис.
Есть задача "вытянуть" этот порт на наш шлюз, что бы до него можно было достучаться из локалки, подключаясь к шлюзу изнутри, при этом не попадая в Инет.

т.е.
1. клиент подключается к нашему шлюзу на порт 222
2. шлюз перенаправляет пакет серверу в Интернет па порт 222
3. сервер отвечает шлюзу
4. шлюз перенаправляет ответ сервера клиенту

Вопрос, как это реализовать средствами iptables?




Мне кажется мы стучимся в открытую дверь.

Клиент 10.0.0.43  обращается по 222 потру на наш сервер 10.0.0.1
там строит правило:
iptables -t nat -A PREROUTING -d 10.0.0.1 -p tcp --destination-port 222 -j DNAT --to-destination 81.81.81.81
поэтому все запросы автоматом попадают на сервер  в инете 81.81.81.81
и будут возвращаться на  10.0.0.43
Все должно работать и все все знают друг о друге..
В чем проблема не понимаю.
 
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн speccyfan

  • Участник
  • *
  • Сообщений: 522
  • CCNA
    • speccyfan (Примеры различных конфигураций сетевых сервисов)
Re: iptables проброс порта во внутрь сети
« Ответ #17 : 03.06.2009 10:52:45 »
Клиент 10.0.0.43  обращается по 222 потру на наш сервер 10.0.0.1
там строит правило:
iptables -t nat -A PREROUTING -d 10.0.0.1 -p tcp --destination-port 222 -j DNAT --to-destination 81.81.81.81
поэтому все запросы автоматом попадают на сервер  в инете 81.81.81.81
и будут возвращаться на  10.0.0.43
Все должно работать и все все знают друг о друге..
В чем проблема не понимаю.
Как я понял - нет, запросы попадают на сервер в Инете, но (!) при DNAT не происходит маскарадинг, т.е. в Инет пакет уходит с серым адресом и сервер должен слать пакеты на ip клиента, а он о таком адресе нифига не знает. В случае же обратном, когда пробрасывается порт наружу , пакеты возвращаются через default gateway.
With best regards, Yury Konovalov aka 2:453/53

Оффлайн Salomatin

  • Модератор раздела
  • ****
  • Сообщений: 984
    • Пошаговые инструкции
Re: iptables проброс порта во внутрь сети
« Ответ #18 : 03.06.2009 13:20:37 »
Только что проверил.
Сижу за клиентом 10.0.0.99
Сервер локалки 10.0.0.254 имеет выход в инет.
Пишу правило:
[root@ ~]# iptables -t nat -A PREROUTING -d 10.0.0.254 -p tcp --destination-port 22 -j DNAT --to-destination 81.81.81.81
Захожу со своего клиента
ssh 10.0.0.254
попадаю и управляю удаленным сервером 81.81.81.81
Все работает и все друг друга видят. Никому я не объяснял, что захожу с 99 адреса. Пакеты возвращаются откуда отправлялись.

Если тупо пробросить всего один порт  и сервис через этот один порт работает, то факты упрямая вещь - правило работает.
Видимо для работы вашего сервиса просто пропросить только 222 порт недостаточно. Там еще устанавливаются tcp соединения, протокол связи сложнее и дело не в пробросе порта. Так, например, происходит с протоколом FTP, у которого пробросить только 21 порт недостаточно. 
« Последнее редактирование: 03.06.2009 13:23:46 от Salomatin »
Хочешь понять сам, объясни другому.
"Если уже все испробовал и ничего не помогает - почитай инструкцию"

Оффлайн Andrey

  • Участник
  • *
  • Сообщений: 734
Re: iptables проброс порта во внутрь сети
« Ответ #19 : 03.06.2009 13:29:25 »
Только что проверил.
Сижу за клиентом 10.0.0.99
Сервер локалки 10.0.0.254 имеет выход в инет.
Пишу правило:
[root@ ~]# iptables -t nat -A PREROUTING -d 10.0.0.254 -p tcp --destination-port 22 -j DNAT --to-destination 81.81.81.81
Захожу со своего клиента
ssh 10.0.0.254
попадаю и управляю удаленным сервером 81.81.81.81
Все работает и все друг друга видят. Никому я не объяснял, что захожу с 99 адреса. Пакеты возвращаются откуда отправлялись.

Если тупо пробросить всего один порт  и сервис через этот один порт работает, то факты упрямая вещь - правило работает.
Видимо для работы вашего сервиса просто пропросить только 222 порт недостаточно. Там еще устанавливаются tcp соединения, протокол связи сложнее и дело не в пробросе порта. Так, например, происходит с протоколом FTP, у которого пробросить только 21 порт недостаточно. 

Скорее всего Вы правы. Там либо маршрутизация хитрая какая-то или еще чего, иначе tcpdump показал другую картину.
traceroute 82.209.206.133
Так и не увидели.
А скажите с сервера
nmap -p 222 82.209.206.133
что покажет?

Оффлайн speccyfan

  • Участник
  • *
  • Сообщений: 522
  • CCNA
    • speccyfan (Примеры различных конфигураций сетевых сервисов)
Re: iptables проброс порта во внутрь сети
« Ответ #20 : 03.06.2009 13:40:40 »
В общем заработало, оказывается можно совмесно использовать маскарадинг и днат, вот тестировал:
правила такие:
-A POSTROUTING -j MASQUERADE
-A FORWARD -i eth0 -o ppp2 -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A PREROUTING -i eth0 -p tcp -m tcp --dport 1818 -j DNAT --to-destination 193.232.248.79:80
т.е. попадая на eth0 (локалка) на порт 1818, мы перебрасываемся на 193.232.248.79:80

Всем спасибо за ответы, буду дальше разбираться и допиливать правила.
« Последнее редактирование: 03.06.2009 13:44:19 от speccyfan »
With best regards, Yury Konovalov aka 2:453/53

Оффлайн speccyfan

  • Участник
  • *
  • Сообщений: 522
  • CCNA
    • speccyfan (Примеры различных конфигураций сетевых сервисов)
Re: iptables проброс порта во внутрь сети
« Ответ #21 : 03.06.2009 15:21:01 »
В общем окончательные правила получились такие:
-A POSTROUTING -s 10.10.10.10 -d 81.81.81.81 -o ppp2 -p tcp -m tcp --dport 222 -j MASQUERADE
-A PREROUTING -s 10.10.10.10 -i eth0 -p tcp -m tcp --dport 222 -j DNAT --to-destination 81.81.81.81:222
Тут мы сначала клинету 10.10.10.10 делаем маскарадинг, а потом уж порт форвард. Моя проблема заключалась в том, что я отключал маскарадинг.
With best regards, Yury Konovalov aka 2:453/53

Оффлайн bafink

  • Участник
  • *
  • Сообщений: 32
открытые порты
« Ответ #22 : 03.08.2010 21:57:04 »
Поставил свежую 5.0. Прверил www.2ip.ru на открытые порты. Получил один открытый порт. но какой почему то не пишет. Как опредилить какой порт открыт во внешний мир и как его закрыть. Единственный дистрибутив у которого открыты порты по дефолту, причем хвастается упором на безопасность.

Оффлайн Карлсон

  • Участник
  • *
  • Сообщений: 1 699
Re: открытые порты
« Ответ #23 : 03.08.2010 22:07:29 »
Как опредилить какой порт открыт во внешний мир

Возможно, как-то так:
netstat -l --tcp -n -p
man netstat еще поможет подобрать опции.

и как его закрыть.

А надо?

Единственный дистрибутив у которого открыты порты по дефолту, причем хвастается упором на безопасность.

Вы уверены, что это именно ваш порт? А не вашего провайдера?

Оффлайн bafink

  • Участник
  • *
  • Сообщений: 32
Re: открытые порты
« Ответ #24 : 03.08.2010 22:19:38 »
А надо?
открытый порт это неизвестная мне программа которая возможно мне ненужна, влияет на безопасность . лучше закрыть.

Вы уверены, что это именно ваш порт? А не вашего провайдера?
IP у меня реальный, он мой. На других осях открытых портов не было.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: открытые порты
« Ответ #25 : 03.08.2010 23:09:02 »
А какой номер порта открыт?

Оффлайн bafink

  • Участник
  • *
  • Сообщений: 32
Re: открытые порты
« Ответ #26 : 04.08.2010 17:11:07 »
Цитировать
А какой номер порта открыт?
Так сервис не показывает номер порта почему то, а netstat выдет кучу портов. Как определить нужный ?

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: открытые порты
« Ответ #27 : 04.08.2010 17:13:35 »
Я захожу по вашей ссылке, и первое, что у меня спрашивают - номер порта, который надо просканировать.

Оффлайн bafink

  • Участник
  • *
  • Сообщений: 32
Re: открытые порты
« Ответ #28 : 04.08.2010 17:37:08 »
Там есть ссылка  " безопасность вашего компьютера". проходишь по ней нажимаешь кнопку проверка и пошла работа.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 361
  • Учиться .... Телепатами не рождаются, ими ....
Re: открытые порты
« Ответ #29 : 04.08.2010 17:55:27 »
Попробуйте http://nmap-online.com/ - тут просто вызывается команда nmap с их сервера.