全球服务器测评

虚拟机下CentOS 6.5配置IP地址几种方法

虚拟机环境中给 CentOS 6.5 配置 IP 地址,是很多人第一次接触 Linux 网络管理时绕不开的一步。尤其是在 VMware 或 VirtualBox 里安装好系统之后,经常会发现一个问题:系统能启动,但无法联网,或者只能使用 DHCP 自动获取地址,而一旦进入生产环境或需要固定访问地址时,就必须手动配置静态 IP。CentOS 6.5 属于比较经典的老版本系统,它的网络管理方式和现在的 systemd-networkd 或 NetworkManager(新版)有明显不同,更多还是依赖传统的网络脚本配置方式,因此理解它的几种配置方法,对于后续学习 Linux 运维依然很有意义。

一、通过网卡配置文件直接修改(最常用、最稳定)

在 CentOS 6.5 中,最标准也是最常见的方式,就是直接修改网卡配置文件。系统会把每一块网卡的配置放在 /etc/sysconfig/network-scripts/ 目录下,例如 ifcfg-eth0ifcfg-eth1 这样的文件。虚拟机环境里通常第一块网卡就是 eth0,因此我们重点就是编辑这个文件。

打开文件之后,可以看到类似这样的内容:

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=dhcp

如果要改成静态 IP,就需要把 BOOTPROTO 改成 static 或直接设为 none,然后手动增加 IP 地址、子网掩码、网关和 DNS。例如在 VMware 桥接网络或者 NAT 网络中,可以这样配置:

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.120
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=114.114.114.114

这种方式的好处是非常直接,而且在系统重启之后依然生效,不依赖图形界面,也不依赖额外工具。尤其是在服务器环境中,这种配置方式几乎是标准操作。改完之后需要执行 service network restart 重新启动网络服务,如果没有生效,可以再检查网卡是否正确识别,比如 ifconfig -a 查看接口状态,有时候虚拟机网卡名称不一定是 eth0,也可能是 eth1,需要根据实际情况调整。

在实际使用中,很多人第一次配置失败,问题往往不是写错 IP,而是 ONBOOT=no 没有改成 yes,导致系统启动时根本没有启用网卡,这一点在虚拟机里尤其常见。

二、使用 setup 工具进行图形化配置(适合新手)

CentOS 6.5 还保留了一个比较“古老但实用”的工具,就是 setup。这个工具虽然是基于终端的半图形界面,但对于不熟悉 Linux 配置文件的人来说非常直观。

在终端输入:

setup

进入之后选择 “Network configuration”,然后会列出当前系统的网卡信息,可以直接选中 eth0 进行编辑。在界面中可以填写 IP 地址、子网掩码、网关以及 DNS,这些字段和手动编辑配置文件本质上是一样的,只不过是通过菜单方式完成。

这种方式的优势在于减少拼写错误,比如 IP 写错一位或者子网掩码漏掉,都可以在界面中避免。但它也有明显局限,比如无法批量管理多网卡,也不适合写自动化脚本,在服务器生产环境中使用较少。更多情况下,它适合刚接触 CentOS 的学习阶段,或者临时快速修复网络问题。

另外需要注意一点,使用 setup 配置之后,系统本质上还是在修改 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,因此如果你熟悉了这一层逻辑,其实两种方式是完全等价的。

三、通过命令临时修改 IP(不持久)

在某些调试场景下,我们可能只需要临时修改 IP,而不希望写入配置文件,这时候可以使用 ifconfigip addr 命令。

例如:

ifconfig eth0 192.168.1.200 netmask 255.255.255.0
route add default gw 192.168.1.1

或者使用新一点的命令:

ip addr add 192.168.1.200/24 dev eth0
ip route add default via 192.168.1.1

这种方式的特点非常明显:立刻生效,但重启即失效。也就是说,它适合临时测试网络连通性,比如判断是不是网关问题、DNS问题,或者只是想快速 ssh 进另一台机器做排查。

在虚拟机环境中,这种方法经常用来“救急”。比如你刚装完系统,发现 SSH 连不上,可以先用 console 登录,然后用 ifconfig 临时拉起一个 IP,确认网络通了之后,再回到永久配置文件去修正。

很多初学者会误以为这样改完 IP 就完成配置了,但实际上重启后会恢复原状,这一点必须注意。

四、修改 /etc/hosts 与 DNS 配合网络配置

虽然 /etc/hosts 文件本身并不直接配置 IP 地址,但在 CentOS 6.5 的网络环境中,它经常和 IP 配置一起使用,尤其是在没有 DNS 或 DNS 不稳定的情况下。

例如你可以手动添加:

192.168.1.120   server1
192.168.1.121   server2

这样即使 DNS 解析失败,也可以通过主机名访问内部服务器。在一些内网虚拟机集群环境中,这种方式甚至比 DNS 更可靠,因为它不依赖外部解析服务。

同时,DNS 配置一般还是写在网卡配置文件中:

DNS1=8.8.8.8
DNS2=114.114.114.114

或者写在 /etc/resolv.conf

nameserver 8.8.8.8
nameserver 114.114.114.114

但要注意,在 CentOS 6.5 中,resolv.conf 有时候会被 DHCP 客户端自动覆盖,所以如果你使用 DHCP 模式,手动写入可能会被重写,这也是很多人遇到 DNS 失效的原因。

五、虚拟机环境中的特殊情况(桥接 / NAT / Host-only)

在虚拟机中配置 IP,不仅仅是 Linux 本身的问题,还和虚拟网络模式密切相关。比如 VMware 有三种常见模式:桥接、NAT 和仅主机模式。

桥接模式下,虚拟机相当于一台独立的物理设备,需要和宿主机在同一个网段,因此 IP 通常要和局域网一致,比如 192.168.1.x。

NAT 模式则是通过虚拟机 NAT 服务共享宿主机网络,这种情况下 IP 一般由虚拟 DHCP 分配,但也可以手动设置一个同网段地址,只要不冲突即可。

Host-only 模式则完全隔离外网,只能和宿主机通信,常用于测试环境。

很多人在 CentOS 6.5 里配置 IP 失败,其实不是 Linux 配置错了,而是虚拟机网络模式选错了,比如用了 NAT 却手动配置了一个外网网段 IP,这样当然无法通信。

因此在配置之前,先确认虚拟机网络模式,是非常关键的一步。

六、常见问题与排查思路

在实际操作中,IP 配置完成后无法联网的情况非常常见。排查思路一般是从几个方向入手:

首先检查网卡是否启动:

ifconfig -a

如果看不到 eth0 的 IP,说明网络服务没有正确启动或者 ONBOOT 没有开启。

其次检查网络服务:

service network status
service network restart

再检查路由表:

route -n

确认 default gateway 是否存在。

最后检查 DNS:

ping 8.8.8.8
ping www.baidu.com

如果 IP 能 ping 通但域名不通,那基本就是 DNS 问题。

在 CentOS 6.5 这种老系统里,网络问题往往不是单点错误,而是配置链条中某一环断掉了,比如网卡未启用、网关错误、虚拟机网络模式不匹配、DNS 被覆盖等等。

未经允许不得转载:全球服务器测评 » 虚拟机下CentOS 6.5配置IP地址几种方法