Я использую 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-адреса для ваших серверов, а не общедоступные, поэтому клиенты в локальной сети по-прежнему будут иметь доступ.