sudo systemctl start firewalld
,并设置开机自启:sudo systemctl enable firewalld
(需先安装firewalld服务)主流防火墙工具及启动方法
不同Linux发行版默认使用不同的防火墙工具,常见工具包括 firewalld
、iptables
和 nftables
,以下是它们的核心启动方法:
工具 | 启动命令 | 查看状态 | 设置开机自启 |
---|---|---|---|
firewalld | sudo systemctl start firewalld |
sudo firewall-cmd --state |
sudo systemctl enable firewalld |
iptables | sudo systemctl start iptables |
sudo iptables -L |
sudo systemctl enable iptables |
nftables | sudo systemctl start nftables |
sudo nft list ruleset |
sudo systemctl enable nftables |
通用步骤(以firewalld为例)
-
检查是否安装
若提示命令未找到(如firewall-cmd: command not found
),需先安装:sudo yum install firewalld -y # 适用于CentOS/RHEL sudo apt install firewalld -y # 适用于Debian/Ubuntu
-
启动防火墙
sudo systemctl start firewalld # 立即启动 sudo systemctl enable firewalld # 设置开机自启
-
验证状态
sudo firewall-cmd --state # 返回 running 表示已启动 sudo systemctl status firewalld # 查看详细运行状态
配置防火墙规则
启动防火墙后,需配置规则以允许或阻止特定流量,不同工具的操作差异较大:
firewalld(动态管理)
- 开放端口(如SSH的22端口):
sudo firewall-cmd --permanent --add-port=22/tcp sudo firewall-cmd --reload # 应用更改
- 删除规则:
sudo firewall-cmd --permanent --remove-port=22/tcp sudo firewall-cmd --reload
- 查看当前规则:
sudo firewall-cmd --list-all
iptables(手动配置)
- 开放端口:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 添加规则 sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 示例:开放HTTP sudo iptables-save > /etc/iptables/rules.v4 # 保存规则
- 删除规则:
sudo iptables -D INPUT -p tcp --dport 22 -j ACCEPT
nftables(新一代工具)
- 开放端口:
sudo nft add table inet filter sudo nft add chain inet filter input { type filter hook input priority 0 ; } sudo nft add rule inet filter input tcp dport 22 accept
常见问题与解决方案
Q1:如何确认防火墙已成功启动?
- firewalld:
sudo firewall-cmd --state # 应返回 running
- iptables:
sudo iptables -L # 列出规则,若无默认规则则表示未配置
Q2:防火墙未安装时如何安装?
- CentOS/RHEL:
sudo yum install firewalld -y
- Debian/Ubuntu:
sudo apt update sudo apt install firewalld -y
注意事项
-
工具兼容性:
firewalld
是RHEL系(CentOS、Fedora)的默认工具,支持动态管理。iptables
是传统工具,需手动保存规则,适合精细化控制。nftables
是新一代工具,性能更高,但配置复杂。
-
规则冲突:避免同时使用多种工具(如
firewalld
和iptables
),可能导致规则冲突。
通过以上步骤,可灵活选择工具并配置防火墙,建议优先使用系统默认工具(如 firewalld
),以降低维护复杂度
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/67809.html