在腾讯云轻量服务器中使用CentOS 7.2如何进行网络和防火墙配置?

在腾讯云轻量应用服务器(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,通过服务/端口精确控制,而非完全关闭。


三、腾讯云控制台安全组配置(关键!)

即使系统防火墙已放行,腾讯云安全组未开放端口仍无法访问

操作步骤:

  1. 登录 腾讯云控制台
  2. 进入「轻量应用服务器」→ 选择你的实例 → 点击「安全组」
  3. 添加入方向规则:
    • 协议类型: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 批量配置),可提供具体场景继续深入指导。