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

Не могу получить доступ к моему серверу после запуска iptables-restore. Как отменить эту команду

Я решил запустить эту команду

iptables-save | tee iptables_backup.conf | grep -v '\-A'

но вместо этого я случайно ввел дополнительную команду iptables-restore и запустил ее, и теперь мой сервер заблокирован. Я больше не могу использовать SSH:

iptables-save | tee iptables_backup.conf | grep -v '\-A' | iptables-restore

Я могу получить доступ к своему серверу с аварийного диска и просмотреть все файлы, но как мне отменить указанную выше команду, чтобы запустить сервер?

Я использую Centos 8.

Умно с вашей стороны сделать резервную копию. Почему бы не использовать это?

iptables-restore < iptables_backup.conf

Поскольку резервная копия была бесполезной, потому что она не содержала ipv6, я должен был сделать еще одну резервную копию для ipv6, например:

ip6tables-save

Я решил это, восстановив iptables в исходное состояние во время загрузки с помощью rc.local. Итак, при загрузке в рекавери я отредактировал этот файл:

nano /etc/rc.d/rc.local

# Temporary commands to run once at startup to reset iptables to original state
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

ip6tables -F
ip6tables -X
ip6tables -t nat -F
ip6tables -t nat -X
ip6tables -t mangle -F
ip6tables -t mangle -X
ip6tables -P INPUT ACCEPT
ip6tables -P FORWARD ACCEPT
ip6tables -P OUTPUT ACCEPT

#chmod +x rc.local

Затем я перезагрузил систему. Приведенный выше сценарий запустится, и теперь я могу получить доступ к своему серверу.

После того, как все в порядке, я удалил все приведенные выше команды, чтобы предотвратить повторный автоматический запуск во второй раз.