如何在LNMP中配置防火墙

1128
2025/3/14 3:32:41
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在LNMP(Linux, Nginx, MySQL, PHP)环境中配置防火墙通常涉及使用 firewalldiptables。以下是在CentOS 7及以上版本中使用 firewalld 配置防火墙的步骤:

关闭firewalld

如果您想永久关闭firewalld,可以运行以下命令:

# 停止firewalld服务
systemctl stop firewalld.service

# 禁止firewalld开机启动
systemctl disable firewalld.service

安装iptables

如果您选择使用iptables作为防火墙,可以按照以下步骤进行配置:

  1. 备份原有的iptables配置

    cp /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
    
  2. 编辑iptables配置文件

    vi /etc/sysconfig/iptables
    
  3. 添加允许80端口和3306端口的规则

    在文件的末尾添加以下内容:

    # 允许80端口通过防火墙
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    
    # 允许3306端口通过防火墙
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    
  4. 保存并退出编辑器

  5. 重启iptables服务以应用更改

    /etc/init.d/iptables restart
    

使用firewalld配置防火墙

如果您想使用firewalld,可以按照以下步骤进行配置:

  1. 关闭firewalld

    systemctl stop firewalld
    systemctl disable firewalld
    
  2. 安装iptables(如果尚未安装):

    yum install -y iptables
    
  3. 配置iptables规则

    vi /etc/sysconfig/iptables
    

    添加以下内容以允许80端口和3306端口:

    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    
  4. 重启firewalld服务

    systemctl restart firewalld
    
  5. 验证防火墙状态

    firewall-cmd --state
    

通过以上步骤,您可以在LNMP环境中配置防火墙,确保只有指定的端口(如80和3306)对外开放,从而提高服务器的安全性。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: linux安装指令能解决什么难题