firewall-cmd向指定IP开放端口
firewall-cmd命令介绍
firewall-cmd是Linux系统中firewalld防火墙服务的命令行管理工具,用户配置和管理防火墙规则,支持动态更新规则而无需重启服务。
核心功能
区域管理
● 查看当前区域:firewall-cmd --get-active-zones
● 查看默认区域:firewall-cmd -get-default-zone
● 修改默认区域:firewall-cmd --set-default-zone=public
端口管理
● 开放端口:firewall-cmd --zone=public --add-port=8848/tcp --permanent
● 查看开放端口:firewall-cmd --zone=public --list-ports
● 删除端口:firewall-cmd --zone=public --remove-port=8848/tcp --permanent
服务管理
● 开放服务:firewall-cmd --zone=public --add-service=http --permanent
● 查看服务:firewall-cmd --zone=public --list-services
富规则(Rich Rules)
● 允许指定IP访问端口:firewall-cmd --permanent --zone=public --add-rich-rules='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="8848" accept'
● 查看富规则:firewall-cmd --zone=public --list-rich-rules
配置生效
● 重载配置:firewall-cmd --reload
● 查看配置:firewall-cmd --list-all
常用参数
● --permanent:永久生效(需配合--reload)
● --zone:指定防火墙区域
● --add-port/--remove-port:添加/删除端口
● --add-service/--remove-service:添加/删除服务
● --add-rich-rule/--remove-rich-rule:添加/删除富规则
使用示例
添加规则
# 允许指定IP访问指定端口(示例:允许192.168.1.100访问8848/tcp)
firewall-cmd --permanent --zone=public \
--add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="8848" accept'
# 允许IP段访问(示例:允许192.168.1.0/24网段访问8848/tcp)
firewall-cmd --permanent --zone=public \
--add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8848" accept'
# 重载规则使配置生效
firewall-cmd --reload
# 查看已添加的富规则
firewall-cmd --zone=public --list-rich-rules
参数说明:
● --permanent:永久生效(不加则重启后失效)
● --zone=public:指定防火墙区域(通常使用public)
● source address:源IP地址,支持单个IP或CIDR网段
● port protocol:协议类型(tcp/udp)
● port:目标端口号
● accept:允许访问
删除规则
firewall-cmd --permanent --zone=public \
--remove-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="8848" accept'
firewall-cmd --reload
验证
执行firewall-cmd --zone=public --list-rich-rules查看规则是否生效,或从指定IP测试端口连通性。
- 本文标签: Linux firewall-cmd
- 本文链接: https://www.iquanzi.top/article/4
- 版权声明: 本文由张华永原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权