В настоящее время мой межсетевой экран Cisco ASA 5505 настроен на пересылку порта 80 с внешнего интерфейса на хост на моем интерфейсе dmz. Мне также нужно разрешить клиентам на моем внутреннем интерфейсе получить доступ к хосту в dmz, введя общедоступную запись ip / dns в своих браузерах. Я смог это сделать, следуя инструкциям Вот, в результате получится следующая конфигурация:
static (dmz,outside) tcp interface www 192.168.1.5 www netmask 255.255.255.255
static (dmz,inside) tcp 74.125.45.100 www 192.168.1.5 www netmask 255.255.255.255
(Куда 74.125.45.100
мой публичный IP и 192.168.1.5
это IP хоста dmz)
Это отлично работает, за исключением того факта, что моя сеть имеет динамический общедоступный IP-адрес, и поэтому эта конфигурация сломается, как только мой общедоступный IP-адрес изменится. Есть ли способ делать то, что я хочу, с динамическим ip?
Примечание: Добавление внутренней DNS-записи не решит мою проблему, поскольку у меня есть несколько хостов dmz, сопоставленных с разными портами на общедоступном IP.
Мне интересно, почему клиенты, находящиеся за внутренним интерфейсом, должны вводить общедоступный IP-адрес, не было бы им проще использовать частный IP-адрес узла DMZ. Тогда можно было сделать нормальный нат, например.
статический (dmz, внутри) tcp (внутренний диапазон IP-адресов) www 192.168.1.5 www netmask 255.255.255.255
Насколько я понимаю, проблема в вашем случае заключается в том, что, когда клиент делает DNS-запрос, DNS-сервер из Интернета возвращает ему текущий внешний IP-адрес ASA. После этого клиент пытается подключиться к этому IP-адресу, поэтому пакет отправляется на внешний интерфейс и должен возвращаться на интерфейс DMZ.
У межсетевых экранов Cisco есть одна проблема: по умолчанию они никогда не выдают пакеты из того же интерфейса, в котором они его получают. Cisco решила это, начиная с версии 7.2, с помощью следующей команды cli:
ASA (конфигурация) # разрешение одинакового трафика внутри интерфейса
Насколько я понимаю, вы обошли это поведение, добавив второй статический NAT. На мой взгляд, если вы удалите вторую запись NAT и активируете опцию same-security-traffic, она должна работать.
Но я настоятельно рекомендую вам купить публичный IP :-)
Я думаю, ты получишь единственный ответ - нет.
Нет никакого способа, которым ACL или оператор NAT могут учесть изменение IP-адреса, этого просто не может произойти.
Собственно, ты мог заставить его работать с внутренними изменениями DNS.
Допустим, у вас есть несколько сервисов:
static (dmz,outside) tcp interface www 192.168.1.5 www netmask 255.255.255.255
static (dmz,outside) tcp interface smtp 192.168.1.6 www netmask 255.255.255.255
static (dmz,outside) tcp interface ftp 192.168.1.9 www netmask 255.255.255.255
Допустим, у вас есть example.org
указал с помощью поставщика динамического DNS на ваш постоянно меняющийся общедоступный IP-адрес.
Вы можете запустить внутренний сервер имен, указав example.org
по адресу, скажем, 192.168.1.254, и используйте следующее:
static (dmz,inside) tcp 192.168.1.254 www 192.168.1.5 www netmask 255.255.255.255
static (dmz,inside) tcp 192.168.1.254 smtp 192.168.1.6 www netmask 255.255.255.255
static (dmz,inside) tcp 192.168.1.254 ftp 192.168.1.9 www netmask 255.255.255.255
Затем вы указываете своим клиентам на свой внутренний сервер имен и смотрите на него.
Предостережение заключается в том, что для каждой новой службы, которую вы добавляете, вам нужно будет настроить статику для внутренней сети и статическую для внешнего интерфейса, а также разрешить это в ACL как изнутри, так и снаружи. Однако при изменении вашего общедоступного IP-адреса ваш трафик по-прежнему будет идти туда, куда вы хотите.