温馨提示×

Debian防火墙如何端口开放

小樊
63
2025-10-12 19:06:23
栏目: 智能运维

Debian系统开放防火墙端口的常用方法

1. 使用UFW(推荐,适合新手)

UFW(Uncomplicated Firewall)是Debian/Ubuntu系统的默认防火墙工具,操作简单直观,适合大多数用户。

1.1 安装与启用UFW

sudo apt update
sudo apt install ufw  # 安装UFW
sudo ufw enable       # 启用UFW(默认拒绝所有入站,允许所有出站)

1.2 开放端口

  • 单个端口(TCP)
    例如开放HTTP服务(端口80):
    sudo ufw allow 80/tcp
    
  • 单个端口(UDP)
    例如开放DNS服务(端口53):
    sudo ufw allow 53/udp
    
  • 端口范围
    例如开放3000-3100的TCP端口:
    sudo ufw allow 3000:3100/tcp
    
  • 特定IP访问
    例如仅允许IP 192.168.1.100访问SSH(端口22):
    sudo ufw allow from 192.168.1.100 to any port 22
    

1.3 验证与删除规则

  • 查看状态
    sudo ufw status verbose  # 显示详细规则(包括端口和协议)
    
  • 删除规则
    例如删除端口80的TCP规则:
    sudo ufw delete allow 80/tcp
    

1.4 默认策略

建议设置默认策略,增强安全性:

sudo ufw default deny incoming  # 拒绝所有入站连接(默认)
sudo ufw default allow outgoing # 允许所有出站连接(默认)

2. 使用iptables(底层工具,适合高级用户)

iptables是Linux内核级的防火墙工具,功能强大但配置复杂,适合需要精细控制的场景。

2.1 安装与保存规则

sudo apt update
sudo apt install iptables iptables-persistent  # 安装iptables及持久化工具
sudo netfilter-persistent save                 # 保存当前规则(首次安装后执行)

2.2 开放端口

  • TCP端口
    例如开放HTTPS服务(端口443):
    sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
    
  • UDP端口
    例如开放DHCP服务(端口67/68):
    sudo iptables -A INPUT -p udp --dport 67:68 -j ACCEPT
    
  • 特定IP访问
    例如仅允许IP 10.0.0.5访问FTP(端口21):
    sudo iptables -A INPUT -p tcp -s 10.0.0.5 --dport 21 -j ACCEPT
    

2.3 持久化规则

sudo netfilter-persistent save  # 手动保存规则(重启后仍有效)
sudo systemctl enable netfilter-persistent  # 设置开机自动保存

2.4 删除规则

例如删除TCP端口443的规则:

sudo iptables -D INPUT -p tcp --dport 443 -j ACCEPT

3. 使用firewalld(动态防火墙,适合需要频繁变更的场景)

firewalld是Red Hat系默认工具,支持动态规则管理(无需重启服务),但Debian需手动安装。

3.1 安装与启动

sudo apt update
sudo apt install firewalld
sudo systemctl start firewalld
sudo systemctl enable firewalld

3.2 开放端口

  • 永久开放端口
    例如开放SMTP服务(端口25):
    sudo firewall-cmd --permanent --zone=public --add-port=25/tcp
    sudo firewall-cmd --reload  # 重新加载配置(使永久规则生效)
    
  • 临时开放端口(重启后失效):
    sudo firewall-cmd --zone=public --add-port=25/tcp
    

3.3 查看规则

sudo firewall-cmd --list-ports      # 查看所有开放端口
sudo firewall-cmd --list-all        # 查看完整规则(包括区域、服务)

注意事项

  1. 优先使用UFW:UFW更适合日常使用,避免直接操作iptables的复杂性。
  2. 默认拒绝:确保默认入站策略为deny,仅开放必要端口。
  3. 测试规则:修改规则后,通过telnetnc命令测试端口是否可达(如telnet your-server-ip 80)。
  4. 备份规则:定期备份iptables或UFW规则(如sudo ufw export > ufw-backup.txt)。

通过以上方法,可根据需求选择合适的工具开放Debian防火墙端口,确保系统安全。

0