Установлен Debian 7.3. В компе стоят три сетевухи – одна для внутренней сети и две для двух внешних сетей.
Сделал как написано здесь - https://wiki.debian.org/iptables
Сделал скрипт «set-iptables-rules» с таким содержимым:
#!/bin/bash
/sbin/iptables-restore < /etc/iptables-rules
Поместил его в каталог «/etc/network/if-pre-up.d/»
Оказалось, что скрипт загрузки правил iptables выполняется несколько раз (для всех сетевух, для loopback-интерфейса и еще раз с неким именем интерфейса «--all»).
IFACE=--all
IFACE=lo
IFACE=eth0
IFACE=eth1
IFACE=eth2
Получается правила будут грузиться всякий раз когда «дергается» какой-либо интерфейс. А если у одного из провайдеров проблемы с оборудованием и линк до него постоянно падает/поднимается? При этом получается из-за проблем у одного провайдера мы «дергаем» и все остальные сетевые подключения.
А вот здесь - http://debian-handbook.info/browse/stable/sect.firewall-packet-filtering.html написано, что правила iptables нужно грузить через параметры /etc/network/interfaces. Но это получается схема аналогичная предыдущему варианту.
Есть еще один официальный вариант - предлагаемый на офсайте пакет iptables-persistent. Он грузит правила из сценариев инициализации.
В итоге у меня возникли вопросы:
1) Подскажите пожалуйста как наиболее корректно грузить правила iptables??
2) Подскажите, если грузится правило iptables, в котором используется некий сетевой интерфейс (-i/-o eth0), а этот интерфейс в момент загрузки правила еще не инициализирован, то как это может повлиять на загрузку (и работу) правила?? (а тем более, если я переименовал интерфейс через «/etc/udev/rules.d/70-persistent-net.rules»)