669 профессионалов IT в этом Telegram чате. “ы с нами?

ћерион Ќетворкс

4 минуты чтени€

Port Forwarding Ц или проброс портов, который также иногда называемый перенаправлением портов или туннелированием Ц это процесс пересылки трафика, адресованного конкретному сетевому порту с одного сетевого узла на другой. Ётот метод позвол€ет внешнему пользователю достичь порта на частном IPv4-адресе (внутри локальной сети) извне, через маршрутизатор с поддержкой NAT.

ќбычно peer-to-peer (p2p) программы и операции обмена файлами, такие как веб-сервер и FTP, требуют, чтобы порты маршрутизаторов были перенаправлены или открыты, чтобы позволить этим приложени€м работать.

TCP и UDP порты

ѕоскольку NAT скрывает внутренние адреса, p2p работает только в ситуации где соединение идет изнутри наружу, где NAT может сопоставл€ть исход€щие запросы с вход€щими ответами.

ѕроблема в том, что NAT не разрешает запросы, инициированные извне, но эту ситуацию можно решить с помощью перенаправлени€ портов. ѕроброс портов может быть настроен дл€ определенных портов, которые могут быть перенаправлены внутренним хостам.

Ќапомним, что программные приложени€ в интернете взаимодействуют с пользовательскими портами, которые должны быть открыты или доступны дл€ этих приложений. ¬ различных приложени€х используютс€ разные порты. Ќапример, HTTP работает через well-known порт 80.  огда кто-то набирает адрес wiki.merionet.ru то браузер отображает главную страницу нашей базы знаний. ќбратите внимание, что им не нужно указывать номер порта HTTP дл€ запроса страницы, потому что приложение принимает порт 80. ≈сли требуетс€ другой номер порта, его можно добавить к URL-адресу, разделенному двоеточием (:). Ќапример, если веб-сервер слушает порт 8080, пользователь вводит http://www.example.com:8080.

ѕроброс портов позвол€ет пользовател€м в интернете получать доступ к внутренним серверам с помощью адреса порта WAN маршрутизатора и соответствующего номера внешнего порта. ¬нутренние серверы обычно конфигурируютс€ с частными адресами IPv4 и когда запрос отправл€етс€ на адрес порта WAN через »нтернет, маршрутизатор перенаправл€ет запрос на соответствующий сервер в локальной сети. ѕо соображени€м безопасности широкополосные маршрутизаторы по умолчанию не разрешают перенаправление любого внешнего сетевого запроса на внутренний хост.


ѕример с ФдомашнимФ роутером

SOHO маршрутизатор

Ќа схеме показан пример, когда проброс портов выполн€тс€ при помощи домашнего SOHO (small office/home office) роутера. ѕереадресаци€ портов может быть включена дл€ приложений при помощи указани€ внутреннего локального адреса. ѕользователь в интернете вводит адрес //wiki.merionet.ru, который соответствует внешнему адресу 212.193.249.136 и пакет попадает на маршрутизатор, который перенаправл€ет HTTP-запрос на внутренний веб-сервер по адресу IPv4 192.168.1.10, использу€ номер порта по умолчанию 80.

ћожно указать порт, отличный от порта 80 по умолчанию. “ем не менее, внешний пользователь должен знать конкретный номер порта дл€ использовани€. ѕодход, используемый дл€ настройки перенаправлени€ портов, зависит от марки и модели маршрутизатора.

ѕример настройки SOHO маршрутизатора

Ќастройка проброса порта

–еализаци€ перенаправлени€ (проброса) портов с помощью команд IOS аналогична командам, используемым дл€ настройки статического NAT. ѕереадресаци€ портов - это, по существу, статическа€ трансл€ци€ NAT с указанным номером TCP или UDP-порта.

¬ общем виде основна€ команда выгл€дит так:

ip nat inside source {static{tcp | udp local-ip local-port global-ip global-port} [extendable]

где:

  • tcp или udp Ц указывает это tcp или udp порт;
  • local-ip Ц это ip адрес присвоенный хосту внутри сети;
  • local-port Ц устанавливает локальный tcp/udp порт в диапазоне от 1 до 65535. Ёто номер порта, который слушает сервер;
  • global-ip Ц это уникальный глобальный IP адрес внутреннего хоста, по которому клиенты в интернете будут св€зыватьс€ с ним;
  • global-port Ц устанавливает глобальный tcp/udp порт в диапазоне от 1 до 65535. Ёто номер порта снаружи, по которому будут св€зыватьс€ клиенты;
  • extendable Ц эта опци€ примен€етс€ автоматически. ќна разрешает пользователю настраивать двойственные статические трансл€ции, если они идут на один и тот же адрес;
Ќастройка Port-forwarding

ѕример настройки:

Router(config)#Ip nat inside source static tcp 192.168.1.10 80 212.193.249.136:8080
Router(config)# interface serial0/0/0 
Router(config-if)# ip nat outside
Router(config)# interface serial0/0/1
Router(config-if)# ip nat inside

ѕоказана настройка дл€ данной схемы, где 192.168.1.10 - внутренний локальный адрес IPv4 веб-сервера, прослушивающий порт 80. ѕользователи получат доступ к этому внутреннему веб-серверу, использу€ глобальный IP-адрес 212.193.249.136:, глобальный уникальный публичный IPv4-адрес. ¬ этом случае это адрес интерфейса Serial 0/0/1. √лобальный порт настроен как 8080. Ёто будет порт назначени€, вместе с глобальным адресом 212.193.249.136 дл€ доступа к внутреннему веб-серверу.  ак и другие типы NAT, перенаправление портов требует конфигурации как внутренних, так и внешних NAT-интерфейсов.

ѕодобно статическому NAT, команда show ip nat translations может использоватьс€ дл€ проверки переадресации портов.

Router# show ip nat translations
Pro	Inside Global		Inside Local		Outside local		Outside global
tcp	212.193.249.136:8080	192.168.1.10:80	212.193.249.17:46088	212.193.249.17:46088
tcp	212.193.249.136:8080	192.168.1.10:80	---			---

ѕолезна ли ¬ам эта стать€?