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

Сразу отметим, что данный обзор – не для начинающих. Настраивать домашний или офисный роутер умеют многие, но с выставлением правил маршрутизации часто возникают трудности.

Еще сложнее проводить настройку, когда используется каскадное включение маршрутизаторов. То, как прописать роутер в таблице проброса портов другого роутера, вроде бы все знают. Но в результате, как не странно, программы на локальных компьютерах отказываются работать так, как они должны.

Напомним, что маршрутизация бывает динамической и статической. Динамическую настраивать не надо. Но с ее помощью можно достичь мало чего. Сервисам ICQ и Skype необходимо, чтобы в течение одного сеанса связи пакеты от одного пользователя отправлялись не только с одного IP-адреса, но и с одного порта. Что решаемо только при помощи статической маршрутизации.

Есть опция, позволяющая настроить статические маршруты автоматом — она называется UPnP. Но для полного понимания механизма работы попробуем настроить все вручную. Примеры подходят для случая, когда два роутера соединены каскадом. Пусть их локальные адреса имеют значения, показанные на схеме.

Ква роутера соединены каскадом
Каскадное подключение двух маршрутизаторов

Дополнительно отметим, что статическую маршрутизацию бесполезно настраивать, пока оконечное устройство (компьютер, другой роутер и т.д.) не занесено в «область резервации». Нам нужно, чтобы IP-адреса целевых устройств не менялись. Посмотрите в инструкции, как такую настройку выполнить (искать надо сочетание «IP reservation»).

Настройка маршрутов в простейшем случае

Рассмотрим схему сети, созданной на основе одного маршрутизатора:

Обычная схема работы роутера
Схема сети из двух ПК

Допустим, на оба ПК установлена программа ICQ, и в каждом из них она настроена на порт «2000». Для этого случая, как легко понять, таблицу правил статической маршрутизации мы задали бы так:

Таблица правил статической маршрутизации
Статическая маршрутизация для двух компьютеров

Можно было на втором ПК в настройках самой программы задать порт «2001», и тогда номера портов «Public» и «Private» совпадали бы в каждом из правил. Будет работать и так, и как показано.

Смысл рассмотренного выше состоит в следующем: значения «Public» не должны совпадать, их надо выбирать уникальными. Впрочем, интерфейс настройки роутера не позволяет выставить одинаковые числа «Public» в разных строках. Сервер ICQ в нашем случае будет отправлять ответы на 2001-й порт, если они относятся к «ПК 2». До «компьютера 1» такие ответы доходить не будут. Что и требуется.

Важно знать: настраивая несколько программ на одном ПК, необходимо придерживаться единственного требовании — программы, если они установлены на одном компьютере, должны использовать разные (уникальные) значения портов.

Настройка статических маршрутов в случае каскадного подключения

Вернемся к схеме, рассмотренной в самом начале:

Сеть для двух роутеров
Вариант построения сети, приведенный ранее

Пусть на компьютерах установлены различные программы. Задавая статические маршруты в роутере «B», выбирайте внешние порты (цифры «Public») из непрерывного диапазона:

Локальный роутер
Правила маршрутизации в «локальном» роутере

Мы решили взять интервал от 2000 до 2100. Можете придумать что-то другое, но при этом нельзя занимать значения, общепринятые для некоторых сервисов (80, 443 и т.д.).

Сейчас будет показано, как в данном случае должна выглядеть таблица правил, используемых для статической маршрутизации в первом роутере. Современные web-интерфейсы позволяют устанавливать не по одному порту, а выбирать диапазон:

Диапазон портов
Правила для первого (головного) маршрутизатора

В роутере «A», как видим, слишком много настроек делать не придется. Достаточно внести одно устройство в «область резервации» и задать единственное правило. Оно, в свою очередь, должно распространяться на определенный интервал.

Как рассмотренный метод будет работать на практике, можете проверить. Препятствиями по его использованию являются ограничения:

  • Некоторые изготовители не позволяют выставлять в одном правиле значение «Private», отличное от «Public» (рассмотрим, как в этом случае поступить)
  • В моделях роутеров, являющихся очень устаревшими, нельзя выставить диапазон портов (интервал), здесь уже ничего не поделать

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

Подбираем значения из диапазона
Настраиваем программу uTorrent

В этом и состоит решение первой проблемы («внутренний» порт всегда можно перенастроить).

Известные проблемы

Выше было продемонстрировано, как настроить проброс портов, притом, в ручном режиме. Есть протокол, позволяющий выполнить то же самое, но уже автоматически. Он называется Universal Plug-n-Play, то есть «UPnP». Как только подобная опция задействуется (а ее настройка доступна через web-интерфейс), сразу исключается возможность использовать правила, настроенные вручную. В этом и состоит основная сложность.

Заметим: когда «UPnP» включают в любом из соединенных друг с другом роутеров, все вышесказанное теряет смысл полностью. Учтите, что устройство «A» может быть установлено у соседа, которому не захочется отключать эту «вредную» опцию. Ведь никому не охота прописывать какие-то «правила», причем, для каждой своей программы. Чтобы кто-либо разрешил снять галочку «UPnP», придется проявить свой дар дипломатии.

В большинстве же случаев, как легко догадаться, никто ничего выключать не позволит – настраивать проброс портов не хочется никому. Появляется вопрос, а почему нельзя задействовать автоматику и во втором устройстве (в двух роутерах сразу). Признаться, мне тут ответить нечего, а исходить надо из практики: скорее всего, это окажется бесполезным для второй локальной сети, обозначенной у нас буквой «B». Таковы особенности «каскада».

Если хотите использовать «UPnP», то лучше устройство под буквой «B» сделать не роутером, а свитчем (или точкой доступа). Тогда все будет нормально, правда, большая вычислительная нагрузка перейдет на первое устройство. Что тоже, вполне возможно, в результате кому-то не понравится. Но тут мы рассматриваем только технические вопросы.

Еще один способ настроить два роутера