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

FWBuilder DNS Object Run Time - когда именно он разрешает DNS-имя?

Когда в Firewall Builder вы используете объект DNS и устанавливаете его на время выполнения, когда именно брандмауэр (в нашем случае iptables) действительно разрешает DNS-имя?

  1. Это всякий раз, когда выполняется вызов этого DNS-имени в брандмауэре? Значит, брандмауэр будет разрешать имя на лету, когда кто-то / что-то пытается получить доступ к этому DNS-имени?
  2. Или это когда вы выполняете скрипт fw для загрузки правил в iptables? Итак, в этом случае он будет разрешать DNS-имя, которое один раз, а затем жестко закодировать полученный IP-адрес в правилах iptable?

Из того, что я прочитал, я думаю, что это №1, но мне это не совсем понятно. У нас есть два сервера для выполнения определенной функции в нашей сети. Один из них является основным сервером, а другой - резервным.

alpha0.domain.com
alpha1.domain.com

В DNS у нас есть это:

alpha.domain.com -> alpha0.domain.com

Если основной сервер выходит из строя и нам нужно переключиться на резервный, я просто изменяю нашу локальную запись DNS, чтобы она указывала на alpha1.domain.com вместо.

Итак, вернемся к брандмауэру, если я просто добавлю объект домена как alpha.domain.com, мне нужно перезагружать правила брандмауэра каждый раз, когда мы переключаемся на резервный альфа-сервер и меняем запись DNS? Или брандмауэр автоматически определит правильный адрес даже после переключения?

iptables работает только с IP-адресами. Когда вы указываете DNS-имя в правиле iptables, программа пользовательского пространства iptables выполняет однократный поиск и загружает IP-адрес в ядро.

fwbuilder либо выводит IP-адрес (время компиляции), либо DNS-имя (время выполнения) в генерируемых им наборах правил. Но это не меняет того факта, что iptables выполняет только одноразовый поиск DNS-имени.

Так что вам придется каждый раз перезагружать правила.