温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Linux系统中如何设置防火墙

发布时间:2025-12-30 23:37:25 来源:亿速云 阅读:86 作者:小樊 栏目:系统运维

Linux 防火墙设置简明指南

一 选择工具与适用场景

  • firewalldCentOS 7/8、RHEL 7/8、Alibaba Cloud Linux 2/3 的默认防火墙,支持区域(zone)服务(service)富规则(rich rule),可动态变更规则,适合服务器环境。
  • UFW(Uncomplicated Firewall)Ubuntu/Debian 常用,语法简洁,适合桌面与入门服务器。
  • iptables所有发行版通用的底层规则工具,灵活但更复杂,适合高级用户与精细化控制。

二 常用发行版快速上手

  • CentOS/RHEL/Alibaba Cloud Linux

    • 安装与启停
      • 查看状态:sudo firewall-cmd --state(返回 running/not running
      • 启动/开机自启:sudo systemctl start|enable firewalld
      • 停止/禁用:sudo systemctl stop|disable firewalld
    • 放行端口与服务
      • 放行单端口:sudo firewall-cmd --permanent --add-port=80/tcp && sudo firewall-cmd --reload
      • 放行服务:sudo firewall-cmd --permanent --add-service=http && sudo firewall-cmd --reload
      • 查看:sudo firewall-cmd --list-all
    • 按源 IP 限制访问(富规则)
      • 仅允许 192.168.1.100 访问 SSH(22/tcp)
        sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept' && sudo firewall-cmd --reload
  • Ubuntu/Debian

    • 启用与状态
      • 状态:sudo ufw status(返回 Status: active/inactive
      • 启用/禁用:sudo ufw enable|disable
    • 放行端口与服务
      • 放行端口:sudo ufw allow 80/tcp
      • 放行端口范围:sudo ufw allow 3000:3100/tcp
      • 按源 IP 限制访问:仅 192.168.1.100 访问 22/tcp
        sudo ufw allow from 192.168.1.100 to any port 22
      • 查看:sudo ufw status verbose
  • 使用 iptables 的通用做法(适用于所有发行版)

    • 查看与启停
      • 查看:sudo iptables -L -n -v
      • 清空规则:sudo iptables -F(操作前请先备份)
    • 放行端口
      • 放行 TCP 80sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      • 放行 TCP 22(SSH)sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    • 保存规则(持久化)
      • Debian/Ubuntu:sudo apt-get install iptables-persistent -y && sudo netfilter-persistent save
      • RHEL/CentOS:sudo service iptables save(或 sudo iptables-save > /etc/iptables/rules.v4 并配置开机恢复)

三 生产环境最佳实践

  • 最小暴露面:仅开放必需端口(如 22/80/443),默认拒绝其他入站,允许所有出站。
  • 变更可回滚:规则修改后使用 firewall-cmd --reload 使配置生效;重要变更前先备份,必要时用 firewall-cmd --runtime-to-permanent 固化运行时配置。
  • 精细化访问控制:优先用 firewalld 富规则按源 IP、端口、协议限制访问,减少暴力尝试风险。
  • 日志与审计:开启拒绝日志 sudo firewall-cmd --set-log-denied=all --permanent && sudo firewall-cmd --reload,并用 journalctl -u firewalld 查看。

四 常见问题与排错

  • 远程连接失败:开启防火墙后,确保已放行 SSH(22/tcp);若仍失败,检查云安全组/本机其他访问控制(如 TCP Wrappers、SELinux)。
  • 规则不生效:确认是否使用了 –permanent 并执行了 firewall-cmd --reload;用 firewall-cmd --list-all 核对生效规则与区域绑定。
  • 命令不存在:如 firewall-cmd: command not found,需先安装 firewalld 再启动服务。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI