环境:

  • VMware 15
  • CentOS 7.3.1611

查看网卡信息

通过ip addr查看当前网卡的配置信息:

image-20201108092133554

从图中可以看出, 当前设备网卡名称为: ens33 (不同设备这个可能不同),当前主机的ip为192.168.220.134
CentOS7默认网卡设备文件存放于/etc/sysconfig/network-scripts/目录中,其中名为 ifcfg-网卡名称 的文件就是设备的默认网卡,我这里的网卡名为ifcfg-ens33

image-20201108092522876

配置网卡为静态IP

通过cat /etc/sysconfig/network-scripts/ifcfg-ens33查看默认网卡设备配置信息:

TYPE="Ethernet"            # 网卡类型为:以太网
PROXY_METHOD="none"        # 代理方式:关闭状态
BROWSER_ONLY="no"        # 只是浏览器:否
BOOTPROTO="dhcp"        # 网卡的引导协议:DHCP[中文名称: 动态主机配置协议]
DEFROUTE="yes"            # 默认路由:是, 深入了解可以百度关键词 `默认路由` 
PEERDNS="yes"            # 是否允许DHCP获得的DNS覆盖本地的DNS
PEERROUTES="yes"        # 是否从DHCP服务器获取用于定义接口的默认网关的信息的路由表条目
IPV4_FAILURE_FATAL="no"    # 是否开启IPV4致命错误检测:否
IPV6INIT="yes"            # IPV6是否自动初始化: 是[不会有任何影响, 现在还没用到IPV6]
IPV6_AUTOCONF="yes"        # IPV6是否自动配置:是[不会有任何影响, 现在还没用到IPV6]
IPV6_DEFROUTE="yes"        # IPV6是否可以为默认路由:是[不会有任何影响, 现在还没用到IPV6]
IPV6_PEERDNS="yes"        
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"    # 是否开启IPV6致命错误检测:否
IPV6_ADDR_GEN_MODE="stable-privacy"        # IPV6地址生成模型:stable-privacy [这只一种生成IPV6的策略]
NAME="ens33"            # 网卡物理设备名称
UUID="f50c1acb-829e-4c6c-a9d7-3d9c5e6ea0d5"    # 通用唯一识别码,每一个网卡都会有,不能重复,否则两台linux只有一台网卡可用
DEVICE="ens33"            # 网卡设备名称, 必须和 `NAME` 值一样
ONBOOT="no"            # 是否开机启动,要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes` 

通过vi /etc/sysconfig/network-scripts/ifcfg-ens33命令编辑 ifcfg-ens33 文件设置静态IP:

设置网卡引导协议为 静态

BOOTPROTO="static"

设置网卡启动方式为 开机启动 并且可以通过系统服务管理器 systemctl 控制网卡

ONBOOT="yes"

配置「IP/子网掩码/网关」

IPADDR="192.168.220.132"    # 指定静态IP
NETMASK="255.255.255.0"        # 子网掩码
GATEWAY="192.168.220.2"        # 网关

注意:网关必须和虚机的网关地址一样,否则无法上网,网关可以在虚拟网络编辑器中找到

image-20201108101030577

image-20201108101049070

按住 Esc 输入 Shift + : 接着输入 wq 回车保存编辑并退出,设置完后通过service network restart命令重启网卡:

image-20201108093757485

这个时候如果是使用xshell之类工具连接着,则会断开连接,因为此时主机ip已经变为修改之后的地址,需修改xshell上配置的主机地址后再进行连接

重启完成,查看此时的ip,发现修改成功:

image-20201108093944183

连上外网

那么现在已经成功修改成静态ip了,但是通过 ping baidu.com 发现连不上外网:

image-20201108094037580

这是因为当前CentOS还解析不了域名,我们需要修改 ifcfg-ens33 文件加入DNS解析

DNS1="114.114.114.114"        # 114DNS
DNS2="223.5.5.5"            # 阿里DNS

8.8.8.8 是谷歌提供的DNS服务,国内无节点,不推荐

通过service network restart重启网卡,通过cat /etc/resolv.conf命令可以看到设置的DNS解析已生效,然后再来ping百度,可以ping通:

image-20201108094404164

如果还是ping不通,则可以换个DNS地址再试试


最终网卡设备配置详情表

TYPE="Ethernet"
BOOTPROTO="static"
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"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="f50c1acb-829e-4c6c-a9d7-3d9c5e6ea0d5"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.220.132"
NETMASK="255.255.255.0"
GATEWAY="192.168.220.2"
DNS1="114.114.114.114"
DNS2="223.5.5.5"

YOLO