CentOS 7.2 网卡配置

本文是对 CentOS 7.2 网络环境配置的教程,一步步将刚安装好系统的 CentOS-7-Minimal 服务器接入互联网。

文中所用到的指令都是在 root 权限下执行的,如果发现找不到网卡配置文件等异常,进入到 root 用户下试试看

折腾个啥?

因为用到的软件对性能的要求没有很高,所以一直以来用的都是 Everything 版本的 CentOS 系统作为服务器。

然而,最近部署任务的数量上去之后,发现 Everything 版本的防火墙不太稳定,或者说我们的软件跟这个防火墙不太对味,加上带 UI 的系统在部署上的操作反而会更加绕,所以选择改用 Minimal 版本以求获得一个更干净的环境,性能的提升倒是其次了。

装好系统之后一 ping 就懵逼了,原来 Minimal 版本的 CentOS 竟然干净成这样,连网卡的配置都省了,那我们就只好自己折腾折腾咯。

找到要配置的网卡

刚安装好的 CentOS 7.2 系统是不带 ifconfig 这类网络工具的,而是被 ip 指令取代了

下图是两种找到网卡配置文件的方式:

1. 直接在网络脚本目录中找

1
2
cd /etc/sysconfig/network-scripts/
ls

可以看到目录中有至少两个 ifcfg-xxx 文件,其中 ifcfg-enpxxx 是我们要找的网卡配置文件。

如果设备上有多个网卡的话,可能会有多个 ifcfg-enpxxx,后面的 xxx 可能是不同的数字与字母组合,任意选择一个去配置就好了,在上图的情况下,我们要修改的网卡文件就是 ifcfg-enp2s0

2. 通过 ip 命令查找

1
ip addr show

这是查看 IP 地址的指令,相当于原来的 ifconfig
可以看到这边有两个网络,lo 是本地回环,而 enp2s0 就是我们要找的网卡。同样,这个地方也可能出现多个 enpxxx,还是任意选择一个。

修改网卡配置文件

不管用哪个方法,都应该能得到网卡的名字 enpxxx,以上图的 enp2s0 为例做修改:

1
vi /etc/sysconfig/network-scripts/ifcfg-enp2s0

可以看到该网卡的配置类似下图,主要关注红框的部分:

如果发现文件中没有这两个字段,可以手动给它加上,ONBOOT 配置为 yes 让网卡可以开机自启动,BOOTPROTO 是配置获取 IP 的方式,需要根据具体的网络环境来设定,主要分为两种情况:

1. 确定分配给当前设备的 IP 地址不会改变

这种情况比较好办,直接像上图那样设置为 dhcp 就可以保存并退出编辑模式了。服务器具体获取到的是哪个 IP,我们可以通过 ip addr show 来确认。

2. IP 动态分配,有可能发生变化

这种情况就需要当前设备和路由器一起配合了。
假设我们给这台 CentOS 设备绑定的地址是 192.168.1.100,路由器的路由和网关分别为 192.168.1.1255.255.255.0

回到网卡配置文件中,将 BOOTPROTO 设置为 none,并添加下列三个字段:

1
2
3
IPADDR=192.168.1.100
GATEWAY=192.168.1.1
NETMASK=255.255.255.0

完成之后应该是像下图这样,红框部分是经过修改的地方:

重启网络

为了使配置生效,我们需要重启一下网络服务,这里一条指令就搞定了:

1
service network restart

网卡重启后,可以通过 ip addr show 查看配置生效了没有:

红框部分应该是刚才配置的 IPADDR 中的内容,或者是路由器上分配过来的 IP 地址。

现在尝试 ping 一下外网的网址,如果能通就说明网卡配置好了。

特殊情况

如果 ping 外网不通,返回类似 unknown host 的字样,那说明还需要配置一下 DNS 地址。

每个企业的 DNS 服务的情况可能会有不同,有些企业的网络会在连上之后自动分配一个 DNS 地址,而有些却不会,这时就需要我们手动进行 DNS 地址的配置了。

假设我们用的 DNS 地址是 8.8.8.8

1
vi /etc/resolv.conf

这里可能会打开一个空白的文件,也没有关系,直接在文件末尾加入下面这一行内容:

1
nameserver 8.8.8.8

然后再次重启网络,就可以使这个 DNS 配置生效了。

总结

其实配置 CentOS 的网卡并不难,但是网上查找的资料很少有完整介绍全过程的,于是就需要花费很多时间在搜索引擎里拼凑资料。
希望这篇文章能对后来者有些许帮助,节约一丢丢时间也是极好的 :)