Назад | Перейти на главную страницу

Не удается подключиться после iptables -F

Я хочу добавить белый список в свою систему с помощью iptables. Я поискал в Интернете и нашел следующее:

iptables -I INPUT -s 10.0.0.0/8 -j ACCEPT
iptables -I INPUT -s 127.0.0.1/8 -j ACCEPT
iptables -I INPUT -s 192.168.0.0/16 -j ACCEPT
iptables -P INPUT DROP

и это действительно работает. Так что я стреляю iptable -F чтобы удалить все правила, я больше не могу подключиться к этому серверу.

В чем дело?

Как правильно удалить все правила?

политика цепочки для INPUT установлена ​​на DROP.

При отсутствии правил все отбрасывается.

перед тем, как уничтожить все цепи, убедитесь, что все цепи имеют политику ПРИНЯТЬ a la iptables -P INPUT ACCEPT

В дополнение к правильному и полезному ответу Olipro я бы порекомендовал кое-что

избежать риска быть заблокированным вашим брандмауэром

Используйте привязанный к crontab скрипт, который повторно открывает брандмауэр в случае, если что-то пошло не так; как вы знаете, вы можете сделать ошибку в вашем sshd_config, которая не причинит реального вреда, пока вы все еще вошли в систему. Не так с iptables: одной ошибки может быть достаточно, и вы отключитесь. Для этого:

#!/bin/bash
# openFW.sh

IPT=$(which iptables)
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -F

NOW=$(date +"%H:%m")
echo "FW opened on %h at $NOW" | mail -s "FW reset cron job jh1" \
you@your.domain.com
logger "WARNING : iptables flushed and opened by cron job"

И с crontab -e поместите что-то вроде

#*/5 8-19 * * * /root/scripts/openFW.sh

чтобы очистить правила iptables и открывать микропрограммное обеспечение каждые 5 минут. Раскомментируйте это, прежде чем редактировать правила; проверьте правила (убедитесь, что они доступны и еще не сброшены заданием cron); после того, как все в порядке, закомментируйте, что убрать cron

Надеюсь это поможет.