启动前在 CentOS 上设置firewalld

启动前在 CentOS 上设置firewalld

如果我们在启动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

相关内容