Как настроить локальные компьютеры для доступа к ним из сети Интернет

Вы уже знаете, что вся локальная сеть со шлюзом «видится» со стороны Интернета как один узел, и IP-адрес этого узла — IP-адрес внешнего сетевого интерфейса шлюза. Когда компьютер локальной сети отправляет запрос к какому-то узлу Интернета, запрос проходит через шлюз (маршрутизатор, прокси-сервер).

Шлюз временно «запоминает», от какого именно компьютера локальной сети исходил запрос. Сервер в Интернете получает этот запрос уже от имени шлюза, с его внешнего IP-адреса. На этот адрес он и дает ответ: о том, что находится за шлюзом, сервер Интернета знать не может в принципе. Шлюз направляет ответ на тот компьютер, от которого был получен запрос: он-то «помнит», откуда что пришло. В общих чертах так работает механизм трансляции адресов (NAT).

Другое дело, если инициатива исходит не из локальной сети, а из Интернета. Например, вы хотите через Интернет подключиться к удаленному рабочему столу компьютера, находящегося в локальной сети, т. е. за шлюзом. Единственный адрес, который вы вправе указать — внешний IP-адрес шлюза, под которым представлена в Интернете вся локальная сеть. Направить запрос на нужный компьютер локальной сети — задача шлюза. Это так называемый «обратный механизм NAT», или функция «виртуального сервера».

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

Рис. 9.7. Настройка виртуального сервера в модеме ADSL

Рис. 9.7. Настройка виртуального сервера в модеме ADSL

В прошивках многих маршрутизаторов и модемов уже заложены готовые правила направления запросов для наиболее популярных программ: веб-серверов, серверов FTP, средств удаленного управления, сетевых игр. Используя такие правила, достаточно выбрать название из списка и указать IP-адрес компьютера, на котором запущен сервер. Номера портов будут подставлены автоматически, но при необходимости вы можете изменить их вручную. В настройках программных шлюзов правила направления задаются практически так же. По логике UserGate или Kerio Control это просто правила брандмауэра для входящего трафика.

Какие серверы, к которым нужно обращаться из Интернета, чаще всего запускают в сети малого предприятия? Вот несколько типичных случаев:

  • сервер удаленного рабочего стола (по умолчанию порт 3389);
  • сервер удаленного управления RAdmin (по умолчанию порт 3899);
  • веб-сервер программы видеонаблюдения или сами IP-камеры (по умолчанию порт 80);
  • сервер «1С:Предприятия» (по умолчанию порты 1540, 1541, 1560—1591).

Более сложная схема применяется, когда в локальной сети работает несколько одинаковых серверов, прослушивающих один и тот же порт. Например, в локальной сети есть несколько компьютеров с доступом к удаленному рабочему столу. Или, допустим, вы хотите обращаться к нескольким IP-камерам: адреса у них разные, но все прослушивают порт 8080.

Понятно, что при подключении из той же локальной сети достаточно указать IP-адрес конкретной камеры или компьютера — запрос попадет, куда нужно. А как быть, если вы обращаетесь к узлам своей сети через Интернет: ведь оттуда «виден» только внешний адрес шлюза?

В таком случае идут на хитрость, называемую «перенаправлением портов» (port remapping), или «пробросом портов». Например, в вашей локальной сети работают три IP-камеры, и вы хотите подключаться к ним через Интернет. У одной камеры IP-адрес 192.168.1.101, у другой — 192.168.1.102, а у третьей — 192.168.1.103. Внешний адрес шлюза — допустим, 78.126.140.57. В настройках маршрутизатора создадим три правила:

  • «Запросы, пришедшие на внешний интерфейс на порт 50001, направить на узел локальной сети 192.168.1.101, порт 80»;
  • «Запросы, пришедшие на внешний интерфейс на порт 50002, направить на узел локальной сети 192.168.1.102, порт 80»;
  • «Запросы, пришедшие на внешний интерфейс на порт 50003, направить на узел локальной сети 192.168.1.103, порт 80».

Номера портов, которые шлюз будет «прослушивать» на внешнем интерфейсе, мы придумали произвольно. Важно лишь, чтобы они отличались от стандартных (порты с номерами от 1 до 48 000 могут использоваться различными программами), и не превышали 65 536 (это требование протокола TCP/IP). Таким образом, для наших целей подойдет любой порт из диапазона 48 000—65 536. Теперь, если мы на каком-то компьютере, подключенном к Интернету, запустим браузер, в адресную строку введем http://78.126.140.57:50001 и нажмем клавишу Enter, то попадем на веб-страницу, которую выдает первая камера. Чтобы подключиться ко второй камере, нужно набрать в адресной строке http://78.126.140.57:50002, и т. д.

Что означает приведенный в нашем примере формат URL? Следом за IP-адресом, через двоеточие, указывается порт. Если порт прямо не указан, запрос всегда отправляется на порт, стандартный для данного протокола. Например, для HTTP это порт 80, для FTP — порт 21. В данном же случае через Интернет мы обращаемся каждый раз к одному и тому же внешнему IP-адресу шлюза, но к разным конкретно указанным портам, а шлюз «перебрасывает» эти запросы к разным узлам внутри локальной сети.

Во многих модемах и роутерах заложена функция DMZ (от англ. demilitarized zone — демилитаризованная зона). Смысл ее в том, что один из компьютеров выделяется в особую зону локальной сети, и все запросы из внешней сети направляются на него. Другими словами, к указанному компьютеру, и только к нему, открывается прямой доступ из Интернета.

Функции DMZ и Port Forwarding взаимно исключают друг друга — следует выбрать или ту, или другую. Функция DMZ удобна тем, что не нужно задумываться о номерах портов (открыты все), и ей иногда пользуются для организации игровых серверов и т. п. В большинстве же случаев лучше настроить перенаправление портов — так безопаснее.


Top