在LNMP(Linux, Nginx, MySQL, PHP)環境中配置防火墻通常涉及以下幾個步驟。以下是一個基于CentOS 7的示例,使用firewalld
作為防火墻管理工具。
首先,確保你已經安裝了firewalld
。如果沒有安裝,可以使用以下命令進行安裝:
sudo yum install firewalld -y
然后啟動并設置firewalld
開機自啟:
sudo systemctl start firewalld
sudo systemctl enable firewalld
接下來,你需要配置防火墻規則以允許特定的端口通過。對于LNMP環境,通常需要允許80端口(Nginx)和3306端口(MySQL)。
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --add-service=mysql
這些命令將HTTP、HTTPS和MySQL服務永久添加到防火墻規則中。
添加規則后,需要重新加載防火墻配置以使更改生效:
sudo firewall-cmd --reload
最后,驗證防火墻配置是否正確應用:
sudo firewall-cmd --list-all
這將顯示當前的防火墻規則,你可以檢查是否包含了允許80和3306端口的規則。
在某些情況下,關閉SELinux可能會簡化防火墻配置。你可以通過以下命令臨時關閉SELinux:
sudo setenforce 0
或者永久關閉SELinux,編輯/etc/selinux/config
文件,將SELINUX=enforcing
改為SELINUX=disabled
,然后重啟系統。
sudo vi /etc/selinux/config
# 將 SELINUX=enforcing 改為 SELINUX=disabled
# 保存并退出
sudo reboot
請注意,關閉SELinux可能會降低系統的安全性,因此請根據你的實際需求進行選擇。