CentOS LAMP服务器防火墙设置主要使用firewalld工具,以下是关键步骤:
-
安装与启动firewalld
sudo yum install firewalld # 安装 sudo systemctl start firewalld # 启动 sudo systemctl enable firewalld # 开机自启 -
开放必要端口
- HTTP/HTTPS(LAMP核心服务):
sudo firewall-cmd --permanent --zone=public --add-service=http # 80端口 sudo firewall-cmd --permanent --zone=public --add-service=https # 443端口 - SSH(远程管理):
sudo firewall-cmd --permanent --zone=public --add-service=ssh # 22端口 - MySQL(数据库):
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp # 3306端口
- HTTP/HTTPS(LAMP核心服务):
-
区域与规则管理
- 查看当前区域规则:
sudo firewall-cmd --list-all - 删除规则(如关闭80端口):
sudo firewall-cmd --permanent --zone=public --remove-service=http sudo firewall-cmd --reload
- 查看当前区域规则:
-
高级配置(可选)
- IP白名单:仅允许特定IP访问某端口(如仅允许192.168.1.100访问80端口):
sudo firewall-cmd --permanent --zone=public --add-rich-rule="rule source address='192.168.1.100' port protocol='tcp' port='80' accept" - 端口转发:将外部端口转发到内部服务(需结合具体需求配置)。
- IP白名单:仅允许特定IP访问某端口(如仅允许192.168.1.100访问80端口):
-
验证与生效
- 重新加载规则使更改生效:
sudo firewall-cmd --reload - 测试端口连通性(如用
curl或telnet)。
- 重新加载规则使更改生效:
注意:
- 生产环境中建议仅开放必要端口,关闭默认未使用的端口(如3306若无需远程访问可关闭)。
- 若需更复杂规则(如多区域、协议过滤),可参考
firewalld官方文档进一步配置。[1,3,5,7,8,9,10,12,13,17]