iptables разрешает доменное имя dyndns и правила автоматического обновления

Я зарегистрировался в домене dyndns, чтобы мой динамически изменяющийся публичный IP-адрес использовался с правилами iptable. На сервере я разрешил некоторые порты для этого домена в конфигурации iptables, как показано ниже:

-A INPUT -s mycompany.dyndns.com -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s mycompany.dyndns.com -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -s mycompany.dyndns.com -p tcp -m tcp --dport 21 -j ACCEPT

Но когда мой модем перезагружается, я не могу подключиться к этим разрешенным портам при изменении публичного IP с перезагрузкой модема и не обновляются в iptables на сервере. Есть ли возможность автоматически обновлять правила iptable на сервере.

1
задан 13 October 2010 в 12:24

3 ответа

http://wjoseph.com/?p=20 Вот сообщение в блоге со ссылкой на скрипт, который принимает хост или файл со списком хостов в качестве аргумента, добавляет правила к iptables для каждого хоста для выбранных портов, затем добавляет задание cron, которое периодически проверяет изменения IP хоста.

0
ответ дан 13 October 2010 в 12:24

Короче говоря: нет, единственный способ обновить правило iptables - это заменить его (iptales -R ...) или удалить его и добавить новый с обновленным IP-адресом (iptables -D ..., за которым следует iptables -A .... ).

В этом посте обсуждается проблема и намечается решение.

0
ответ дан 13 October 2010 в 12:24

Но когда мой модем перезагружался, я не мог подключиться к этим разрешенным портам, так как общедоступный IP> изменяется при перезапуске модема и не обновляется в iptables на сервере.

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

Если вы укажете правила iptables, это может сбить с толку, так как вы увидите правила, которые вы применили с точным доменным именем.

iptables -L

Для большей ясности сохраните правила iptables в один файл и проверьте. Вы можете найти разрешенный IP-адрес вашего домена вместо имени домена.

iptables-save > /tmp/iptables.rules
0
ответ дан 19 December 2019 в 10:08

Другие вопросы по тегам:

Похожие вопросы: