Ищу скрипт для открытия портов

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модератор: SLEDopit

Ответить
jooe008
Сообщения: 79

Ищу скрипт для открытия портов

Сообщение jooe008 »

Ищу скрипт для открытия портов. Не знаю даже как правильно называется и вообще есть ли в природе.
Нужно на компе с торрент клиентом и еще кое какими службами сделать так чтоб комп при подключении к АДСЛ модему посредством DHCP
держал открытыми нужные мне порты на выданный ему IP адрес. По определенным причинам поставить статический IP адрес нельзя.
Слышал ли кто нибудь про такое?
Спасибо сказали:
Аватара пользователя
*Sasha*
Сообщения: 2519
Статус: Мимо шёл
ОС: Debian

Re: Ищу скрипт для открытия портов

Сообщение *Sasha* »

Так а в чём собственно проблема, в iptbles открывайте закрывайте как хотите.
Спасибо сказали:
DSS
Сообщения: 390

Re: Ищу скрипт для открытия портов

Сообщение DSS »

jooe008 писал(а):
04.04.2009 01:29
Нужно на компе с торрент клиентом и еще кое какими службами сделать так чтоб комп при подключении к АДСЛ модему посредством DHCP
держал открытыми нужные мне порты на выданный ему IP адрес. По определенным причинам поставить статический IP адрес нельзя.
Слышал ли кто нибудь про такое?

iptables
цепочка INPUT
статический или динамический адрес - никакой роли не играет.
Правда, как модем будет определять на какой адрес форвардить порты в случае раздачи по DHCP мне непонятно.
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian
Контактная информация:

Re: Ищу скрипт для открытия портов

Сообщение Frank »

jooe008 писал(а):
04.04.2009 01:29
Ищу скрипт для открытия портов. Не знаю даже как правильно называется и вообще есть ли в природе.
Нужно на компе с торрент клиентом и еще кое какими службами сделать так чтоб комп при подключении к АДСЛ модему посредством DHCP
держал открытыми нужные мне порты на выданный ему IP адрес. По определенным причинам поставить статический IP адрес нельзя.
Слышал ли кто нибудь про такое?

Какая-то каша у вас в голове.
DHCP - служба предоставления автоматической конфигурации параметров сети, в частности, при загрузке, операционная система с dhcp клиентом может получить ip адрес, маску, шлюз по умолчанию, DNS сервера и прочее.
А порты открывают программы, которые эти порты слушать будут. Просто так порт не может быть открыт, если его никто не слушает. При этом программа может слушать, разумеется, только те ip адреса, которые ей (системе) доступны.
Ну и наконец, по умолчанию в подавляющем большинстве линукс дистрибутивов, нет никаких запретов на открытие портов (кроме портов с номером меньше 1000 - они могут быть открыты только с полномочиями root).

Если я правильно телепатизирую, то вам нужно взять в руки руководство по эксплуатации вашего модема и прочитать, как делается у него переадресация портов с внешнего интерфейса на внутренний сетевой адрес.
Изображение
Спасибо сказали:
Аватара пользователя
Ленивая Бестолочь
Бывший модератор
Сообщения: 2760
ОС: Debian; gentoo

Re: Ищу скрипт для открытия портов

Сообщение Ленивая Бестолочь »

iУведомление от модератора
переезжаем в "администрирование для начинающих"
Солнце садилось в море, а люди с неоконченным высшим образованием выбегали оттуда, думая, что море закипит.
Спасибо сказали:
jooe008
Сообщения: 79

Re: Ищу скрипт для открытия портов

Сообщение jooe008 »

Наверно вы меня не правильно поняли или скорее я неправильно выразился.
Имеется ADSL модем-рутер в котором по умолчанию не открыт ни один порт.
В модеме включен DHCP сервер, на компе клиент, короче говоря IP адрес динамический.
На компе запущен SSH VNC server и Azureus. Нужно чтоб при каждом подключении компа,
на IP адрес который ему выдаст модем, автоматически открывались нужные мне порты.


DSS писал(а):
04.04.2009 09:05
iptables
цепочка INPUT
статический или динамический адрес - никакой роли не играет.
Правда, как модем будет определять на какой адрес форвардить порты в случае раздачи по DHCP мне непонятно.

Вот именно эту проблему мне и надо решить ;)
Frank писал(а):
04.04.2009 11:14
Какая-то каша у вас в голове.
DHCP - служба предоставления автоматической конфигурации параметров сети, в частности, при загрузке, операционная система с dhcp клиентом может получить ip адрес, маску, шлюз по умолчанию, DNS сервера и прочее.
А порты открывают программы, которые эти порты слушать будут. Просто так порт не может быть открыт, если его никто не слушает. При этом программа может слушать, разумеется, только те ip адреса, которые ей (системе) доступны.
Ну и наконец, по умолчанию в подавляющем большинстве линукс дистрибутивов, нет никаких запретов на открытие портов (кроме портов с номером меньше 1000 - они могут быть открыты только с полномочиями root).

Если я правильно телепатизирую, то вам нужно взять в руки руководство по эксплуатации вашего модема и прочитать, как делается у него переадресация портов с внешнего интерфейса на внутренний сетевой адрес.

Каши у меня в голове нет, и я в курсе как работает DHCP, и как делать переадресацию портов на всех модемах которые мне попадали в руки я
прекрасно знаю. Читайте выше, надо чтоб система открывала нужные мне порты на выдаваемый ей модемом IP адрес.
mancubus писал(а):
05.04.2009 11:56
upnpd+iptables

Помоему это то что мне нужно, убег изучать. :)
Спасибо сказали:
jooe008
Сообщения: 79

Re: Ищу скрипт для открытия портов

Сообщение jooe008 »

В общем полазив немного по инету нарыл кое что, под линь есть библиотека такая upnplib,
которая и делает то что мне нужно.
Теперь как мне ее привинтить к тем прогам что мне надо?

http://en.wikipedia.org/wiki/NAT_Port_Mapping_Protocol

http://www.sbbi.net/site/upnp/index.html
Спасибо сказали:
KDimanB
Сообщения: 143
ОС: Debian (squeeze), Slax LiveCD
Контактная информация:

Re: Ищу скрипт для открытия портов

Сообщение KDimanB »

jooe008 писал(а):
06.04.2009 01:33
В общем полазив немного по инету нарыл кое что, под линь есть библиотека такая upnplib,
которая и делает то что мне нужно.
Теперь как мне ее привинтить к тем прогам что мне надо?

А зачем библиотеку? Просто открыть порты можно через iptables. Например так:
iptables -I INPUT -i ppp0 -p tcp --dport 4567 -j ACCEPT

пропускает все входящие пакеты, пришедшие через интерфейс ppp0 на tcp-порт 4567. Ну и т.д. по аналогии.
Это имелось в виду? :)
Спасибо сказали:
jooe008
Сообщения: 79

Re: Ищу скрипт для открытия портов

Сообщение jooe008 »

Это но не совсем. Вот тут у меня небольшой пробел в теории :unsure: Приходит пакет на внешний адрес модема-рутера на определенный порт,
в модеме переадресация не задана. Что произойдет с пакетом, модем отбросит его или перенаправит на широковещательный адрес?
http://forum.utorrent.com/viewtopic.php?id=587
Вот тут нашел то что мне надо но под винду, zootella называется.
Тепер надо тоже самое под линукс.
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)
Контактная информация:

Re: Ищу скрипт для открытия портов

Сообщение danger08 »

jooe008 писал(а):
06.04.2009 12:10
Это но не совсем. Вот тут у меня небольшой пробел в теории :unsure: Приходит пакет на внешний адрес модема-рутера на определенный порт,
в модеме переадресация не задана. Что произойдет с пакетом, модем отбросит его или перенаправит на широковещательный адрес?

Отбросит, так как не знает, что с ним делать.
Про идею переброса на широковещательный - сразу выбросьте это из головы :rolleyes:

jooe008 писал(а):
06.04.2009 12:10
http://forum.utorrent.com/viewtopic.php?id=587
Вот тут нашел то что мне надо но под винду, zootella называется.
Тепер надо тоже самое под линукс.

В вашем случае, проще всего назначить вашему компу статический адрес (или dhcp static lease на модеме), и на модеме перебрасывать DNAT-ом входящие соединения на IP вашего компа (который заранее известен).
Блогосайт - http://www.fateyev.com
Спасибо сказали:
KDimanB
Сообщения: 143
ОС: Debian (squeeze), Slax LiveCD
Контактная информация:

Re: Ищу скрипт для открытия портов

Сообщение KDimanB »

Кстати, блин, сейчас пошел настраивать свой скрипт-firewall и запутался нафиг :)

В общем допустим есть сервер. На нем стоят web, mail, ftp, ssh, telnet и еще-чего-нибудь-там...
НО! Допустим надо firewall'ом сделать из него обычную рабочую машинку - закрыть доступ ко всем службам, но оставить возможность общения с инетом.

Значит выглядят правила просто (без настройки lo-интерфейса):

Код: Выделить всё

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT ACCEPT


Но при таком раскладе даже в инет не выйти с сервера, ведь все INPUT -> DROP.
Вопрос - какую строку надо добавить, чтобы можно было, к примеру просматривать сайты, выходить в Асю, читать почту?
Проще говоря - какие настройки firewall'a стоят у типичной офисной машинки?

Я так понимаю надо открывать все tcp-порты свыше 1024:

Код: Выделить всё

iptables -A INPUT -p tcp -dport 1024:65535 -j ACCEPT

но это ж опять - дыра в безопасности образуется - или я не прав?
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)
Контактная информация:

Re: Ищу скрипт для открытия портов

Сообщение danger08 »

Diman писал(а):
06.04.2009 14:46
Я так понимаю надо открывать все tcp-порты свыше 1024:

Код: Выделить всё

iptables -A INPUT -p tcp -dport 1024:65535 -j ACCEPT

но это ж опять - дыра в безопасности образуется - или я не прав?

Вы правы, поэтому так никто не делает :rolleyes:
Нужно примерно так:

Код: Выделить всё

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Блогосайт - http://www.fateyev.com
Спасибо сказали:
KDimanB
Сообщения: 143
ОС: Debian (squeeze), Slax LiveCD
Контактная информация:

Re: Ищу скрипт для открытия портов

Сообщение KDimanB »

danger08 писал(а):
06.04.2009 14:59
Diman писал(а):
06.04.2009 14:46
Я так понимаю надо открывать все tcp-порты свыше 1024:

Код: Выделить всё

iptables -A INPUT -p tcp -dport 1024:65535 -j ACCEPT

но это ж опять - дыра в безопасности образуется - или я не прав?

Вы правы, поэтому так никто не делает :rolleyes:
Нужно примерно так:

Код: Выделить всё

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT



Аааа... т.е. это строка означает "разрешить все входящие соединения требуемые самим компьютером"?
А вот в брендмауэере Windows добавление приложения в исключения, фактически, делает эту же штуку?

Ясно тогда. Вот оно как всё просто-то :)
А я то сижу разбираю готовый скрипт-firewall с этими строками - и понять не могу, вроде всё запрещено политиками, а нужные входящие пакеты проходят :rolleyes:
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)
Контактная информация:

Re: Ищу скрипт для открытия портов

Сообщение danger08 »

Diman писал(а):
06.04.2009 15:17
danger08 писал(а):
06.04.2009 14:59
Diman писал(а):
06.04.2009 14:46
Я так понимаю надо открывать все tcp-порты свыше 1024:

Код: Выделить всё

iptables -A INPUT -p tcp -dport 1024:65535 -j ACCEPT

но это ж опять - дыра в безопасности образуется - или я не прав?

Вы правы, поэтому так никто не делает :rolleyes:
Нужно примерно так:

Код: Выделить всё

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT



Аааа... т.е. это строка означает "разрешить все входящие соединения требуемые самим компьютером"?

Почти. Подробнее тут: http://www.opennet.ru/docs/RUS/iptables/#USERLANDSTATES
Блогосайт - http://www.fateyev.com
Спасибо сказали:
jooe008
Сообщения: 79

Re: Ищу скрипт для открытия портов

Сообщение jooe008 »

danger08 писал(а):
06.04.2009 14:03
В вашем случае, проще всего назначить вашему компу статический адрес (или dhcp static lease на модеме), и на модеме перебрасывать DNAT-ом входящие соединения на IP вашего компа (который заранее известен).


Я знаю что так проще, но мне нужно сделать так как я написал. Имеется допустим машина с установленным апачем, подключается к ADSL модему
кроме нее подключаются еще несколько машин. Как сделать так чтоб извне я всегда смог подключится на веб-сервак, не изменяяя ничего в модеме, то есть дефолтовые настройки. Ведь и в utorrent и в других прогах это есть, неужели нету ничего под линукс?
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian
Контактная информация:

Re: Ищу скрипт для открытия портов

Сообщение Frank »

Дык умеет ли это ваш модем - зависит только от самого модема :)
Изображение
Спасибо сказали:
jooe008
Сообщения: 79

Re: Ищу скрипт для открытия портов

Сообщение jooe008 »

Модем то умеет,сейчас наверно не найти модема в котором нет UPnP.
Как мне это сделать?
Спасибо сказали:
Аватара пользователя
Frank
Сообщения: 1059
ОС: Ubuntu, Debian
Контактная информация:

Re: Ищу скрипт для открытия портов

Сообщение Frank »

"не изменяяя ничего в модеме, то есть дефолтовые настройки"
- извините, но в дефолтных настройках UPnP выключен. Обратитесь к руководству по эксплуатации вашего модема.
Изображение
Спасибо сказали:
jooe008
Сообщения: 79

Re: Ищу скрипт для открытия портов

Сообщение jooe008 »

В модемах которыми пользуюсь я, по умолчанию UPnP включен. Да и не в этом дело.
Ведь я вроде ясно спросил то что мне нужно, можно так сделать расскажите как если не военная тайна. Нельзя сделать, скажите нельзя,
если никто не сталкивался, то можно сказать не знаю, а то 20 сообщений а по делу ни одного.
Как сделать другими способами, я прекрасно знаю. Мне нужно сделать так как я описал выше.
Извините если немного резко получилось.
Спасибо сказали:
Аватара пользователя
strah
Сообщения: 283
ОС: Freebsd, linux, Solaris.

Re: Ищу скрипт для открытия портов

Сообщение strah »

jooe008 писал(а):
06.04.2009 17:48
danger08 писал(а):
06.04.2009 14:03
В вашем случае, проще всего назначить вашему компу статический адрес (или dhcp static lease на модеме), и на модеме перебрасывать DNAT-ом входящие соединения на IP вашего компа (который заранее известен).


Я знаю что так проще, но мне нужно сделать так как я написал. Имеется допустим машина с установленным апачем, подключается к ADSL модему
кроме нее подключаются еще несколько машин. Как сделать так чтоб извне я всегда смог подключится на веб-сервак, не изменяяя ничего в модеме, то есть дефолтовые настройки. Ведь и в utorrent и в других прогах это есть, неужели нету ничего под линукс?

Если вас правильно поняли, и вам надо, чтобы ваш сервак сам открывал на модеме нужные порты, то что же вы upnp не заюзаете? Тем более ссылку вам дали.
/earth: file system full
Спасибо сказали:
jooe008
Сообщения: 79

Re: Ищу скрипт для открытия портов

Сообщение jooe008 »

Я и хочу заюзать UPnP только не знаю как, что дополнительно надо запускать на компе кроме тех служб которые мне нужны.
И как все это настроить вместе.
Спасибо сказали:
Аватара пользователя
strah
Сообщения: 283
ОС: Freebsd, linux, Solaris.

Re: Ищу скрипт для открытия портов

Сообщение strah »

jooe008 писал(а):
08.04.2009 00:19
Я и хочу заюзать UPnP только не знаю как, что дополнительно надо запускать на компе кроме тех служб которые мне нужны.
И как все это настроить вместе.

Как я понимаю, настройки upnp-клиента зависят только от юзаемых вами приложений, (например, в ktorrent надо включить в настройках модуль upnp).
/earth: file system full
Спасибо сказали:
jooe008
Сообщения: 79

Re: Ищу скрипт для открытия портов

Сообщение jooe008 »

Вы абсолютно правы, на приложениях которые поддерживают UPnP стоит только поставить галочку на UPnP и все работает.
Меня интересует немного другое, что нужно сделать чтобы так работали приложения которые не поддерживают UPnP.
Например VNCServer SSH или что нибудь другое. Под винду нашел прогу которую запускаешь на компе и она осуществляет редирект портов в модеме. То есть надо VNCServer ставим порт 5900 в прогу запускаем ее запускаем VNC и все. Мне нужно тоже самое под линукс.
Спасибо сказали:
jooe008
Сообщения: 79

Re: Ищу скрипт для открытия портов

Сообщение jooe008 »

Ну так никто не знает, никто не сталкивался.
Если так тему можно закрывать.
Спасибо сказали:
Ответить