CentOS 6.7 网络设置全指南:从临时调试到永久配置

CentOS 6.7 作为一款经典的企业级 Linux 发行版,至今仍被大量 legacy 系统、老设备及特定生产环境采用。网络配置是服务器运维的基础,直接关系到服务的可用性与稳定性。本文将从基础概念入手,详细讲解 CentOS 6.7 下的临时网络调试、永久配置、服务管理、DNS 设置及常见问题排查,同时结合最佳实践帮助用户高效完成网络配置。

目录#

  1. 网络基础概念回顾
  2. 命令行临时网络配置(调试专用)
  3. 永久网络配置(生产环境核心)
  4. 网络服务管理与冲突规避
  5. DNS 配置与优化
  6. 常见网络问题排查指南
  7. 配置最佳实践
  8. 参考资料

1. 网络基础概念回顾#

在开始配置前,先明确 CentOS 6.7 网络相关的核心概念,避免后续配置误区:

  • 网络接口命名:CentOS 6.7 采用传统的接口命名规则,如 eth0eth1(不同于 CentOS 7+ 的 ens33 等可预测命名)。
  • IP 地址:服务器在网络中的唯一标识,分为静态(手动指定,适合生产)和动态(DHCP 自动分配,适合测试/办公环境)。
  • 子网掩码:用于划分网络段,区分本地与远程网络(如 255.255.255.0 对应 C 类网段)。
  • 默认网关:本地网络与外部网络的中转节点,所有跨网段流量需通过网关转发。
  • DNS 服务器:负责将域名解析为 IP 地址,是服务器访问互联网域名的核心依赖。

2. 命令行临时网络配置(调试专用)#

临时配置仅在当前会话生效,服务器重启或网络服务重启后会丢失,适合快速调试网络连通性。CentOS 6.7 默认使用 ifconfigroute 等命令完成临时配置。

2.1 配置静态 IP 与子网掩码#

通过 ifconfig 直接设置接口的 IP 地址、子网掩码并启用接口:

# 为 eth0 设置静态 IP 并启用
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
 
# 查看当前接口配置(确认生效)
ifconfig eth0

参数说明:

  • eth0:目标网络接口名称
  • 192.168.1.100:指定的静态 IP 地址
  • netmask 255.255.255.0:子网掩码
  • up:启用该接口(等价于 ifup eth0

2.2 配置默认网关#

通过 route 命令添加默认网关:

# 添加默认网关
route add default gw 192.168.1.1
 
# 查看路由表(确认网关生效)
route -n

若需删除网关,执行:

route del default gw 192.168.1.1

2.3 启用/禁用网络接口#

# 禁用 eth0 接口
ifdown eth0
 
# 启用 eth0 接口
ifup eth0

3. 永久网络配置(生产环境核心)#

永久配置通过修改系统配置文件实现,重启服务器或网络服务后配置依然保留,是生产环境的标准配置方式。

3.1 配置文件路径#

CentOS 6.7 的网络接口配置文件存放在 /etc/sysconfig/network-scripts/ 目录下,每个接口对应一个 ifcfg-ethX 文件(如 ifcfg-eth0 对应 eth0 接口)。

3.2 配置文件参数解析#

以下为静态 IP 配置文件的核心参数,每个参数的作用需明确:

参数取值示例说明
TYPEEthernet网络类型,固定为 Ethernet
BOOTPROTOstatic/dhcpIP 分配方式:static 为静态IP,dhcp 为动态获取
IPADDR192.168.1.100静态 IP 地址(仅当 BOOTPROTO=static 时生效)
NETMASK255.255.255.0子网掩码(仅当 BOOTPROTO=static 时生效)
GATEWAY192.168.1.1默认网关地址
DNS1/DNS28.8.8.8/114.114.114.114主/备 DNS 服务器
ONBOOTyes/no开机是否自动启用该接口(生产环境建议设为 yes
NM_CONTROLLEDyes/no是否允许 NetworkManager 管理该接口(静态IP配置建议设为 no 避免冲突)
HWADDR00:0C:29:3F:4D:1E网卡 MAC 地址,需与实际网卡一致
USERCTLyes/no是否允许普通用户控制该接口(生产环境建议设为 no
PEERDNSyes/no是否允许覆盖 /etc/resolv.conf 文件(设为 no 可保留手动修改的 DNS)

3.3 静态 IP 配置示例#

编辑 ifcfg-eth0 文件:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

写入以下配置:

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=eth0
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 # 自动生成,无需手动修改
ONBOOT=yes
HWADDR=00:0C:29:3F:4D:1E # 替换为实际网卡MAC地址
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114
NM_CONTROLLED=no
PEERDNS=yes
USERCTL=no

3.4 DHCP 自动获取 IP 配置示例#

若需通过 DHCP 自动分配 IP,修改 ifcfg-eth0 为:

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME=eth0
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
ONBOOT=yes
HWADDR=00:0C:29:3F:4D:1E
NM_CONTROLLED=yes
PEERDNS=yes
USERCTL=no

3.5 配置生效#

修改配置文件后,需重启网络服务或重新加载接口使配置生效:

# 重启整个网络服务(影响所有接口)
service network restart
 
# 仅重新加载单个接口(推荐,不影响其他服务)
ifdown eth0 && ifup eth0

4. 网络服务管理与冲突规避#

CentOS 6.7 同时存在 network 服务与 NetworkManager 服务,二者可能因配置权限冲突导致网络异常,需合理管理:

4.1 服务状态查看与控制#

# 查看 network 服务状态
service network status
 
# 启动/停止/重启 network 服务
service network start
service network stop
service network restart
 
# 查看 NetworkManager 服务状态
service NetworkManager status
 
# 停止并禁用 NetworkManager(静态IP环境推荐)
service NetworkManager stop
chkconfig NetworkManager off

4.2 冲突规避最佳实践#

  • 静态 IP 环境:建议完全禁用 NetworkManager 服务,避免其自动覆盖静态配置。
  • DHCP 环境:可保留 NetworkManager 服务,但需确保 NM_CONTROLLED=yes 与配置文件一致。
  • 开机自启设置:确保 network 服务开机自启:
    chkconfig network on

5. DNS 配置与优化#

DNS 配置负责域名解析,CentOS 6.7 提供两种配置方式:

5.1 通过接口配置文件设置 DNS#

如 3.3 节所示,直接在 ifcfg-eth0 中添加 DNS1DNS2 参数,该方式配置的 DNS 会自动同步到 /etc/resolv.conf 文件,且重启后不会丢失(需确保 PEERDNS=yes)。

5.2 手动修改 /etc/resolv.conf#

直接编辑 /etc/resolv.conf 文件可快速设置 DNS,但需注意若 NM_CONTROLLED=yesPEERDNS=yes,重启网络服务后该文件会被覆盖:

vi /etc/resolv.conf

写入以下内容:

nameserver 8.8.8.8 # 谷歌公共DNS
nameserver 114.114.114.114 # 国内公共DNS

若需保留手动修改的 DNS,需在接口配置文件中设置:

PEERDNS=no

5.3 本地域名解析:/etc/hosts#

/etc/hosts 文件的解析优先级高于 DNS,适合配置内部服务的域名映射:

vi /etc/hosts

添加映射关系:

192.168.1.100  web.example.com  # 将域名指向内部Web服务器

6. 常见网络问题排查指南#

遇到网络异常时,可按以下步骤逐步排查:

6.1 接口状态与配置排查#

  1. 查看所有接口状态(包括未启用的接口):
    ifconfig -a
  2. 检查接口配置文件是否存在语法错误:重点核对 ONBOOTBOOTPROTOHWADDR 参数是否正确。

6.2 连通性排查#

  1. 本地回路测试:确认网络协议栈正常:
    ping -c 4 127.0.0.1
  2. 同网段主机连通性:确认子网掩码配置正确:
    ping -c 4 192.168.1.50 # 同网段另一主机IP
  3. 网关连通性:确认路由配置正确:
    ping -c 4 192.168.1.1 # 默认网关IP
  4. 公网IP连通性:确认外部网络可达:
    ping -c 4 8.8.8.8 # 谷歌DNS IP
  5. 域名解析排查:确认DNS配置正确:
    ping -c 4 www.baidu.com
    若域名无法解析,可通过 nslookupdig 工具诊断DNS服务:
    nslookup www.baidu.com

6.3 防火墙与路由排查#

  1. 临时关闭防火墙测试是否为防火墙阻挡:
    service iptables stop
  2. 查看路由表是否存在默认网关:
    route -n

7. 配置最佳实践#

  1. 生产环境优先使用静态IP:避免DHCP地址变化导致服务中断,同时记录IP地址与网络拓扑。
  2. 配置前备份原始文件:修改配置文件前先备份,避免配置错误无法回滚:
    cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak
  3. 单一接口单独生效:修改单个接口配置时,优先使用 ifdown eth0 && ifup eth0 而非重启整个网络服务,减少对其他接口的影响。
  4. 配置多DNS服务器:设置主备DNS提高域名解析的可靠性,如同时配置谷歌DNS与国内公共DNS。
  5. 禁用不必要的服务:静态IP环境下禁用 NetworkManager 服务,避免配置冲突。
  6. 记录配置变更:对生产环境的网络配置变更进行文档记录,便于后续维护与故障排查。

8. 参考资料#

  1. CentOS 6 官方文档:Network Configuration
  2. ifconfig 命令手册:man ifconfig
  3. route 命令手册:man route
  4. Linux 网络配置指南:TLDP Networking Guide