RouterOS/Cisco下有一个称为“安全模式”的功能。当有人按 CTRL+X 时,终端进入“安全模式”,这意味着如果终端以“不良方式”存在,例如:用户使用不良的防火墙策略将自己锁定等,那么配置将恢复到安全模式启动前的状态。如果安全模式下的终端存在,例如用户发出“退出”命令,那么所有配置修改都将是永久性的。
Linux下有没有像“安全模式”这样强大的功能?
答案1
关于“使用错误的防火墙策略锁定”,我通常会设置一个 5 分钟的 cronjob,其中包含一个重置 iptables 配置的脚本:
#!/bin/sh
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
这样我就可以远程测试 iptables 配置,而不必担心被锁定。
其实当修改在现有配置中,您可以配置 cronjob 以使用默认的已知工作配置执行 iptables-restore。
当您确定conf可以工作时,只需删除cronjob(或将其注释掉以供将来使用)。
我很确定您可以为其他所有服务提出解决方案。例如,您可以创建一个脚本来恢复 sshd 配置,设置一个 cronjob 来恢复它,例如10分钟,修改正在运行的confing,如果它不起作用(并被踢出),只需等待作业恢复旧的工作配置即可。