不同的 Linux 发行版(如 CentOS、Ubuntu、Debian、Fedora、SUSE)对防火墙工具的默认选择和操作方法有所不同。下面介绍几种常见发行版中的防火墙管理方式。
1. CentOS / RHEL (Red Hat Enterprise Linux)
在 CentOS 7 和更高版本,firewalld
是默认的防火墙工具。以前的版本(如 CentOS 6)使用 iptables
。你可以根据系统需要选择使用 firewalld
或 iptables
。
使用 firewalld
# 查看防火墙状态
firewall-cmd --state
# 启动 firewalld
systemctl start firewalld
# 查看已开放的端口
firewall-cmd --list-ports
# 开放 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
使用 iptables
对于老版本的 CentOS 或禁用了 firewalld
的系统,使用 iptables
。
# 查看规则
iptables -L
# 允许 80 端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 清除所有规则
iptables -F
2. Ubuntu / Debian
在 Ubuntu 和 Debian 中,通常使用 ufw
(Uncomplicated Firewall)作为高级防火墙工具,但 iptables
也是支持的。
使用 ufw
# 启用 ufw
ufw enable
# 查看状态
ufw status
# 开放 80 端口
ufw allow 80/tcp
# 拒绝 22 端口
ufw deny 22/tcp
# 禁用 ufw
ufw disable
使用 iptables
# 查看规则
iptables -L
# 开放 80 端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 保存规则
iptables-save > /etc/iptables/rules.v4
3. Fedora
Fedora 默认使用 firewalld
,与 CentOS 7 类似,管理方式一样。
# 启动 firewalld
systemctl start firewalld
# 查看状态
firewall-cmd --state
# 开放 443 端口
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
4. SUSE Linux
在 SUSE Linux Enterprise Server (SLES) 和 openSUSE 中,默认的防火墙管理工具是 firewalld
或 SuSEfirewall2
(较旧版本中)。
使用 firewalld
# 查看状态
firewall-cmd --state
# 启动防火墙
systemctl start firewalld
# 开放 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
使用 SuSEfirewall2
(较老版本)
# 启动 SuSEfirewall2
systemctl start SuSEfirewall2
# 开放端口
yast firewall
# 或手动编辑配置文件并重启防火墙服务
vi /etc/sysconfig/SuSEfirewall2
systemctl restart SuSEfirewall2
5. Arch Linux
Arch Linux 提供高度灵活的工具,默认可以使用 iptables
或 nftables
。
使用 iptables
# 启动 iptables
systemctl start iptables
# 开放 80 端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 保存规则
iptables-save > /etc/iptables/iptables.rules
使用 nftables
nftables
是 iptables
的替代工具,适用于更复杂的场景。
# 查看当前规则
nft list ruleset
# 添加规则,允许 80 端口
nft add rule ip filter input tcp dport 80 accept
# 保存规则
nft list ruleset > /etc/nftables.conf
6. Gentoo
Gentoo 同样支持多种防火墙工具,如 iptables
和 nftables
。
使用 iptables
# 启动 iptables
/etc/init.d/iptables start
# 允许 80 端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 保存规则
/etc/init.d/iptables save
使用 nftables
# 查看当前规则
nft list ruleset
# 开放 80 端口
nft add rule ip filter input tcp dport 80 accept
# 保存规则
nft list ruleset > /etc/nftables.conf
总结
各 Linux 发行版在防火墙配置上都有各自的工具和方式。firewalld
和 ufw
是较为用户友好的高层工具,而 iptables
和 nftables
提供了更灵活的底层配置。不同的系统版本和发行版采用不同的默认工具,但你可以根据需求选择适合的防火墙管理工具。
评论区