linux

LNMP如何配置防火墙规则

小樊
47
2025-06-24 23:27:35
栏目: 编程语言

在LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境中配置防火墙规则主要涉及到Linux系统的防火墙配置。以下是几种常见的方法:

使用 firewalld 配置防火墙规则

firewalld 是CentOS 7及以上版本推荐的防火墙管理工具,使用更方便。

  1. 启动并启用 firewalld 服务

    sudo systemctl start firewalld
    sudo systemctl enable firewalld
    
  2. 配置防火墙区域

    sudo firewall-cmd --permanent --zone=public --add-interface=eth0 --permanent
    
  3. 重新加载防火墙配置

    sudo firewall-cmd --reload
    
  4. 允许HTTP和HTTPS流量

    sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    
  5. 允许MySQL/MariaDB服务(默认端口3306)

    sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
    
  6. 允许SSH连接(默认端口22)

    sudo firewall-cmd --permanent --zone=public --add-service=ssh
    
  7. 验证规则

    sudo firewall-cmd --list-all
    

使用 iptables 配置防火墙规则

iptables 是一个功能强大的命令行工具,但配置相对复杂。

  1. 设置防火墙默认策略

    sudo iptables -P INPUT DROP
    sudo iptables -P FORWARD DROP
    sudo iptables -P OUTPUT ACCEPT
    
  2. 配置允许的入站规则

    • 允许HTTP(端口80)和HTTPS(端口443)流量:
      sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
      
    • 允许已建立的连接和相关连接:
      sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
      
    • 允许ICMP(如ping请求):
      sudo iptables -A INPUT -p icmp -j ACCEPT
      
    • 允许本地回环接口(lo)的流量:
      sudo iptables -A INPUT -i lo -j ACCEPT
      
  3. 保存防火墙规则

    sudo service iptables save
    
  4. 重启防火墙服务

    sudo systemctl restart iptables
    

使用 ufw 配置防火墙规则(适用于Ubuntu)

ufw 是一个简单易用的防火墙管理工具。

  1. 安装和启用 ufw

    sudo apt update
    sudo apt install ufw
    sudo ufw enable
    
  2. 配置 ufw 规则

    • 允许HTTP和HTTPS流量:
      sudo ufw allow 80/tcp
      sudo ufw allow 443/tcp
      
    • 允许MySQL流量:
      sudo ufw allow 3306/tcp
      
    • 允许SSH流量:
      sudo ufw allow 22/tcp
      
  3. 查看 ufw 状态

    sudo ufw status
    
  4. 重新加载 ufw

    sudo ufw reload
    

0
看了该问题的人还看了