在Debian系统上,防火墙的故障排查可以通过多种工具和方法进行,包括iptables和ufw。以下是详细的故障排除步骤:
检查ufw状态
sudo ufw status
命令查看ufw是否启用。如果未启用,可以使用 sudo ufw enable
命令启用它。查看ufw规则
sudo ufw status verbose
命令查看当前防火墙的状态、默认策略以及每条规则的详细信息。添加或删除规则
sudo ufw allow 22/tcp
允许SSH端口。sudo ufw deny 22/tcp
拒绝SSH端口。启用日志记录
sudo ufw logging on
命令启用日志记录。日志文件通常保存在 /var/log/ufw.log
,可以使用 sudo less /var/log/ufw.log
命令查看日志内容。删除规则
sudo ufw delete allow ssh
删除允许SSH端口的规则。查看iptables规则
sudo iptables -L -n -v
命令查看当前所有的iptables规则,并检查是否有拼写错误、缺少关键字等问题。保存和恢复iptables规则
sudo iptables-save /etc/iptables.rules
。sudo tee /etc/network/if-pre-up.d/iptables << EOF
#!/bin/sh
/sbin/iptables-restore < /etc/iptables.rules
EOF
sudo chmod +x /etc/network/if-pre-up.d/iptables
清空iptables规则
sudo iptables -F
清空所有iptables规则。sudo iptables -X
清空所有链。设置默认策略
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
检查物理连接
ethtool
查看网卡的物理连接状态:sudo ethtool eth0
。检查网卡状态
ifconfig
或 ip addr
检查网卡状态:ip addr show eth1
。检查网关配置
route
命令查看内核路由表:sudo route -n
。检查DNS配置
nslookup
或 dig
命令检查DNS解析:nslookup example.com
。/etc/resolv.conf
文件中的DNS服务器配置。使用nmap检查端口开放情况
sudo nmap -p 22 220.181.111.188
命令显示端口的开放情况,帮助确定端口是否被防火墙过滤。通过以上步骤,您可以有效地进行Debian防火墙的故障排除。如果问题依然存在,建议查看系统日志或寻求专业技术支持。