Linux防火墙更新与升级指南
Linux防火墙的更新与升级主要分为两类场景:防火墙工具本身的版本升级(如iptables、firewalld)和防火墙规则/配置更新。以下是具体操作方法及注意事项:
规则更新是日常维护的核心,旨在调整访问控制策略以适应网络环境变化。不同工具的操作逻辑略有差异:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 添加规则
sudo iptables -D INPUT -p tcp --dport 8080 -j ACCEPT # 删除旧规则(若有)
sudo service iptables save # CentOS 7及之前
sudo iptables-save > /etc/sysconfig/iptables # Debian/Ubuntu
/etc/sysconfig/iptables
),需通过以下命令恢复:sudo iptables-restore < /etc/sysconfig/iptables
sudo firewall-cmd --reload
sudo firewall-cmd --complete-reload
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --reload # 使永久规则生效
/etc/firewalld/zones/
下的区域文件(如public.xml
),调整规则后重载。/etc/ufw/user.rules
(入站规则)或/etc/ufw/user6.rules
(IPv6规则)。sudo ufw reload
版本升级旨在获取最新安全补丁和功能改进,通常通过系统包管理器完成:
sudo apt update
sudo apt upgrade iptables # 升级iptables
sudo apt upgrade firewalld # 升级firewalld
sudo apt upgrade ufw # 升级ufw
apt-cache policy
查看可用版本,再指定安装:sudo apt install iptables=1.8.7-1 # 示例版本
sudo yum update # CentOS 7及之前
sudo dnf update # CentOS 8及以上/Fedora
sudo yum install iptables-services # 安装/升级iptables服务
sudo systemctl restart iptables # 重启服务
sudo yum update firewalld # 升级firewalld
sudo systemctl restart firewalld # 重启服务
iptables源码升级:
sudo cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
iptables-1.8.7.tar.bz2
):wget https://www.netfilter.org/projects/iptables/files/iptables-1.8.7.tar.bz2
bunzip2 iptables-1.8.7.tar.bz2
tar -xvf iptables-1.8.7.tar
cd iptables-1.8.7
./configure --disable-nftables
make
sudo make install
iptables -V
sudo cp /etc/sysconfig/iptables.bak /etc/sysconfig/iptables
sudo systemctl restart iptables
firewalld源码升级:
sudo cp -rf /etc/firewalld /etc/firewalld.bak
firewalld-1.0.0.tar.gz
):wget https://github.com/firewalld/firewalld/archive/refs/tags/v1.0.0.tar.gz
tar -zxvf v1.0.0.tar.gz
cd firewalld-1.0.0
./configure
make
sudo make install
sudo mv /usr/sbin/firewalld /usr/sbin/firewalld.old
sudo ln -s /usr/local/sbin/firewalld /usr/sbin/firewalld
sudo systemctl restart firewalld
iptables-save > backup.iptables
、cp -rf /etc/firewalld /etc/firewalld.bak
),避免配置丢失导致服务中断。systemctl restart iptables
/firewalld
)以应用更改。通过以上步骤,可有效实现Linux防火墙的规则更新与工具版本升级,保障系统网络安全。