Я использую VPS и хочу сбросить правила iptables в исходное состояние по умолчанию. Вот какие команды я придумал:
#!/bin/sh
echo "Resetting all iptables rules..."
#Reset default table policies
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#Reset nat table policies
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P INPUT ACCEPT
iptables -t nat -P OUTPUT ACCEPT
#Reset mangle table policies
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT
#Reset raw table policies
iptables -t raw -P PREROUTING ACCEPT
iptables -t raw -P OUTPUT ACCEPT
#Flush all rules and delete empty chains
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -t raw -F
iptables -t raw -X
ВОПРОСЫ:
Достаточно ли полны эти правила? Я испортил свои iptables и просто хочу начать с чистого листа.
Будет ли мой VPS заблокирован после перезагрузки?
Нужно ли мне использовать команду -Z для каждой таблицы, чтобы обнулить счетчики пакетов и байтов для всех правил в цепочке? Например. "iptables -t nat -Z" (и повторить то же самое для всех остальных таблиц)?
Спасибо!
Я думаю, что это неплохо; Я не могу придумать ни одного правила, которое могло бы избежать этой обрезки.
Это зависит. Каковы ваши текущие правила перезагрузки? Если они будут отбрасывать все, то да, вы заблокируете себя. Сценарий, который вы показали выше, прекрасен (см. 1.), но он не будет запускаться при перезагрузке волшебным образом.
Это зависит от того, хотите ли вы обнулить счетчики или нет.
Что касается того, что вас не заблокируют, я согласен с Пауской в том, что удаленная работа брандмауэра может быть сложной задачей. Вот почему, прежде чем я зафиксирую какие-либо изменения, внесенные в брандмауэры удаленной системы, я
# at now+5min
at> service iptables stop
at> ^D
Если изменения, которые я затем фиксирую, заблокируют меня, что ж, я смогу вернуться через пять минут. Если они этого не сделают, я могу использовать atrm
чтобы удалить только что отправленную мной работу. Несколько раз это спасло мою задницу! (NB: это service
подходит для Red Hat Linuces, вам может потребоваться найти эквивалент для других unices.)