在CentOS7虚拟机终端中,怎样使用 ip link命令显示所有网卡的属性以及en 网卡?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在CentOS7虚拟机终端中,怎样使用 ip link命令显示所有网卡的属性以及en 网卡?相关的知识,希望对你有一定的参考价值。

参考技术A

可以直接使用ifconfig来显示所有的网络设备信息,或者用ip link list显示网络设备的运行状态。

虚拟机中设置 CentOS 静态 IP

作为开发人员在工作和学习中通过虚拟机使用 Linux 的情况肯定会非常多,但是 Linux 自带的终端使用体验较差,所以绝大多数使用者都会在宿主机上使用第三方 SSH工具(例如 Xshell)进行连接,然而在虚拟机中如果使用的是动态 IP 则会出现这次连接可以但下次连不上的情况,因为 IP 动态获取的嘛,是会变的。所以这篇文章的目的也就在于解决此问题。

确定虚拟机使用的网络配置

在设置静态 IP 之前,我们需要确定当前系统动态获取到的一些配置信息,以便我们后续使用。

IP地址及网卡名称

作者新装的一台虚拟机,执行的是最小化安装,所以什么工具也没有,使用 ip 来查看,执行结果如下:

[root@192 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:90:03:54 brd ff:ff:ff:ff:ff:ff
    inet 192.168.234.130/24 brd 192.168.234.255 scope global noprefixroute dynamic ens33
       valid_lft 1650sec preferred_lft 1650sec
    inet6 fe80::a120:30fb:6867:daed/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

分析以上结果,我们可以看到网卡名称为 ens33,IP 地址为 192.168.234.130,根据 IP 地址后的 /24 可以得知为 C 类地址,子网掩码为 255.255.255.0 (可参考 ip地址后边加个/8(16,24,32)是什么意思?)
技术图片

DNS 地址

CentOS 使用的 DNS 配置放置在 /etc/resolv.conf 文件中,可以通过查看此文件内容获取当前 DNS 地址。

[root@192 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search localdomain
nameserver 192.168.234.2

根据文件内容可以知道 DNS 服务器地址为 192.168.234.2

网关地址

网关地址同样可以使用 ip 命令进行查看

[root@192 ~]# ip route show
default via 192.168.234.2 dev ens33 proto dhcp metric 100 
192.168.234.0/24 dev ens33 proto kernel scope link src 192.168.234.133 metric 100 

根据执行结果我们可以看到使用的网关地址为 192.168.234.2

汇总

根据之前的结果,我们可以汇总得到现有的网络配置信息:

  • 网卡名:ens33
  • IP 地址:192.168.234.130
  • 子网掩码:255.255.255.0
  • DNS:192.168.234.2
  • 网关:192.168.234.2

修改 CentOS 系统设置

相比于查看来说,设置部分相对会简单很多,修改一个文件就可以了,文件路径 /etc/sysconfig/network-scripts,之前我们查看到虚拟机的网卡名为 ens33,在这个目录下有个文件为 ifcfg-ens33,这个就是网卡对应的配置文件。

文件内包含当前网卡的网络配置,默认的是通过 DHCP 来动态获取 IP 地址,我们需要修改为静态 IP。

# 默认内容
BOOTPROTO="dhcp"
# 修改后的内容
BOOTPROTO="static"

# 检查以下内容,必须为 “yes”
ONBOOT="yes"

在文件中添加以下内容,其中地址除 IP 地址为手动指定外,其他的均为之前动态获取的内容

IPADDR="192.168.234.71"
NETMASK="255.255.255.0"
GATEWAY="192.168.234.2"
DNS1="192.168.234.2"

修改后重新启动网络服务

[root@192 ~]# systemctl restart network

之后重新查看地址(如果使用三方 SSH 工具则需要重新连接),可以看到 IP 地址已经变更为我们指定的地址,以后连接就不会出现获取的地址和之前不一样的情况了

[root@192 ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:90:03:54 brd ff:ff:ff:ff:ff:ff
    inet 192.168.234.71/24 brd 192.168.234.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::a120:30fb:6867:daed/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

以上是关于在CentOS7虚拟机终端中,怎样使用 ip link命令显示所有网卡的属性以及en 网卡?的主要内容,如果未能解决你的问题,请参考以下文章

Centos7在VMWarePlayer下配置静态IP

虚拟机下Centos7如何设置静态IP地址

CentOS7配置IP和网络问题排查

CentOS7最小化安装配置IP

虚拟机下Centos7如何设置静态IP地址

虚拟机中最小安装centos7没有ifconfig命令