Скрипт Iptables

Какое место для запуска / остановки скрипта iptables? В настоящее время я поместил его в /etc/init.d и у него есть опции start / stop. Однако я не думаю, что это лучшее место. Два других, согласно моим исследованиям:

  • /etc/network/interface -> pre-up

  • /etc/network/if-*.d (вызовет ли это мой сценарий с аргументом start / stop ?)

Так, где правильное место?

3
задан 30 October 2012 в 07:01

1 ответ

/etc/init.d устарел из-за этого, потому что тогда возникает состояние гонки - на несколько секунд при перезагрузке у вас есть сеть, но не включен брандмауэр. не делай этого.

Как правило, вы хотите настроить брандмауэр по своему вкусу, затем выполните iptables-save > /etc/network/iptables. Теперь создайте /etc/network/if-pre-up.d/iptables.sh следующим образом:

#!/bin/sh
/sbin/iptables-restore < /etc/network/iptables

Убедитесь, что оба файла принадлежат пользователю root, и chmod 400 /etc/network/iptables ; chmod 755 /etc/network/if-pre-up.d/iptables.sh для правильной установки разрешений - непривилегированные пользователи не должны иметь возможность читать ваш фактический набор правил межсетевого экрана. тем более измените его, но ваш скрипт в if-pre-up.d должен быть исполняемым. (При желании вы можете изменить его на 700, если вы чувствуете себя резвым; но я не вижу, чтобы это хоть как-то сохраняло безопасность.)

Вам не нужен down Сценарий для этого, просто предварительная подготовка. Вы , в частности, хотите выполнить предварительную настройку, потому что это не дает вам когда-либо подключать сетевой интерфейс без брандмауэра.

0
ответ дан 30 October 2012 в 07:01

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

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