在Debian系统上设置防火墙主要是通过iptables
或firewalld
命令来实现的。以下是两种方法的详细步骤:
使用iptables设置防火墙
- 安装iptables(如果尚未安装):
sudo apt-get update sudo apt-get install iptables
- 配置规则:
- 编辑
/etc/iptables.rules
文件,添加所需的规则。例如:
*filter # Allow loopback traffic -A INPUT -i lo -j ACCEPT # Allow established and related connections -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Allow outbound traffic -A OUTPUT -j ACCEPT # Allow SSH access -A INPUT -p tcp --dport 22 -j ACCEPT # Allow HTTP and HTTPS traffic -A INPUT -p tcp --dport 80 -j ACCEPT -A INPUT -p tcp --dport 443 -j ACCEPT # Allow ICMP packets (ping) -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT COMMIT
- 保存规则:
sudo iptables-save > /etc/iptables.rules
- 在系统启动时自动加载规则,可以创建一个启动脚本:
sudo vim /etc/network/if-pre-up.d/iptables
内容如下:
#!/bin/sh /sbin/iptables-restore < /etc/iptables.rules
给予执行权限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
- 启用防火墙:
sudo iptables-restore < /etc/iptables.rules
使用firewalld设置防火墙
- 安装firewalld(如果尚未安装):
sudo apt-get update sudo apt-get install firewalld
- 启动并启用firewalld服务:
sudo systemctl start firewalld sudo systemctl enable firewalld
- 开放端口:
- 查看端口是否已经被开放:
sudo firewall-cmd --query-port=60091/tcp
- 开放端口,并设置永久:
sudo firewall-cmd --add-port=60091/tcp --permanent sudo firewall-cmd --reload
- 开放某个服务:
- 查看系统支持的网络服务列表:
sudo firewall-cmd --get-services
- 开放SSH服务:
sudo firewall-cmd --add-service=ssh --permanent sudo firewall-cmd --reload
请注意,在使用iptables
或firewalld
配置防火墙时,应小心谨慎,确保只开放必要的端口和服务,以减少潜在的安全风险。对于复杂的规则配置,建议详细阅读相关文档或寻求专业人士的帮助。