使用 CentOS 7 Minimal ISO
(最小安装盘)安装的CentOS默认是没有配置网络的,可使用 ping
试一下,结果确定是不能执行的,ping 指定ip不通是没有网络,ping域名不通是由于没有DNS没法解析域名,以下图所示:vim
使用
ip address
也能够看到,是没有网卡和网络IP的,以下图:服务器
在 CentOS 6 中, 网络设置及静态IP配置在 /etc/sysconfig/network-scripts/ifcfg-eth0
文件中配置,CentOS 7 网卡命令规则变化,命名规则根据系统固件和硬件来命名为 ifcfg-en*
类型,只有新的命名规则找不到的状况下才使用相似 eth0
这样的样式(系统之因此作出这样的改变确定是有利于兼容硬件,感兴趣的能够本身深刻了解,这里不作展开,个人电脑网卡是 /etc/sysconfig/network-scripts/ifcfg-enp0s3
) ,使用 vi
打开这个文件(最小安装默认只有 vi
而没有 vim
),修改以下内容:网络
BOOTPROTO=dhcp #保持默认的dhcp,dhcp会在联网以后自动获取到IP,dhcp获取的ip地址可能会由于网络重连发生变化 ONBOOT=yes #开启自动启用网络链接 DNS1=8.8.8.8 #第一个dns服务器,可设置多个,不指定也能够 # 8.8.8.8 是Google提供的一个免费DNS服务器ip
:wq
保存退出以后,service network restart
重启网络,再次 ping baidu.com
,可以ping通就表示网络已经启用了;.net
这里补充一点知识扩展:rest
- 通常生产环境服务器一般是在
/etc/resolv.conf
文件下配置nameserver
或search
来指定DNS,在fcfg-enp0s3
中配置的DNS,重启网络服务后,DNS一、DNS2 配置会自动同步到/etc/resolv.conf
的nameserver
- 若是
fcfg-enp0s3
中不指定DNS,且BOOTPROTO=dhcp
的时候,重启网络会自动生成距离网络最近的DNSsearch
和nameserver
到/etc/resolv.conf
文件下,实现DNS解析,因此fcfg-enp0s3
中的DNS不指定也是能够的。我在公司网络环境下配置,自动将我公司内网的DNS写入/etc/resolv.conf
文件,以下图所示(擦除了铭感信息):
CentOS 7 网络配置还有一个有趣的现象,咱们都习惯使用 ifconfig
命令查看本身的网络信息和IP地址,可是在 CentOS 7 是没法执行的,以下图所示:code
缘由是 CentOS 7 使用 ip
命令代替了 ifconfig
命令, ifconfig
是 net-tools 中已被废弃使用的一个命令,多年前就已经没有维护了,新的 iproute2 提供了比 net-tools 更强大的命令,CentOS 7 预装的是 iproute2 ,ip
命令属于iproute2,功能天然也比 ifconfig
会更强大,若是习惯了用 ifconfig
命令的能够手动安装一下net-tools: yum install -y net-tools
server
ip
命令经常使用的命令:blog
ip link show
显示网络接口状态信息ip address
查看网络接口IP地址相关,发现网络接口enp0s3没有分配IP地址
dhcp 网络模式会在联网以后自动获取到IP地址,dhcp 获取的ip地址可能会由于网络重连发生变化,实际网络中,咱们但愿本身的IP地址是惟一的,以便于经过IP进行通信访问,采用配置静态IP方式是最好的一种方式,静态IP配置方式:dns
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
打开编辑,修改以下内容:接口
BOOTPROTO=static #默认dhcp,改成static,表示启用静态IP地址 ONBOOT=yes #开启自动启用网络链接 IPADDR=192.168.1.73 #静态IP地址,若是使用虚拟机桥接模式,静态IP必定要和主机在同一个网段,且IP惟一未被使用 GATEWAY=192.168.1.1 #网关,需和公网主机配置的网关一致 NETMASK=255.255.255.0 #子网掩码,需和公网主机配置的网关一致 DNS1=8.8.8.8 #第一个dns服务器,BOOTPROTO=static 的时候不会自动生成DNS解析,最好在这里也一并配置上
:wq
保存退出以后,service network restart
或 /etc/init.d/network restart
重启网络以后就生效了