如果我们在启动firewalld服务之前使用firewall-cmd打开端口,则会失败并提示“firewalld未运行”。
如果我启动firewalld,我会与远程服务器断开连接,因为我在不同于 22 的端口上运行 SSH。
我该如何配置远程服务器而不失去与它的连接?
答案1
firewall-offline-cmd是firewalld守护进程的离线命令行客户端。仅当firewalld 服务未运行时才应使用它。例如,从 system-config-firewall/lokkit 迁移或在安装环境中使用 kickstart 配置防火墙设置。
一些基本示例:
# firewall-offline-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
success
# firewall-offline-cmd --direct --add-rule ipv4 filter INPUT 0 -p udp -m state --state NEW -m udp --dport 69 -j ACCEPT
success
# firewall-offline-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp -m state --state NEW -m tcp --dport 8000 -j ACCEPT
success
# firewall-offline-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
success
# firewall-offline-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp -m state --state NEW -m tcp --dport 8443 -j ACCEPT
success
如果您的防火墙因某种原因将您踢出系统,请告诉您的系统在 2 分钟内重新启动:
# shutdown -r +2 "Enabling firewall. If access is lost, server will restart in 5 minutes."
当你准备好时:
systemctl start firewalld
如果一切正常,取消关闭:
# shutdown -c
最后,启用该服务并确保您的配置是永久性的:
# systemctl enable firewalld
# firewall-cmd --runtime-to-permanent
完整详细信息请参见此处:https://firewalld.org/documentation/man-pages/firewall-offline-cmd.html和这里:https://manpages.debian.org/unstable/firewalld/firewall-offline-cmd.1.en.html