作者:互联网 时间: 2026-10-30 17:10:01
CentOS 7.4 刚装好,网络不通或网页打不开,并不意味着应该立即关闭所有限制。先查网卡、路由和服务,再核对防火墙与 SELinux,才能知道是哪一层阻止了访问。
更合适的顺序是:先确认网卡和路由,再按服务放行防火墙,最后检查 SELinux 是否拦截了不符合策略的访问。下面命令按 root 执行,有 sudo 权限的普通用户也可以在管理命令前加 sudo。
ip addr show
ip route
nmcli device status
nmcli connection show
网卡名可能是 ens33、ens160 或其他名称,连接名称则可能是 System ens33。两者不一定相同。后面的 nmcli connection 命令应填写实际连接名。
比如,连接名确实为 System ens33,且网络提供 DHCP,可设置:
nmcli connection modify 'System ens33' connection.autoconnect yes ipv4.method auto
nmcli connection up 'System ens33'
这适用于本来就应使用 DHCP 的连接。如果已有静态地址,不要直接改成自动获取。
重新启用连接可能中断 SSH。远程服务器改网卡前,要准备云控制台或其他带外入口,并记录原地址、网关和 DNS。
启用后,再看地址和默认路由。IP 能访问、域名不能解析时,重点检查 DNS;连网关都不可达时,先查地址、链路和虚拟网络。
systemctl status firewalld
firewall-cmd --get-active-zones
firewall-cmd --list-all
下面假设业务网卡所在区域是 public,且 firewalld 正在运行。若实际区域不同,应替换区域名。
以开放网页服务为例,先添加运行时规则并测试:
firewall-cmd --zone=public --add-service=http
firewall-cmd --zone=public --add-service=https
确认只开放了需要的服务后,保存相应永久规则:
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --zone=public --list-all
firewall-cmd --permanent --zone=public --list-all
运行时与永久配置要分别核对。服务器只做内部计算、不提供网页,就没有必要放行这两个服务。
如果 firewalld 尚未运行,先准备包含实际 SSH 端口的规则,再通过控制台启用并测试,不要在唯一的远程会话里直接启动一套未经检查的防火墙配置。
云服务器还可能有安全组和网络访问控制。系统里放行成功,不等于外部安全组也允许访问。反过来,程序没有在预期端口提供服务,放行再多规则也无济于事。
getenforce
sestatus
ausearch -m AVC,USER_AVC -ts recent
Enforcing 表示策略正在执行,Permissive 表示记录拒绝但不实际阻止,Disabled 表示未启用。日志查询一般需要 root 权限及 audit 工具。
假设网页文件放在自定义目录 /srv/site,普通权限正常,但 Web 服务读不到,可以检查目录标签:
ls -Zd /srv/site
只有在确认是 Web 只读内容目录后,才为它设置对应标签:
semanage fcontext -a -t httpd_sys_content_t '/srv/site(/.*)?'
restorecon -Rv /srv/site
CentOS 7 中 semanage 一般由 policycoreutils-python 包提供,缺少时需先通过可用的软件源安装。如果已经存在相同路径规则,应检查原规则,再用修改选项调整。
这类设置只处理标签,不会自动修改属主和读写权限。上传目录需要写权限时,应单独评估合适标签,不要把整个网站目录全部设成可写。
也不要看见拒绝就直接生成一条全放行策略。文件放错位置、端口类型不对、服务行为超出预期,都应该先查清。
网络方面,检查地址、默认路由和 DNS,确认重启后仍能恢复连接。防火墙方面,从真正的客户端访问业务端口,核对运行时和永久规则。SELinux 方面,完成一次业务请求后再查日志,确认没有相关拒绝。
最后保留一个能用的管理会话,再开第二个会话验证远程登录。三项检查都通过后再结束维护,比“先全关掉再说”更容易留下可维护的系统。
这些网络与权限配置能帮助限制访问范围,但不能补上系统漏洞修复。CentOS 7.4 已停止官方维护,旧环境恢复可用后,仍应继续安排迁移。