Проброс портов на маршрутизаторе

Материал из campus.mephi.ru

(Различия между версиями)
Перейти к: навигация, поиск
(Init)
(Update)
Строка 1: Строка 1:
Проброс портов довольно полезная вещь. Например, вы "сидите за роутером(маршрутизатором)" и хотите что бы люди(соединения) при обращении к вашему роутеру попадали именно на вашу машину. В этом случае Вам и необходимо настроить проброс портов на роутере.
Проброс портов довольно полезная вещь. Например, вы "сидите за роутером(маршрутизатором)" и хотите что бы люди(соединения) при обращении к вашему роутеру попадали именно на вашу машину. В этом случае Вам и необходимо настроить проброс портов на роутере.
-
В общем то, здесь нет ничего сложного. Я покажу как это сделать на примере проброса портов для настройки DC++-клиента на роутере Asus RT-N66U. Во всех относительно новых роутерах есть такая функция.
+
В общем то, здесь нет ничего сложного. Я покажу как это сделать на примере проброса портов для '''настройки DC++-клиента''' на роутере Asus RT-N66U. Во всех относительно новых роутерах есть такая функция.
 +
Для начала, убедитесь в что роутер внутри сети статически выдаёт вам IP-адрес (постоянно один и тот же). На нём за это отвечает DHCP (Dynamic Host Configuration Protocol) Server. Если он включен (посмотрите в настройках, что-то в районе раздела LAN), то нужно назначить IP-адрес для вашей машины статически в обход dhcp.
-
Для начала, убедитесь в что роутер внутри сети статически выдаёт вам IP-адрес (постоянно один и тот же). На нём за это отвечает DHCP (Dynamic Host Configuration Protocol) Server.  Если он включен (посмотрите в настройках, что-то в районе раздела LAN), то нужно назначить IP-адрес для вашей машины статически в обход dhcp.
+
На вкладке ''LAN-DHCP Server'' включаем ручное назначение IP (Enable Manual Assignment), выбираем в поле ниже свой MAC-адрес, желаемый IP (в разумных пределах), жмём Добавить и Применить. Всё, после сохранения, у вашей машины внутри сети постоянно будет указанный IP адрес.
 +
[[Файл:Asus-dhcp.jpg‎|1000px|thumb|center|Устанавливаем себе статический IP внутри сети на роутере Asus RT-N66U]]
-
На вкладке LAN-DHCP Server включаем ручное назначение IP (Enable Manual Assignment), выбираем в поле ниже свой MAC-адрес, желаемый IP (в разумных пределах), жмём Добавить и Применить. Всё, после сохранения, у вашей машины внутри сети постоянно будет указанный IP адрес.
 
-
 
-
Устанавливаем себе статический IP внутри сети
 
Теперь смело можно переходить непосредственно к настройке портов.
Теперь смело можно переходить непосредственно к настройке портов.
-
Вкладка WAN-Virtual Server / Port Forwarding, Включаем опцию, если ещё не включена (Enable Port Forwarding)
+
Вкладка ''WAN-Virtual Server / Port Forwarding'', Включаем опцию Проброса портов(Enable Port Forwarding)
И заполняем необходимые поля
И заполняем необходимые поля
-
Service Name - ни к чему не обязывающее имя "правила" перенаправления портов
+
* '''Service Name''' - ни к чему не обязывающее имя "правила" перенаправления портов
-
Port Range - диапазон портов, С которых роутер будет перенаправлять входящие соединения
+
* '''Port Range''' - диапазон портов, С которых роутер будет перенаправлять входящие соединения
-
Local IP - локальный (внутри вашей сети) IP, НА который роутер будет перенаправлять входящие соединения с портов <Port Range>
+
* '''Local IP''' - локальный (внутри вашей сети) IP, НА который роутер будет перенаправлять входящие соединения с портов <Port Range>
-
Local Port - номер порта на машине с IP <Local IP> на который роутер будет перенаправлять соединения
+
* '''Local Port''' - номер порта на машине с IP <Local IP> на который роутер будет перенаправлять соединения
-
Protocol - соединения какого типа следует отлавливать роутеру
+
* '''Protocol''' - соединения какого типа следует отлавливать роутеру
 +
 
Для настройки DC-клиента, пусть например, требуется открыть(пробросить) 2 порта : 3000 для (TCP/UPD) и 3001 для (TLS) (работает по протоколу TCP)
Для настройки DC-клиента, пусть например, требуется открыть(пробросить) 2 порта : 3000 для (TCP/UPD) и 3001 для (TLS) (работает по протоколу TCP)
-
Таким образом добавляем 2 строчки, и жмём Применить.
+
Таким образом добавляем 2 строчки, и жмём ''Применить''.
 +
# name  Port-Range Local-Ip    Local.Port  Protocol type
 +
dc-tcp 3000     192.168.1.2 3000       BOTH
 +
dc-tsl 3001     192.168.1.2 3001       BOTH
-
# name  Port-Range  Local-Ip    Local.Port  Protocol type
+
[[Файл:Asus-port-forwarding.gif‎|800px|thumb|center|Пробрасываем порты на роутере Asus RT-N66U]]
-
dc-tcp 3000     192.168.1.2 3000       BOTH
+
-
dc-tsl 3001     192.168.1.2 3001       BOTH
+
-
Пробрасываем порты
 
Здесь - всё. Теперь роутер все входящие на порты 3000:3001 TCP/UDP соединения будет перенаправлять прямиком на 3000:3001 порты вашей машины.
Здесь - всё. Теперь роутер все входящие на порты 3000:3001 TCP/UDP соединения будет перенаправлять прямиком на 3000:3001 порты вашей машины.
-
Осталось настроить DC-клиент. Открываем настройки соединения (Файл-Настройки-Соединение | Tools-Preferences-Connection в моём случае с eiskaltdcpp).
+
Осталось настроить DC-клиент. Открываем настройки соединения (''Файл-Настройки-Соединение | Tools-Preferences-Connection'' в моём случае с '''eiskaltdcpp''').
-
И выбираем : Радио-кнопка Ручной проброс портов, и Вписываем наши порты в соотсветствующие поля. (Если роутер поддерживает технологию UPnP, то можно выбрать этот пункт в настройках, и не вписывать порты - программа должна сама определить, а возможно ещё и на роутере сама пробросит все необходимые порты. Но я люблю ясность во всём :))
+
И выбираем :  
-
 
+
* Радио-кнопка Ручной проброс портов
-
 
+
* Вписываем наши порты в соотсветствующие поля.  
-
Eiskalttdcpp-Settings-Connection
+
P.s. Если роутер поддерживает технологию UPnP, то можно выбрать этот пункт в настройках, и не вписывать порты - программа должна сама определить, а возможно ещё и на роутере сама пробросит все необходимые порты. Но я люблю ясность во всём :)
-
Всё. Осталось проверить что... может быть всё работает :) А может быть и нет, ведь есть такая штука, как Антивирус, Браундмауэр, и куча куча всего ещё.
+
-
Я думаю, их настроить Вам не составит труда.
+
-
 
+
-
Мне на Fedora 16 пришлось поднастроить iptables
+
-
su
+
[[Файл:Eiskalttdcpp-settings-connection.jpg‎|800px|thumb|center|Settings-Connection in Eiskalttdcpp-qt]]
-
# посмотреть все существующие правила:
+
Всё. Осталось проверить что... может быть всё работает :) А может быть и нет, ведь есть такая штука, как Антивирус, Браундмауэр, и куча куча всего ещё!
-
iptables -nvL
+
Я думаю, Вам не составит труда их настроить(:
-
# если, и скорее всего, нужные порты не настроены - исправим это
+
Хотя мне на Fedora 16 пришлось повозиться с '''iptables'''
-
# открываем входящие соединения на нужные порты
+
-
iptables -A INPUT -p tcp -m tcp --sport 3000 -j ACCEPT
+
-
iptables -A INPUT -p udp -m udp --sport 3000 -j ACCEPT
+
-
iptables -A INPUT -p tcp -m tcp --sport 3001 -j ACCEPT
+
-
# открываем исходящие соединения с этих портов
+
su
-
iptables -A OUTPUT -p tcp -m tcp --dport 3000 -j ACCEPT
+
# посмотреть все существующие правила:
-
iptables -A OUTPUT -p udp -m udp --sport 3000 -j ACCEPT
+
iptables -nvL
-
iptables -A OUTPUT -p tcp -m tcp --sport 3001 -j ACCEPT
+
 +
# если, и скорее всего, нужные порты не настроены - исправим это
 +
# открываем входящие соединения на нужные порты
 +
iptables -A INPUT -p tcp -m tcp --sport 3000 -j ACCEPT
 +
iptables -A INPUT -p udp -m udp --sport 3000 -j ACCEPT
 +
iptables -A INPUT -p tcp -m tcp --sport 3001 -j ACCEPT
 +
 +
# открываем исходящие соединения с этих портов
 +
iptables -A OUTPUT -p tcp -m tcp --dport 3000 -j ACCEPT
 +
iptables -A OUTPUT -p udp -m udp --sport 3000 -j ACCEPT
 +
iptables -A OUTPUT -p tcp -m tcp --sport 3001 -j ACCEPT
 +
 +
# ну и проверьте что нет никаких правил, закрывающих *всё*
 +
# у меня такое было
 +
# -A INPUT -j REJECT --reject-with icmp-host-prohibited
 +
# что бы его удалить, логично, нужно было выполнить
 +
iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited
-
# ну и проверьте что нет никаких правил, закрывающих *всё*
+
# обязательно проверьте, что все ваши изменения отобразились в выхлопе
-
# у меня такое было
+
iptables-save
-
# -A INPUT -j REJECT --reject-with icmp-host-prohibited
+
-
# что бы его удалить, логично, нужно было выполнить
+
-
iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited
+
-
# обязательно проверьте, что все ваши изменения отобразились в выхлопе
 
-
iptables-save
 
Вот теперь - всё. Спасибо за внимание.
Вот теперь - всё. Спасибо за внимание.
------
------
-
Здесь можно найти инструкции для настройки тех же самых вещей для многих роутеров (если у вас не биилайн - это вообще не важно). Смотрите пункт Настраиваем доступ к локальным ресурсам.
+
[http://homenet.beeline.ru/routers/index.php Здесь] можно найти инструкции для настройки тех же самых вещей для многих роутеров (если у вас провайдер не биилайн - это '''вообще''' не важно). Смотрите пункт ''Настраиваем доступ к локальным ресурсам''.

Версия 16:16, 9 мая 2013

Проброс портов довольно полезная вещь. Например, вы "сидите за роутером(маршрутизатором)" и хотите что бы люди(соединения) при обращении к вашему роутеру попадали именно на вашу машину. В этом случае Вам и необходимо настроить проброс портов на роутере.

В общем то, здесь нет ничего сложного. Я покажу как это сделать на примере проброса портов для настройки DC++-клиента на роутере Asus RT-N66U. Во всех относительно новых роутерах есть такая функция.

Для начала, убедитесь в что роутер внутри сети статически выдаёт вам IP-адрес (постоянно один и тот же). На нём за это отвечает DHCP (Dynamic Host Configuration Protocol) Server. Если он включен (посмотрите в настройках, что-то в районе раздела LAN), то нужно назначить IP-адрес для вашей машины статически в обход dhcp.

На вкладке LAN-DHCP Server включаем ручное назначение IP (Enable Manual Assignment), выбираем в поле ниже свой MAC-адрес, желаемый IP (в разумных пределах), жмём Добавить и Применить. Всё, после сохранения, у вашей машины внутри сети постоянно будет указанный IP адрес.

Устанавливаем себе статический IP внутри сети на роутере Asus RT-N66U


Теперь смело можно переходить непосредственно к настройке портов. Вкладка WAN-Virtual Server / Port Forwarding, Включаем опцию Проброса портов(Enable Port Forwarding) И заполняем необходимые поля

  • Service Name - ни к чему не обязывающее имя "правила" перенаправления портов
  • Port Range - диапазон портов, С которых роутер будет перенаправлять входящие соединения
  • Local IP - локальный (внутри вашей сети) IP, НА который роутер будет перенаправлять входящие соединения с портов <Port Range>
  • Local Port - номер порта на машине с IP <Local IP> на который роутер будет перенаправлять соединения
  • Protocol - соединения какого типа следует отлавливать роутеру

Для настройки DC-клиента, пусть например, требуется открыть(пробросить) 2 порта : 3000 для (TCP/UPD) и 3001 для (TLS) (работает по протоколу TCP) Таким образом добавляем 2 строчки, и жмём Применить.

# name   Port-Range Local-Ip     Local.Port   Protocol type
dc-tcp	 3000	    192.168.1.2	 3000	      BOTH	
dc-tsl	 3001	    192.168.1.2	 3001	      BOTH
Пробрасываем порты на роутере Asus RT-N66U

Здесь - всё. Теперь роутер все входящие на порты 3000:3001 TCP/UDP соединения будет перенаправлять прямиком на 3000:3001 порты вашей машины.

Осталось настроить DC-клиент. Открываем настройки соединения (Файл-Настройки-Соединение | Tools-Preferences-Connection в моём случае с eiskaltdcpp). И выбираем :

  • Радио-кнопка Ручной проброс портов
  • Вписываем наши порты в соотсветствующие поля.

P.s. Если роутер поддерживает технологию UPnP, то можно выбрать этот пункт в настройках, и не вписывать порты - программа должна сама определить, а возможно ещё и на роутере сама пробросит все необходимые порты. Но я люблю ясность во всём :)

Settings-Connection in Eiskalttdcpp-qt

Всё. Осталось проверить что... может быть всё работает :) А может быть и нет, ведь есть такая штука, как Антивирус, Браундмауэр, и куча куча всего ещё! Я думаю, Вам не составит труда их настроить(:

Хотя мне на Fedora 16 пришлось повозиться с iptables

su
# посмотреть все существующие правила:
iptables -nvL

# если, и скорее всего, нужные порты не настроены - исправим это
# открываем входящие соединения на нужные порты
iptables -A INPUT -p tcp -m tcp --sport 3000 -j ACCEPT 
iptables -A INPUT -p udp -m udp --sport 3000 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 3001 -j ACCEPT

# открываем исходящие соединения с этих портов
iptables -A OUTPUT -p tcp -m tcp --dport 3000 -j ACCEPT
iptables -A OUTPUT -p udp -m udp --sport 3000 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --sport 3001 -j ACCEPT

# ну и проверьте что нет никаких правил, закрывающих *всё*
# у меня такое было
# -A INPUT -j REJECT --reject-with icmp-host-prohibited
# что бы его удалить, логично, нужно было выполнить
iptables -D INPUT -j REJECT --reject-with icmp-host-prohibited
# обязательно проверьте, что все ваши изменения отобразились в выхлопе
iptables-save

Вот теперь - всё. Спасибо за внимание.


Здесь можно найти инструкции для настройки тех же самых вещей для многих роутеров (если у вас провайдер не биилайн - это вообще не важно). Смотрите пункт Настраиваем доступ к локальным ресурсам.