防火墙常用命令
firewalld
# 检查防火墙状态:首先,确认 firewalld 是否正在运行,并查看当前防火墙的状态。
sudo systemctl status firewalld
# 开放端口:在选择了适当的区域后,可以使用以下命令来开放端口。
# sudo firewall-cmd --zone=<区域> --add-port=<端口号>/tcp --permanent
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重新加载防火墙配置:执行以下命令以重新加载防火墙配置,使更改生效。
sudo firewall-cmd --reload
# 验证端口是否已开放:可以使用以下命令检查已开放的端口是否正确生效。
# sudo firewall-cmd --zone=<区域> --list-ports
sudo firewall-cmd --zone=public --list-ports
iptables
# 添加规则:用于添加新的防火墙规则。以下是常见的命令格式
# 其中,<链名称> 是要添加规则的链的名称,如 INPUT、OUTPUT 或 FORWARD。<协议> 是要匹配的网络协议,如 tcp、udp 或 icmp。<目标端口> 是要匹配的目标端口号。<动作> 是针对匹配规则的操作,如 ACCEPT(接受连接)或 DROP(拒绝连接)。
# sudo iptables -A/I <链名称> -p <协议> --dport <目标端口> -j <动作>
# 使用 -I 参数将新规则插入到 INPUT 链的开头,因此它会优先匹配,可以更快地拒绝或接受连接。
# 使用 -A 参数将新规则附加到 INPUT 链的末尾,因此它会在该链的其他规则之后匹配。
sudo iptables -I INPUT -p tcp --dport 502 -j ACCEPT
# 列出规则:用于列出当前防火墙规则。
sudo iptables -L
# 删除规则:用于删除现有的防火墙规则。
# <链名称> 是要删除规则的链的名称,<规则编号> 是要删除的规则在链中的序号。可以使用
# sudo iptables -L --line-numbers 命令查看规则的序号。
sudo iptables -D <链名称> <规则编号>
# 清空规则:用于清除所有防火墙规则。
sudo iptables -F
# 手动保存和加载规则:可以手动保存当前的 iptables 规则,并在启动时加载它们。
sudo service iptables save