银河麒麟服务器操作系统 V10 SP1 防火墙(firewalld)指令详解
1. 防火墙简介
在银河麒麟服务器操作系统 V10 SP1 中,firewalld 是默认的防火墙管理工具。它提供了动态管理防火墙规则的能力,支持区域(zone)的概念,能够灵活地控制网络流量。
2. 防火墙基本操作
- 2.1 启动、停止和重启防火墙
- 启动防火墙:
sudo systemctl start firewalld
停止防火墙:
sudo systemctl stop firewalld
重启防火墙:
sudo systemctl restart firewalld
查看防火墙状态:
sudo systemctl status firewalld
2.2 设置开机自启动
启用开机自启动:
sudo systemctl enable firewalld
禁用开机自启动:
sudo systemctl disable firewalld
3. 防火墙区域管理
firewalld 使用区域(zone)来管理网络接口和流量。默认区域为 public。
3.1 查看当前区域
sudo firewall-cmd --get-default-zone
3.2 查看所有可用区域
sudo firewall-cmd --get-zones
3.3 更改默认区域
sudo firewall-cmd --set-default-zone=home
3.4 查看指定区域的配置
sudo firewall-cmd --zone=public --list-all
4. 端口管理
4.1 开放端口
临时开放端口(重启后失效):
sudo firewall-cmd --zone=public --add-port=80/tcp
永久开放端口:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
4.2 关闭端口
临时关闭端口:
sudo firewall-cmd --zone=public --remove-port=80/tcp
永久关闭端口:
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
4.3 查看已开放的端口
sudo firewall-cmd --zone=public --list-ports
5. 服务管理
firewalld 支持通过服务名称来管理规则,例如 http、https 等。
5.1 开放服务
临时开放服务:
sudo firewall-cmd --zone=public --add-service=http
永久开放服务:
sudo firewall-cmd --zone=public --add-service=http --permanent
5.2 关闭服务
临时关闭服务:
sudo firewall-cmd --zone=public --remove-service=http
永久关闭服务:
sudo firewall-cmd --zone=public --remove-service=http --permanent
5.3 查看已开放的服务
sudo firewall-cmd --zone=public --list-services
6. 重载防火墙配置
在修改了防火墙规则后,需要重载配置使其生效:
sudo firewall-cmd --reload
7. 高级配置
7.1 添加富规则(Rich Rules)
富规则允许更复杂的规则配置,例如限制源IP地址。
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="http" accept'
7.2 删除富规则
sudo firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.0/24" service name="http" accept'
8. 常见问题
规则未生效:修改规则后,记得使用 --reload 重载配置。
端口冲突:确保开放的端口没有被其他服务占用。
服务未识别:如果自定义服务未识别,可以手动添加服务定义。
9. 总结
通过以上指令,你可以轻松管理银河麒麟服务器操作系统 V10 SP1 的防火墙。firewalld 提供了灵活且强大的功能,能够满足大多数场景下的防火墙需求。如果你有任何问题或建议,欢迎在评论区留言。