在远程Linux服务器上设置防火墙通常是为了保护服务器免受未经授权的访问和潜在的网络攻击。以下是一些常用的Linux防火墙设置方法:
1. 使用 iptables
设置防火墙
iptables
是 Linux 系统中最常用的防火墙工具之一。以下是一些基本的 iptables
命令示例:
1.1 查看当前的防火墙规则
sudo iptables -L -v -n
1.2 允许特定端口的流量
例如,允许 SSH(端口 22)和 HTTP(端口 80)流量:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
1.3 允许特定 IP 地址的流量
例如,允许 IP 地址为 192.168.1.100
的用户访问:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
1.4 拒绝所有未允许的流量
sudo iptables -A INPUT -j DROP
1.5 保存防火墙规则
sudo service iptables save
2. 使用 ufw
设置防火墙(适用于 Ubuntu/Debian 系统)
ufw
是一个基于 iptables
的用户友好型防火墙管理工具。以下是一些基本的 ufw
命令示例:
2.1 安装 ufw
sudo apt update sudo apt install ufw
2.2 启用 ufw
sudo ufw enable
2.3 查看当前的防火墙规则
sudo ufw status
2.4 允许特定端口的流量
例如,允许 SSH(端口 22)和 HTTP(端口 80)流量:
sudo ufw allow 22/tcp sudo ufw allow 80/tcp
2.5 允许特定 IP 地址的流量
例如,允许 IP 地址为 192.168.1.100
的用户访问:
sudo ufw allow from 192.168.1.100 to any port 22
2.6 拒绝所有未允许的流量
sudo ufw deny all
2.7 保存防火墙规则
sudo ufw save
3. 使用 firewalld
设置防火墙(适用于 CentOS/RHEL 系统)
firewalld
是另一个流行的防火墙管理工具,它使用动态防火墙管理方法。以下是一些基本的 firewalld
命令示例:
3.1 安装 firewalld
sudo yum install firewalld
3.2 启动 firewalld 服务
sudo systemctl start firewalld
3.3 设置开机启动
sudo systemctl enable firewalld
3.4 查看当前的防火墙区域和规则
sudo firewall-cmd --list-all
3.5 允许特定端口的流量
例如,允许 SSH(端口 22)和 HTTP(端口 80)流量:
sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --reload
3.6 允许特定 IP 地址的流量
例如,允许 IP 地址为 192.168.1.100
的用户访问:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="22" protocol="tcp" accept' sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" port port="80" protocol="tcp" accept' sudo firewall-cmd --reload
3.7 拒绝所有未允许的流量
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" accept' sudo firewall-cmd --reload
3.8 保存防火墙规则
sudo firewall-cmd --runtime-to-permanent
通过以上步骤,您可以在远程Linux服务器上设置和管理防火墙规则,以保护您的服务器免受网络威胁。