一、 CentOS 7 网络设置

  • 使用 CentOS 7 Minimal ISO(最小安装盘)安装的CentOS默认是没有配置网络的,可以使用 ping 试一下,结果肯定是不能执行的,ping 指定ip不通是没有网络,ping域名不通是因为没有DNS无法解析域名,如下图所示:
  • centos7怎么配置网络 centos7配置网络ip_IP

使用 ip address 也可以看到,是没有网卡和网络IP的,如下图:

centos7怎么配置网络 centos7配置网络ip_centos7怎么配置网络_02

  • 在 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通就表示网络已经启用了;

这里补充一点知识扩展:

  • 一般生产环境服务器通常是在 /etc/resolv.conf 文件下配置 nameserversearch 来指定DNS,在 fcfg-enp0s3 中配置的DNS,重启网络服务后,DNS1、DNS2 配置会自动同步到 /etc/resolv.confnameserver
  • 如果 fcfg-enp0s3 中不指定DNS,且 BOOTPROTO=dhcp 的时候,重启网络会自动生成距离网络最近的DNS searchnameserver/etc/resolv.conf 文件下,实现DNS解析,所以 fcfg-enp0s3 中的DNS不指定也是可以的。我在公司网络环境下配置,自动将我公司内网的DNS写入 /etc/resolv.conf 文件,如下图所示(擦除了铭感信息):
  • CentOS 7 网络配置还有一个有趣的现象,我们都习惯使用 ifconfig 命令查看自己的网络信息和IP地址,但是在 CentOS 7 是无法执行的,如下图所示:
  • centos7怎么配置网络 centos7配置网络ip_python_03

  • 原因是 CentOS 7 使用 ip 命令代替了 ifconfig 命令, ifconfig 是 net-tools 中已被废弃使用的一个命令,多年前就已经没有维护了,新的 iproute2 提供了比 net-tools 更强大的命令,CentOS 7 预装的是 iproute2 ,ip命令属于iproute2,功能自然也比 ifconfig 会更强大,如果习惯了用 ifconfig 命令的可以手动安装一下net-tools: yum install -y net-tools

ip 命令常用的命令:

  • ip link show 显示网络接口状态信息
  • ip address 查看网络接口IP地址相关,发现网络接口enp0s3没有分配IP地址

二、 CentOS 7 静态IP配置

dhcp 网络模式会在联网之后自动获取到IP地址,dhcp 获取的ip地址可能会因为网络重连发生变化,实际网络中,我们希望自己的IP地址是唯一的,以便于通过IP进行通讯访问,采用配置静态IP方式是最好的一种方式,静态IP配置方式:

  • 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 重启网络之后就生效了