#CentOS 配置防火墙

CentOS 7 提供了一个内置的防火墙管理工具 firewalld

使用 systemctl 命令来管理 firewalld 服务:

sudo systemctl start firewalld # 启动 firewalld
sudo systemctl stop firewalld # 停止 firewalld
sudo systemctl enable firewalld # 设置开机启动
sudo systemctl disable firewalld # 禁止开机启动

启用防火墙

启用防火墙之后,就可以使用 firewall-cmd 命令来管理防火墙规则了。

例如,添加一条新的规则,允许从外部 IP 192.168.1.2 访问本地的 SSH 服务:

sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.2" service name="ssh" accept'

此外,还可以使用 --permanent 选项来永久保存规则:

sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.2" service name="ssh" accept' --permanent

同样的,还可以使用 firewall-cmd 命令来移除不想要的规则:

sudo firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.2" service name="ssh" accept'

查看防火墙状态

可以使用 firewall-cmd 命令查看当前已启用的防火墙规则:

sudo firewall-cmd --list-all

该命令将会输出当前已启用的所有防火墙规则,包括默认的规则和自己添加的规则。