Я решил запустить эту команду
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
Затем я перезагрузил систему. Приведенный выше сценарий запустится, и теперь я могу получить доступ к своему серверу.
После того, как все в порядке, я удалил все приведенные выше команды, чтобы предотвратить повторный автоматический запуск во второй раз.