а) скрипты rc[0-6].d выполняются один раз при смене runlevel'а
б) rc.local исполняется вообще любой смене runlevel'а
в) скрипты в if-up.d отвечают за инициализацию сетевой подсистемы при любом переконфигурировании интерфейса.
какой вариант более подходит для инициализации таблиц файрвола?
На момент поднятия iptables, должны быть запущенны интерфейсы.
Именно.
Лучше если iptables поднимаеться сразу после поднятия интерфейсов.
Именно СРАЗУ после поднятия. А не когда рак на горе свистнет или рунлевел сменится.
Вообщем-то и то тот и другой вариан рабочий.
Какой тот и какой другой?
Если один из интерфейсов перестанет работать, то неизвесно подниметься ли iptables вообще.
Чё? Если интерфейс перестаёт работать, он опускается, а не поднимается. (если только не зависает обслуживающий интефейс процесс)
Если мы переконфигурим один из интерфейсов, нам всеравно прийдеться конфигурировать iptables(смотря как настроены правила).
Расшифруй. И... "Переконфигурация" включает и банальное поднимание-опускание.
Правила, загружаемые через rc.local или init.d никак на это отреагировать не смогут.
Что я не правильно говорю ?
Всё правильно (в этом посте). Проблема в том, что ты говоришь, не задумываясь над своими словами.