在腾讯云轻量应用服务器(Lighthouse)上配置 CentOS 7.2 的网络和防火墙,需要结合腾讯云控制台的安全组规则与系统内部防火墙(firewalld)进行双重设置。以下是详细步骤:
一、网络基础配置(系统层面)
1. 确认网卡名称与 IP
ip addr show
# 或
ifconfig -a
CentOS 7.2 默认网卡名通常为 eth0(部分新镜像可能为 ens33),请根据实际输出调整后续命令。
2. 配置静态 IP(可选,推荐用于生产环境)
编辑网络配置文件:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
示例内容(替换为你的实际信息):
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100 # 替换为自定义 IP(需在安全组允许范围内)
NETMASK=255.255.255.0
GATEWAY=192.168.1.1 # 网关地址(可从 `ip route` 获取)
DNS1=114.114.114.114
DNS2=8.8.8.8
⚠️ 注意:若使用 DHCP,可设
BOOTPROTO=dhcp;但腾讯云轻量服务器通常建议手动指定 IP 以确保稳定。
重启网络服务:
systemctl restart network
3. 验证连通性
ping www.baidu.com
curl -I https://www.tencentcloudapi.com
二、防火墙配置(firewalld)
CentOS 7.2 默认使用 firewalld,需确保其运行并正确配置。
1. 启动并启用 firewalld
systemctl start firewalld
systemctl enable firewalld
2. 查看当前状态与开放端口
systemctl status firewalld
firewall-cmd --state
firewall-cmd --list-all
3. 开放必要端口(以 SSH + Web 为例)
# 永久开放 SSH(22)、HTTP(80)、HTTPS(443)
firewall-cmd --permanent --add-service=ssh
firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
# 若需自定义端口(如 8080)
firewall-cmd --permanent --add-port=8080/tcp
# 重载配置使生效
firewall-cmd --reload
4. 临时测试(不推荐长期保留)
# 临时开放端口(重启后失效)
firewall-cmd --add-port=9000/tcp
5. 关闭 firewalld(仅用于调试,生产环境不建议)
systemctl stop firewalld
systemctl disable firewalld
# 同时需确保 iptables 为空规则
iptables -F
✅ 最佳实践:保留
firewalld,通过服务/端口精确控制,而非完全关闭。
三、腾讯云控制台安全组配置(关键!)
即使系统防火墙已放行,腾讯云安全组未开放端口仍无法访问。
操作步骤:
- 登录 腾讯云控制台
- 进入「轻量应用服务器」→ 选择你的实例 → 点击「安全组」
- 添加入方向规则:
- 协议类型:TCP
- 端口范围:
22,80,443(或按需扩展) - 来源 IP:
0.0.0.0/0(允许所有公网 IP,生产环境建议限制为特定 IP) - 策略:允许
🔒 安全组优先级高于系统防火墙:必须两者都放行才能正常通信。
四、常见问题排查
| 问题 | 检查项 |
|---|---|
| 无法 SSH 连接 | ① 安全组是否开放 22 端口 ② firewall-cmd --list-services | grep ssh③ systemctl status sshd |
| 网站无法访问 | ① 安全组开放 80/443 ② firewall-cmd --list-services | grep http③ Nginx/Apache 是否运行: systemctl status nginx |
| 内网互通异常 | 检查 route -n 和 /etc/resolv.conf |
五、补充建议
- 备份配置:修改前备份原文件:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak cp /etc/firewalld/firewalld.conf /etc/firewalld/firewalld.conf.bak - 日志审计:查看防火墙拒绝记录:
journalctl -u firewalld -f - 升级建议:CentOS 7.2 已于 2024 年 6 月停止维护,强烈建议升级到 CentOS Stream 9 或使用 AlmaLinux/Rocky Linux 以获得持续安全更新。
如需进一步自动化(如用 Ansible 批量配置),可提供具体场景继续深入指导。
PHPWP博客