在 Linux 中安装和设置防火墙通常涉及使用内置的防火墙工具,如 iptables、ufw 或 firewalld 等。以下是针对不同防火墙管理工具的基本操作步骤:
使用 iptables(基础版)
iptables 是内核空间的 netfilter 包过滤框架的用户空间命令行接口,可以用来定义防火墙规则。
-
查看现有规则:
sudo iptables -L -n
-
添加临时规则(例如允许端口80的HTTP流量):
sudo iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT sudo iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
-
保存当前规则到启动脚本 (对于 CentOS/RHEL 系统):
sudo service iptables save
-
开启并启用防火墙服务:
sudo systemctl start iptables.service sudo systemctl enable iptables.service
注意:不同的Linux发行版可能有不同的方式来持久化iptables规则。某些情况下可能需要修改 /etc/sysconfig/iptables
文件并在重启后自动加载。
使用 ufw(Uncomplicated Firewall)
UFW 是一个易于管理的 iptables 前端。
-
安装 ufw:
sudo apt-get install ufw # 对于基于Debian的系统,如Ubuntu
-
启用 ufw 并设置默认策略:
sudo ufw default deny incoming sudo ufw default allow outgoing
-
允许特定端口入站流量(比如允许 HTTP 流量):
sudo ufw allow 80/tcp
-
启用 ufw 防火墙:
sudo ufw enable
-
检查规则和状态:
sudo ufw status verbose
使用 firewalld
firewalld 是另一款动态管理防火墙和网络连接的服务,在一些现代Linux发行版中被预装或推荐使用。
-
安装 firewalld:
sudo yum install firewalld # 对于基于RHEL的系统,如CentOS
-
启动并启用 firewalld:
sudo systemctl start firewalld sudo systemctl enable firewalld
-
打开特定端口(例如HTTP的80端口):
sudo firewall-cmd --permanent --add-port=80/tcp sudo firewall-cmd --reload
-
检查规则:
sudo firewall-cmd --list-all
以上三个工具都是为了控制数据包过滤规则,根据你的系统环境和个人需求选择合适的工具进行操作。记得在调整防火墙设置后,务必测试以确保所需的网络访问并未被阻断。