温馨提示×

Debian Context里如何配置防火墙规则

小樊
66
2025-08-17 15:19:19
栏目: 智能运维

在Debian系统中,可通过ufwiptables工具配置防火墙规则,以下是具体方法:

一、使用ufw(推荐,简单易用)

1. 安装与启用

sudo apt update  
sudo apt install ufw  
sudo ufw enable  # 启用防火墙,默认拒绝入站、允许出站  

2. 常用规则配置

  • 允许特定端口(如SSH、HTTP):
    sudo ufw allow 22/tcp    # 允许SSH  
    sudo ufw allow 80/tcp    # 允许HTTP  
    sudo ufw allow 443/tcp   # 允许HTTPS  
    
  • 允许特定IP访问
    sudo ufw allow from 192.168.1.100 to any port 22  # 仅允许该IP访问SSH  
    
  • 拒绝端口/IP
    sudo ufw deny 23/tcp     # 拒绝FTP端口  
    sudo ufw deny from 10.0.0.1  # 拒绝该IP的所有访问  
    
  • 查看规则
    sudo ufw status  # 简略状态  
    sudo ufw status verbose  # 详细规则(含编号,方便删除)  
    
  • 删除规则
    sudo ufw delete allow 22/tcp  # 按规则内容删除  
    sudo ufw delete <规则编号>    # 按编号删除(需先通过`status verbose`查看编号)  
    

3. 高级配置(可选)

  • 设置默认策略(谨慎操作,可能影响服务):
    sudo ufw default deny incoming  # 拒绝所有入站(仅允许显式放行的规则)  
    sudo ufw default allow outgoing # 允许所有出站(默认已开启)  
    
  • 启用日志记录
    sudo ufw logging on  
    

二、使用iptables(需手动配置,适合高级用户)

1. 安装与基础配置

sudo apt install iptables  

2. 添加规则示例

  • 允许SSH(22端口)
    sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT  
    
  • 拒绝HTTP(80端口)
    sudo iptables -A INPUT -p tcp --dport 80 -j DROP  
    
  • 限制IP访问频率(防DDoS):
    sudo iptables -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 5 -j DROP  
    
  • 保存规则
    sudo iptables-save > /etc/iptables/rules.v4  # 保存规则  
    sudo sh -c "iptables-restore < /etc/iptables/rules.v4"  # 恢复规则  
    

3. 自动加载规则(开机启动)

创建脚本 /etc/network/if-pre-up.d/iptables

#!/bin/sh  
/sbin/iptables-restore < /etc/iptables/rules.v4  

赋予执行权限:

sudo chmod +x /etc/network/if-pre-up.d/iptables  

注意事项

  1. 优先使用ufw:适合新手,避免误操作导致服务中断。
  2. 测试规则:在生产环境应用前,先在测试环境验证规则有效性。
  3. 备份规则:修改前建议备份当前规则(如cp /etc/iptables/rules.v4 /etc/iptables/rules.v4.bak)。
  4. 查看日志:通过/var/log/syslogjournalctl监控防火墙活动。

参考来源:

0