CentOS升级到7版后,有些命令变了,有些配置文件也跟着变了,最明显的是ifconfig这些工具是默认不装的,改成了ifcfg命令,service命令用法也要迁移到systemctl,有些小不适应.

因为下载的是Minimal镜像,装起来后缺的功能就更多了,装起来发现设置ip都不能一步完成,而且所处的环境还不能DHCP,有点懵,将CentOS7设置IP和DNS的过程记录一二,仅供参考.

设置IP及网关

CentOS7里已经找不到eth0了,所以ifcfg后面就不能像以前那样理所当然查看eth0,ifconfig命令设置ip了,我们需要设置ip就直接去改配置文件.

打开 network-scripts目录,去找ifcfg打头的配置文件.

1
2
3
4
[root@Centos ~]# cd /etc/sysconfig/network-scripts/
[root@Centos network-scripts]# ll | grep ifc
-rw-r--r--. 1 root root 360 4月 28 10:57 ifcfg-eno16777728
-rw-r--r--. 1 root root 254 9月 16 2015 ifcfg-lo

lo这种字符和以前在ifconfig里看到的一样,这个我们熟悉,那另外一个就是我们网卡的配置文件了.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@Centos network-scripts]# vi ifcfg-eno16777728
TYPE=Ethernet
BOOTPROTO=none //忘记原先这里是啥了,按查到的资料改了下,没验证过改与不改有什么区别
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777728 //网络连接名称依照硬件序列号来了,有强迫症的自己找资料,貌似要改的东西不少
UUID=1a755e45-3018-4a91-a87e-937f1a1a4915
DEVICE=eno16777728
ONBOOT=yes

#增加IPADDR,NETMASK,GATEWAY
IPADDR=192.168.23.91
PREFIX=24 //换成NETMASK的写法就是NETMASK=255.255.255.255.0
GATEWAY=192.168.23.254

修改保存后,使用systemctl restart network.service命令重启网络即可.

设置DNS

ip和网关设置好了,此时网络就通了,但如果要访问域名,我们还需要设置DNS.设置DNS有人直接在上面这个文件里加的,如:

1
2
3
4
5
......
IPADDR=192.168.23.91
PREFIX=24
GATEWAY=192.168.23.254
DNS1=119.29.29.29

上面的方法不知道对不对,但修改下面这个resolv.conf文件是一定可以的.

1
2
3
4
5
[root@Centos network-scripts]# cat /etc/resolv.conf
###Generated by NetworkManager
nameserver 119.29.29.29
nameserver 8.8.8.8
###还有其他DNS就往后加就行了

搞定网络,还是把ifconfig功能装起来吧,ifcfg有点不习惯.

其他通用设置方法参考:

[Linux笔记]Linux命令行设置ip,DNS和gateway

[Linux笔记]Ubuntu 12.04 LTS命令行设置IP及DNS