服务器防火墙相关命令总结(Firewall-cmd)

59 阅读2分钟

服务器防火墙相关命令总结(Firewall-cmd)

开放指定端口给所有外部网络

永久生效命令,服务器重启后不需要重新配置

# 开放22端口,并永久生效
firewall-cmd --add-port=22/tcp --permanent

# 重启firewall
firewall-cmd --reload

临时生效命令,一般被用来做测试,但是如果没有手动删除的话在下次服务器重启前会一直有效

# 临时开放22端口,不需要firewall重启
firewall-cmd --add-port=22/tcp

# 手动删除已开放端口
firewall-cmd --remove-port=22/tcp

允许指定IP访问指定端口

永久生效命令,服务器重启后不需要重新配置

# 指定remote_ip的数据可以通过local_port端口;
# 实际使用时需替换remote_ip为真实IP,local_port为本地需要开放的端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="remote_ip" port port="local_port" protocol="tcp" accept'

# 重启 firewall
firewall-cmd --reload

临时生效命令,一般用来做测试,但是如果没有手动删除的话在下次服务器重启前会一直有效

# 指定remote_ip的数据可以通过local_port端口;
# 实际使用时需替换remote_ip为真实IP,local_port为本地需要开放的端口
firewall-cmd --add-rich-rule='rule family="ipv4" source address="remote_ip" port port="local_port" protocol="tcp" accept'

# 手动删除已开放端口
firewall-cmd --remove-rich-rule='rule family="ipv4" source address="remote_ip" port port="local_port" protocol="tcp" accept'

❗上述命令需要 root 用户执行,非 root 用户需在命令最前方加上 sudo

firewall-cmd的相关命令及其解释

命令解释
firewall-cmd --state查看防火墙状态
firewall-cmd --reload重新载入防火墙规则
firewall-cmd --panic-on激活临时封锁所有数据包的紧急模式
firewall-cmd --panic-off关闭紧急模式
firewall-cmd --add-service=允许指定服务
firewall-cmd --remove-service=拒绝指定服务
firewall-cmd --add-port=/tcp允许指定TCP端口
firewall-cmd --remove-port=/tcp拒绝指定TCP端口
firewall-cmd --permanent --add-service=永久允许指定服务
firewall-cmd --permanent --remove-service=永久拒绝指定服务
firewall-cmd --permanent --add-port=/tcp永久允许指定TCP端口
firewall-cmd --permanent --remove-port=/tcp永久拒绝指定TCP端口
firewall-cmd --list-services列出所有允许的服务
firewall-cmd --list-ports列出所有允许的端口

注意,若指定到具体端口,需要在操作后加上 /tcp/udp 等协议类型,否则无法生效。

以上是firewall-cmd的常用命令及其解释。如有需要,可以通过man firewall-cmd来查看更多详细信息。