Представлена настройка проброса порта (Port Forwarding) из внешней сети к видеокамере в локальной сети. Видеокамера выбрана для теста как наиболее доступный вариант, не требующий дополнительных настроек. Если проброс порта выполняется к серверу действия аналогичные, но следует учесть, что в сервере есть свой собственный файервол или брандмауэр, (или эту роль выполняет антивирус) и в нем так же нужно открыть порт для входящего соединения.
Служба (объект) порта.
Добавим нужный порт в объекты, чтоб потом его выбрать в политике NAT. Внешний порт может быть абсолютно любым из доступного диапазона портов. Желательно чтоб он не пересекался с другим портами, которые уже официально заняты. Перечень портов можно посмотреть в wiki.
Создаем службу с понятным именем, например PORT-5555.
В службе выбираем протокол (по умолчанию TCP) и указываем выбранный порт 5555.
Настройка через CLI.
1 2 3 |
ip service-set PORT-5555 type object service 0 protocol tcp destination-port 5555 quit |
NAT.
Для доступа из внешней сети к ресурсам внутренней сети необходимо использовать политику NAT. В данном случае это DST-NAT (Destination Network Address Translation) – тип преобразования сетевых адресов, при котором изменяется адрес и/или порт назначения (destination) в заголовке IP-пакета при его прохождении через USG. В данной ситуации внешний публичный IP-адрес и порт преобразуются во внутренний IP и порт по заданному правилу (политике) .
Создаем политику.
Name – любое понятное название для правила.
Description – описание правила, для удобства администрирования.
NAT Type – тип NAT: обычный.
NAT Mode – режим NAT. Destination address translation – преобразование адреса назначения (dst-nat).
Destination Address Translation Mode – режим трансляции адреса назначения.
One-to-one mapping between the public and private addresses in translation – один внешний IP-адрес преобразуется в один внутренний IP-адрес, порт не изменяется. В нашем случае порт меняется. Можно выбрать этот пункт, но при этом в Destination Port Translation Mode выбрать Translation и указать нужный порт.
One-to-one mapping between the public port and private address in translation – один внешний порт сопоставляется одному внутреннему IP-адресу. Несколько разных портов на одном внешнем IP ведут на разные устройства. Этот вариант более правильный, потому что по умолчанию устанавливает Translation в пункте Destination Port Translation Mode и требует обязательного заполнения поля порта (красная звездочка).
Оба этих пункта, при названной конфигурации, одинаково выглядят в CLI.
One-to-one mapping between the public and private ports in translation – один внешний порт преобразуется в другой внутренний порт. IP может быть один и тот же или также преобразовываться. GUI намекает на возможность указать перечень или диапазон: 1,3,5-10. Это означает, что можно пробросить группу портов. (не проверялось)
One-to-one mapping between the public address and private port in translation – один внешний IP NAT-ится во внутренний порт. Применяется, когда разные внешние IP-адреса передаются на разные порты одного устройства. Внешний порт не используется как критерий. Один и тот же внешний порт может быть использован на нескольких внешних IP, но транслируется в разные внутренние порты.
Randomly translated to an address in the destination translation address pool – адрес назначения выбирается случайным образом из пула адресов. Это динамический NAT – используется редко, в основном для балансировки нагрузки или при большом количестве клиентов. Пакеты могут попадать на один из нескольких внутренних адресов (рандомно или по алгоритму).
Original Data Packet – исходный пакет данных.
Source Zone: untrust – зона источника, откуда приходит трафик (внешняя сеть, Интернет)
Source Address – адрес источника трафика, откуда будет происходить подключение. Пустое поле и значение any использовать не желательно по причине информационной безопасности. Можно создавать и подключать объекты.
Destination Address – адрес назначения трафика. Публичный внешний IP-адрес этого USG или объект, который должен содержать внешний IP-адрес.
Service – служба. Выбираем созданный ранее объект PORT-5555.
Translated Data Packet – преобразованный пакет данных.
Destination Address Translation To – адрес назначения преобразуется в: 192.168.100.5. Это IP-адрес камеры в локальной сети.
Destination Port Translation Mode – режим преобразования порта назначения. Указано Translation, то есть порт будет изменён.
Destination Port Translated To – порт назначения преобразуется в: 80. Это стандартный порт для камер HiWatch на который должен попасть трафик. У каждого приложения свой порт. Если вместо камеры будет сервер, то нужно уточнять, на каком порту работает его ПО.
Через CLI.
1 2 3 4 5 6 7 8 9 |
nat-policy rule name DST-NAT-PORT-5555 description Access to HiWatch camera source-zone untrust source-address 121.37.49.12 mask 255.255.255.255 destination-address 23.53.42.32 mask 255.255.255.255 service PORT-5555 action destination-nat static address-to-address address 192.168.100.5 80 quit |
Политику DST-NAT нужно размещать выше, чем политику SRC-NAT используемую для доступа в Интернет.
В данном USG, NAT только преобразует адреса. Разрешение на прохождение трафика дает политика безопасности. Поэтому нужно настроить ее тоже.
Через CLI.
1 2 3 4 5 6 7 8 9 |
security-policy rule name ALLOW-CAM-ACCESS source-zone untrust destination-zone trust source-address 121.37.49.12 mask 255.255.255.255 destination-address 192.168.100.5 255.255.255.255 service PORT-5555 action permit quit |
При наличии других правил политику нужно размещать выше запрещающих и общих правил. В верху списка нужно размещать более специфичные правила, к которым как раз эта политика относится.
Подробнее о политиках безопасности написано тут.
Проверка.
Подключаемся из внешней сети на внешний IP-адрес сетевого экрана порт 5555 через браузер. Происходит переадресация на видеокамеру.
Для добавления второй камеры нужно использовать другой внешний порт. Чтоб не плодить много политик, можно создать списки адресов и группы портов, и затем их применить в одной политике безопасности (Security Policy). NAT-политики для каждой камеры все равно будут раздельными, так как каждому внешнему порту соответствует уникальный внутренний IP-адрес и порт. В одной NAT-политике эти данные для всех камер указать не невозможно.
Следует отметить, что проброс портов нужно использовать только в тех случаях, где не получается применить VPN.