Назад | Перейти на главную страницу

Использование правила nat для перевода трафика 80/443 на веб-сервер, но внутренние пользователи не могут получить к нему доступ с помощью внешнего IP-адреса / имени домена

Я использую Cisco ASDM для ASA

У меня есть внутренняя сеть под названием soa. Мой внешний интерфейс вызывается снаружи. Скажем, мой внешний IP-адрес, предоставленный мне моим интернет-провайдером, равен y.y.y.y. У меня есть веб-сервер в моей сети со статическим IP-адресом x.x.x.110. Я настроил 2 статических правила nat (одно для http, другое для https).

Источник - x.x.x.110. Интерфейс внешний, служебный (http или https).

Возможно, я делаю это неправильно, но когда я запускаю трассировщик пакетов, я выбираю внешний интерфейс и для исходного IP-адреса я использовал 8.8.8.8, а IP-адрес назначения - это мой внешний IP-адрес, y.y.y.y

Когда я запускаю это, он показывает, что пакет проходит успешно, используя 9 шагов.

Для другого теста я переключаюсь на интерфейс soa, ввожу ip в этой сети и оставляю место назначения прежним. Этот тест состоит из двух шагов, а затем не проходит в моем списке доступа.

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

Какое правило мне нужно сделать, чтобы разрешить моему сетевому доступу soa выходить и возвращаться по моему внешнему IP-адресу (конечно, используя доменное имя, привязанное к этому IP-адресу в моем DNS)?

Не уверен насчет Cisco, но в Linux и * BSD это не сработает. Даже когда вы пытаетесь подключиться к внешнему адресу из внутренней сети, пакет никогда не проходит через внешний интерфейс, поскольку ядро ​​слишком умно, замечает собственный адрес и потребляет пакет. Поскольку пакет никогда не проходит через внешний интерфейс, правило NAT для переадресации портов никогда не применяется.

Читать http://www.openbsd.org/faq/pf/rdr.html#reflect для некоторых (связанных с BSD) документов по этому поводу.

Поиск внешнего NAT из внутренней LAN не работает ни с BSD, ни с LINUX. Однако есть способ обмануть Cisco ASA, хотя передовой опыт подсказывает, что этого делать нельзя. Используйте, если вам это абсолютно необходимо. Синтаксис команды для Cisco ASA 8.0.x:

static (dmz,outside) <YOUR-PUBLIC-IP-ADDR> <YOUR-DECLARED-HOST-NAME> netmask 255.255.255.255

static (dmz,inside) <YOUR-PUBLIC-IP-ADDR> <YOUR-DECLARED-HOST-NAME> netmask 255.255.255.255

Доступ к внутренним серверам через общедоступный IP-адрес через маршрутизатор NAT часто называют отражением NAT.

Большинство маршрутизаторов, от обычных домашних до более 1000 долларов США, поддерживают это. Cisco этого не делает.

Лучшее решение - разделенный DNS, когда вы настраиваете внутренний DNS-сервер, который имеет частные IP-адреса для ваших серверов, а не общедоступные, поэтому клиенты в локальной сети по-прежнему будут иметь доступ.