当前位置: 首页 > news >正文

Ubuntu 防火墙配置

Ubuntu 防火墙配置

  • 一、UFW 基础操作
  • 二、核心规则配置
  • 三、高级功能
  • 四、特殊场景配置
  • 五、规则管理
  • 六、默认策略与安全建议
  • 七、故障排除


一、UFW 基础操作

  1. 检查 UFW 状态

    sudo ufw status # 查看防火墙状态
    sudo ufw status verbose  # 显示详细规则
    sudo ufw status numbered  # 显示规则编号
    
  2. 安装与启用

    sudo apt install ufw  # 安装(Ubuntu通常预装)
    sudo ufw enable  # 启用防火墙
    sudo ufw disable  # 禁用防火墙
    
  3. 重置规则

    sudo ufw reset  # 清除所有规则并恢复默认策略
    

二、核心规则配置

  1. 允许 / 拒绝端口

    sudo ufw allow 22/tcp  # 允许SSH
    sudo ufw allow 80/tcp  # 允许HTTP
    sudo ufw allow 443/tcp  # 允许HTTPS
    sudo ufw deny 8080/tcp  # 拒绝自定义端口
    
  2. 基于 IP 地址的访问控制

    sudo ufw allow from 192.168.1.100 to any port 22  # 允许特定IP访问SSH
    sudo ufw deny from 10.0.0.0/8  # 拒绝整个IP段
    
  3. 应用配置文件(服务名称)

    sudo ufw app list  # 查看可用应用配置
    sudo ufw allow 'Apache'  # 允许Apache HTTP
    sudo ufw allow 'Apache Secure'  # 允许Apache HTTPS
    sudo ufw allow 'OpenSSH'  # 允许SSH服务
    
  4. 协议与端口范围

    sudo ufw allow 10000:20000/tcp  # 允许TCP端口范围
    sudo ufw allow 53/udp  # 允许UDP端口
    

三、高级功能

  1. 端口转发

    # 步骤1:启用IP转发
    sudo nano /etc/ufw/sysctl.conf
    # 取消注释:net/ipv4/ip_forward = 1
    sudo sysctl -p
    
    # 步骤2:添加转发规则(例如将80端口转发到8080)
    sudo nano /etc/ufw/before.rules
    # 在*filter部分后添加:
    *nat
    :PREROUTING ACCEPT [0:0]
    -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
    COMMIT
    
    # 步骤3:允许目标端口
    sudo ufw allow 8080/tcp
    
    # 步骤4:重启UFW
    sudo systemctl restart ufw
    
  2. 限制连接速率

    sudo ufw limit ssh/tcp  # 限制SSH连接速率(默认每分钟60次)
    sudo ufw limit from 192.168.1.100 to any port 22  # 限制特定IP的SSH连接
    
  3. 启用日志记录

    sudo ufw logging on  # 启用日志
    sudo tail -f /var/log/ufw.log  # 实时查看日志
    

四、特殊场景配置

  1. 禁用 Ping(ICMP)

    sudo nano /etc/ufw/before.rules
    # 找到以下行并将ACCEPT改为DROP:
    -A ufw-before-input -p icmp --icmp-type echo-request -j DROP
    sudo ufw reload
    
  2. Docker 兼容性配置

    # 防止Docker自动添加端口规则
    sudo nano /etc/docker/daemon.json
    # 添加:
    { "iptables": false }
    sudo systemctl restart docker
    

五、规则管理

  1. 删除规则
    sudo ufw delete allow 80/tcp  # 通过规则内容删除
    sudo ufw delete 3  # 通过规则编号删除(使用status numbered查看编号)
    
  2. 调整规则顺序
    sudo ufw insert 1 deny from 10.0.0.0/8  # 将拒绝规则置顶
    

六、默认策略与安全建议

  1. 默认策略
    sudo ufw default deny incoming  # 拒绝所有入站连接
    sudo ufw default allow outgoing  # 允许所有出站连接
    
  2. 安全建议
    远程管理:优先使用密钥认证而非密码,避免直接暴露 SSH 端口。
    最小权限原则:仅开放必要端口,定期检查规则。
    监控:启用日志并结合 fail2ban 等工具防御暴力破解。

七、故障排除

  1. 连接被阻断
    sudo ufw status  # 检查规则
    sudo ufw disable  # 临时禁用排查问题
    
  2. 规则未生效
    sudo ufw reload  # 重新加载规则
    sudo systemctl restart ufw  # 重启服务
    

END


相关文章:

  • 头条项目的文章延迟发布功能
  • pyqt环境搭建
  • 吐血教程:搭建Flutter开发环境
  • DQL语句-数据处理函数
  • Java 基本数据类型 vs 包装类(引用数据类型)
  • 搜广推校招面经六十
  • 代码随想录算法训练营第五十八天 | 拓扑排序精讲 dijkstra(朴素版)精讲
  • C++12CAS
  • FPGA中串行执行方式之使用时钟分频或延迟的方式
  • Java关于多态
  • 4.用 Excel 录入数据
  • hive相关面试题以及答案
  • 【解决】Linux命令报错:Cannot find a valid baseurl for repo: centos-sclo-rh/x86_64
  • Leetcode算法方法总结
  • 当人形机器人困在“技术秀场”,魔法原子打响一场落地突围战
  • 利用 Patroni + etcd + HAProxy 搭建高可用 PostgreSQL 集群
  • Windows11介绍(中英文版)
  • Vue2+Lodop插件实现在线打印功能(提供Gitee源码)
  • 低功耗LPWAN模块开发指南:远距离无线通信与边缘计算融合实战‌
  • Mysql---锁篇
  • 天津市做网站的公司有哪些/seo标题优化关键词
  • 建筑行业征信查询平台官网/长沙网站搭建优化
  • 网站建设鸿儒/做网站哪家好
  • 艺阳科技网站建设/线上销售渠道有哪些
  • 南雄做网站/上海最大的seo公司
  • 网站建设与维护一样吗/googleplay安卓版下载