RHEL8---网络配置

本章主要介绍网络配置的方法。

  • 网络基础知识
  • 查看网络信息
  • 图形化界面修改
  • 通过配置文件修改
  • 命令行管理
  • 主机名的设置

网络基础知识 

  一台主机需要配置必要的网络信息,才可以连接到互联网。需要的配置网络信息包括IP、 子网掩码、网关和 DNS。 

1、IP 地址

在计算机中对IP的标记使用的是32bit的二进制

例如:11000000 10101000 00011010 01100100

  这里共有32位由1和0组成的二进制数字,这样的地址对于人类来说并不好记忆,所已用3 个点把这32位的二进制隔成4个部分,每个部分8个二进制数字。   

11000000 .10101000 .00011010 .01100100

然后我们把每个部分的二进制转换成十进制之后,IP的格式就是下面这样 的:192.168.26.100

这种对IP的表示方法叫作“点分十进制”。

  如同我们的电话号码由“区号+电话号码”组成,例如,下面两个电话号码01088888888和 02188888888,一看号码我们就知道O108888888是北京的电话号码,02188888888是上海 的电话号码。因为不同的城市都有自己的区号,所以不同的城市即便电话号码一样也不会突, 因为区号不一样。 

  同理,一个IP地址也可以分成两个部分,一个是网络位,另一个是主机位。对于电话号码 来说,我们能一眼判断出来哪个是区号,哪个是电话号码,但是对于来说(如 192.168.26.100),哪些是网络位,哪些是主机位呢?这时就需要用到子网掩码了。

  子网掩码是用来标记一个IP里面哪些是网络位,哪些是主机位的。例如,看一个二进制类 型的P地址,共写了两行。

11000000 1010100000011010 01100100

11111111 11111111 11111111 00000000

  第一行是IP地址,第二行是子网掩码,二者都是一讲制格式的。需要注意的是,第二h子网 掩码的格式是连续的1和连续的0。

  子网掩码为1的部分,对应P地址的团终位部分,子网坯E女О的部分,对应IP地址的主机位 部分。对二者分别用3个点隔成4个部分,变成如下内容。

11000000.10101000.00011010.01100100

11111111.11111111.11111111.00000000

再次分别转换成十进制,得到的结果如下。192.168.26.100 255.255.255.0

  所以,我们表示一个IP地址,具体的就是192.168.26.100/255.255.255.0或写成 192.168.26.100/24,这里24表示子网掩码中有24个1,即前24位都是网络位。

2、网关

  我们把一个网络中的网关理解为一个城市中的高铁站,如果我们想从一个城市去往另外一 个城市,需要先到高铁站,坐上高铁之后,高铁会把我们送往另外一个城市。同样地,如果 一个网络中的主机要发送一个数据包去往另外一个网络,则需要先把这个数据包发送到网关,然后由网关把这个数据包转发到另外一个网络。 

  所以,如果我们没有给一台机器配置网关,则这台机器的数据包是不能和其他网络的主机 进行通信的,只能和同一个网段的数据包通信。  

注意

给机器配置的IP和网关必须是属于同一个网段的。在我们的练习环境中,本书所使用的网络是 192.168.26.0/24网段,我们需要把网关设置为102168262。如果读者所使用的网络是 192.168.X.0/24网段,则需要把网关设置为192.168.26.X.2,这里的X是一个数字。

3、DNS 

  两台主机通信时依赖的是IP,但是IP地址并不好记忆,不如主机名好记,例如 www.rhce.cc,再如 www.baidu.com。我们说两台主机通信依赖的是IP,但是我们访问 www.rhce.cc时,这是主机名不是IP,那是怎么通信的呢?这里就要用到 DNS 了。 

  DNS服务器的主要作用是做域名解析,可以把主机名解析成P地址,所以我们需要给系统 指定 DNS服务器。当我们指定了DNS服务器地址之后,在浏览器中输人www.rhce.cc时, 系统会向 DNS服务器查询 www.rhce.cc的IP,然后再通过这个IP来访问。 

  在我们的练习环境中,本书所使用的网络是192.168.26.0/24网段,我们需要把 DNS设置 为192.168.26.2。如果读者所使用的网络是192.168.X.0/24网段,则需要把 DNS设置为 192.168.26.X.2,这里的X是一个数字。

下面开始讲解如何查看这些网络信息,以及如何配置这些网络信息。

查看网络信息 

查看 IP 信息可以通过ifconfig命令,命令如下。

[root@rhel03 ~]# ifconfig 
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.33  netmask 255.255.255.0  broadcast 192.168.23.255
        inet6 fe80::20c:29ff:fef8:9ac8  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f8:9a:c8  txqueuelen 1000  (Ethernet)
        RX packets 290  bytes 27454 (26.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 95  bytes 11945 (11.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 48  bytes 4080 (3.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48  bytes 4080 (3.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:b4:cc:08  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@rhel03 ~]# 

  这里查看的是所有活跃网卡的信息,如果想查看不管是沾跃还是不沾跃网卡的信息,以通 过ifconfig -a来查看。如果只想查看某张网卡的信息,可以通过“ifconfig 网卡名”来查 看。例如,只查看ens160的网络信息这里ens160是网卡名),命令如下。 

[root@rhel03 ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.33  netmask 255.255.255.0  broadcast 192.168.23.255
        inet6 fe80::20c:29ff:fef8:9ac8  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f8:9a:c8  txqueuelen 1000  (Ethernet)
        RX packets 379  bytes 33900 (33.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 127  bytes 17453 (17.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@rhel03 ~]#

这里inet后面跟的是此网卡的IP,ether后面跟的是此网卡的MAC地址。

也可以通过“ip address show 网卡名”来香看。例如,杏看engl60的网终信息,命令如下

[root@rhel03 ~]# ip address show ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:f8:9a:c8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.23.33/24 brd 192.168.23.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fef8:9ac8/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@rhel03 ~]# 

这里address可以简写为addr 或a,show可以简写为sh。

  如果要查看所有网卡的信息,可以写为“ip a”。如果网卡ens160上配置了多个IP,通过 ifconfig ens160只能看到一个IP,如果要看到所有的IP,可以使用ip address show ens160命令。   

  查看网关可以使用route -n命令,这里的-n是为了防止反向解析,即防止把P解析成主机 名,命令如下。 

[root@rhel03 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.23.2    0.0.0.0         UG    100    0        0 ens160
192.168.23.0    0.0.0.0         255.255.255.0   U     100    0        0 ens160
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0
[root@rhel03 ~]# 

可以看到,网关是192.168.23.2。 

查看DNS,所使用的DNS记录在/etc/resolv.conf中。

[root@rhel03 ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 202.96.128.86
nameserver 119.119.119.119
[root@rhel03 ~]# 

在nameserver后面指定的就是当前默认使用的DNS。

  为了更好地理解,这里举一个例子。我们在一张标签上写上IP、子网掩码、网关、DNS等 信息,然后把这个标签贴到网卡上,那么这张网卡就有这些网络信息了,如下图所示。

这个标签就叫作连接(connection),给网卡配置IP,只要给这个网卡建立一个连接就可以了。

 

通过nmcli connection或简写为nmcli conn来查看当前连接,命令如下。 

[root@rhel03 ~]# nmcli connection 
NAME    UUID                                  TYPE      DEVICE 
ens160  da3e49b8-181d-4864-8260-c11fac6066b2  ethernet  ens160 
virbr0  073d3f4f-45d9-4f85-8c8c-630247a8aaf8  bridge    virbr0 
[root@rhel03 ~]#

这里 DEVICE 对应的是网卡名,NAME对应的是连接名。整句的意思就是网卡ens160存在一个连接,名称为ens160。 

查看连接的具体属性,可以通过“nmcli connection show连接名”来查看。

下面查看ens160属性中与IPv4相关的条目,命令如下。

[root@rhel03 ~]# nmcli connection show ens160 | grep ipv4
ipv4.method:                            manual
ipv4.dns:                               202.96.128.86,119.119.119.119
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.23.33/24
ipv4.gateway:                           192.168.23.2
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.ignore-auto-routes:                否
ipv4.ignore-auto-dns:                   否
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                是
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0(none)
ipv4.never-default:                     否
ipv4.may-fail:                          是
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.dhcp-reject-servers:               --
[root@rhel03 ~]#

可以看到,ens160获取IP的方式是 manual。 

因为我们要练习创建连接,所以这里先把此连接删除。

[root@rhel03 ~]# nmcli connection delete ens160 
成功删除连接 "ens160" (da3e49b8-181d-4864-8260-c11fac6066b2)。
[root@rhel03 ~]# 

  这里已经查看到相关的网络信息了,如果要配置IP、网关、DNS等网络信息呢?下面我们 分别来讲解如何通过图形化界面的方式、修改配置文件的方式、命令行管理的方式来配置络 信息。 

图形化界面修改

在root用户下,输入“nm-connection-editor ”。  即可打开【网络连接】图形化界面窗口,这个窗口显示了当前具有的连接,单击左下角的 【+】按钮,添加一个连接,如下图所示。

[root@rhel03 ~]# nm-connection-editor 

 

在【选择连接类刑】对话框中选择【以太网】选项,单击【创建】按钮,如下图所示。

   

  打开【编辑ens160】对话框,在【常规】选项卡下的【连接名称】文本框中输 入“ens160”,这是创建连接的名称,名称可以随意取,不必和网卡名一致;选中【自动以 优先级连接】复选框,如下图所示。

 

选择【以太网】选项卡,在【设备】下拉列表中选择【ens160】选项,意思就是为网卡 ens160创建一个连接,名称为ens160,如下图所示。

 

   选择【IPv4设置】选项卡,这里设置的是连接ens160是通 过什么方式获取IP,可以手动设置也可以通过 DHCP获取。在 【方法】下拉列表中选择【手动】选项,单击下面的【添 加】按钮,输入IP地址、子网掩码、网关、DNS等。然后单 击右下角的【保存】按钮,如下图所示。

如果要为ens160配置第二个IP,单击上图右侧的【添加】 按钮,然后输入IP地址即可。之后就可以看到已经创建了一个 连接ens160,如下图所示。

 

在另外一个终端中,输入“ifconfig ens160”,如下所示。

[root@rhel03 ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.33  netmask 255.255.255.0  broadcast 192.168.23.255
        inet6 fe80::f34b:d631:a402:fbff  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f8:9a:c8  txqueuelen 1000  (Ethernet)
        RX packets 1334  bytes 102803 (100.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 371  bytes 44127 (43.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@rhel03 ~]# 

可以看到,这里的IP地址为192.168.23.33,就是我们刚刚设置的IP。 

也可以通过查看连接ens160的属性来查看IP信息。

[root@rhel03 ~]# nmcli connection show ens160 | grep ipv4
ipv4.method:                            manual
ipv4.dns:                               202.96.128.86,119.29.29.29
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.23.33/24
ipv4.gateway:                           192.168.23.2
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.ignore-auto-routes:                否
ipv4.ignore-auto-dns:                   否
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                是
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0(none)
ipv4.never-default:                     否
ipv4.may-fail:                          是
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.dhcp-reject-servers:               --
[root@rhel03 ~]# 

这里可以看到IP地址、网关、DNS等信息。

因为这个连接是新创建的,所以创建好之后可以立即生效。

下面介绍如何修改已经存在连接的IP。选中【ens160】,单击 下方的齿轮按钮,如下图所示。

 

  选择【IPv4设置】选项卡,将P地址设置 为“192.168.23.133”,单击【保存】按钮,如下图所示。   

在终端中查看ens160的IP。

[root@rhel03 ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.33  netmask 255.255.255.0  broadcast 192.168.23.255
        inet6 fe80::f34b:d631:a402:fbff  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f8:9a:c8  txqueuelen 1000  (Ethernet)
        RX packets 1468  bytes 111936 (109.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 377  bytes 44999 (43.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@rhel03 ~]# 

可以看到,IP地址仍然是192.168.23.33,并没有变成192.168.23.133。

因为这个IP不是在创建连接时指定的,而是后期修改连接时指定的,所以这个IP不会生效。

如果想让其生效,需要执行“nmcli device reapply 设备名”命令。

[root@rhel03 ~]# nmcli device reapply ens160
成功重新应用连接到设备 "ens160"。
[root@rhel03 ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.133  netmask 255.255.255.0  broadcast 192.168.23.255
        inet6 fe80::f34b:d631:a402:fbff  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f8:9a:c8  txqueuelen 1000  (Ethernet)
        RX packets 1533  bytes 117913 (115.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 393  bytes 47861 (46.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@rhel03 ~]# 

可以看到,现在IP地址已经变成192.168.23.133了。

删除连接的操作如下。

选中连接名,单击下面的【-】按钮,在弹出的界面中单击【删陈】按钮即可,如下图所示。 

  如果打不开上述图形化界面,可以在终端中输人“nmtui-edit”命令后按【Enter】键, 然后按【Tab】键选择【添加】按钮,再按【Enter】键,如下图所示。 

在【新建连接】界面中选中【以太网】,按【Tab】键选择【创建】按钮,然后按 【Enterl】键,如下图所示。

   

在【编辑连接】界面的【配置集名称】中输人“ens160”,这是设置连接名的;在下方的 【设备】中输入“ens160”。按【Tab】键选择【IPv4配置】后的【显示】按钮,然后按 【Enter】键,如下图所示。 

 

  在【IPv4配置】后面将获取IP的方式设置为“手动”,按【Tab】键选择【地址】后的 【添加】按钮,然后按【Enter】键,如下图所示。

 

然后设置IP地址、网关、DNS,如下所示

保存退出,然后返回到初始界面,如下图所示。

 

在第二个终端中查看IP信息。

[root@rhel03 ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.33  netmask 255.255.255.0  broadcast 192.168.23.255
        inet6 fe80::e6:ea8:9922:20e8  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:f8:9a:c8  txqueuelen 1000  (Ethernet)
        RX packets 2215  bytes 163027 (159.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 437  bytes 53976 (52.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@rhel03 ~]# 

可以看到,此处IP地址已经被设置为192.168.23.33 了。

  如果要修改IP,在初始界面中选中连接名,按【Tab】键选择【编辑】按钮,然后按 【Enter】键,如下图所示,就可以正常修改IP了。记得修改之后需要执行nmcli devir.reapply ens160命令让其生效。 

  删除连接,先选中连接名,按【Tab】键选择【删除】按钮,然后按【Enter】键。弹出个弹窗,按【Tab】键选择【删除】按钮,然后按【Enter】 键,如下图所示。这种删除连接的方式是最简单的。 


通过配置文件修改 

  网卡连接的配置文件在/etc/sysconfig/network-scripts 中,格式为“ifcfg-连接名”, 可以看到连接都被删除了,现在没有任何连接。

[root@rhel03 ~]# nmcli connection 
NAME    UUID                                  TYPE    DEVICE 
virbr0  073d3f4f-45d9-4f85-8c8c-630247a8aaf8  bridge  virbr0 
[root@rhel03 ~]# 

下面为网卡 ens160创建一个连接,连接名为ens160。

创建一个文件/etc/sysconfig/network-scripts/ifcfg-ens160,内容如下。

[root@rhel03 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens160
DEVICE=ens160
NAME=ens160
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.23.33
NETMASK=255.255.255.0
GATEWAY=192.168.23.2
DNS1=202.96.128.86
DNS2=119.29.29.29

这里字段的含义如下。

  • DEVICE:用于指定哪张网卡。
  • NAME:用于指定连接的名称。
  • ONBOOT:设置的是开机是否自动生效,这里设置为yes。
  • BOOTPROTO:设置的是通过什么方式获取IP,可选值如下。
  1. dhcp:通过 DHCP获取IP。
  2. none或static:手动配置。
  • IPADDR:设置IP。
  • NETMASK:设置子网掩码。
  • GATEWAY:设置网关。
  • DNS1:设置 DNS,这里最多可以指定3个 DNS,分别是 DNS1、DNS2、DNS3 

因 为这个配置文件是新创建的,所以需要重新加载一下才能生效,命令如下。

[root@rhel03 ~]# nmcli connection reload 

然后查看网卡 ens160 的 IP。

[root@rhel03 ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.23.33  netmask 255.255.255.0  broadcast 192.168.23.255
        ether 00:0c:29:f8:9a:c8  txqueuelen 1000  (Ethernet)
        RX packets 2579  bytes 186506 (182.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 464  bytes 57153 (55.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

[root@rhel03 ~]# 

可以看到,现在已经生效了。

记住,因为这个文件是新创建的,所以只要执行 nmcli connect reload 命令即可生效。 下面开始修改 IP,把配置文件修改为如下内容。

[root@rhel03 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160 
DEVICE=ens160
NAME=ens160
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.23.133
NETMASK=255.255.255.0
GATEWAY=192.168.23.2
DNS1=202.96.128.86
DNS2=119.29.29.29

 修改之后执行 nmcli connect reload 命令是没用的,还要执行 nmcli device reapply ens160 命令。

[root@rhel03 ~]# nmcli device reapply ens160
成功重新应用连接到设备 "ens160"。

总结如下。

  • 新创建好连接的配置文件,直接执行 nmcli connection reload 命令即可生效。
  • 修改已经存在的配置文件,之后需要执行 nmcli connection reload 和 nmcli device reapply ens160 命令才能让修改生效。 

命令行管理 

在命令中查看现有连接,命令如下。

[root@rhel03 ~]# nmcli connection 
NAME    UUID                                  TYPE      DEVICE 
ens160  ea74cf24-c2a2-ecee-3747-a2d76d46f93b  ethernet  ens160 
virbr0  073d3f4f-45d9-4f85-8c8c-630247a8aaf8  bridge    virbr0 
[root@rhel03 ~]# 

删除连接的命令如下。

  • nmcli connection delete 连接名 

现在把连接ens160删除,命令如下。

[root@rhel03 ~]# nmcli connection delete ens160
成功删除连接 "ens160" (ea74cf24-c2a2-ecee-3747-a2d76d46f93b)。
[root@rhel03 ~]# 

命令行添加连接的命令是nmcli connection add,其常见的选项包括以下几个。

  1. type:类型。
  2. con-name:连接名。
  3. ifname:网卡名。
  4. ipv4.method manual/auto manual:手动配置IP,auto为自动获取。
  5. ipv4.addresses:指定IP及子网掩码。
  6. ipv4.gateway:指定网关。
  7. ipv4.dns :指定DNS。
  8. autoconnect yes:设置连接开机自动生效。 

下面为网卡 ens160创建一个名称为ens160、类型为以太网的连接。

[root@rhel03 ~]# nmcli connection add type ethernet con-name ens160 ifname ens160 ipv4.method manual ipv4.addresses 192.168.23.33/24 ipv4.gateway 192.168.23.2 ipv4.dns 202.96.128.86 autoconnect yes
连接 "ens160" (1df4a215-1723-4e07-b3c3-cac85af993c1) 已成功添加。
[root@rhel03 ~]# 

这里命令比较长,可以想象一下在图形化界面中指定的内容。

  • 类型为以太网。
  • 连接名为ens160。
  • 为哪张网卡用ifname指定。

此处创建好之后,可以查看连接属性,命令如下。

[root@rhel03 ~]# nmcli connection show ens160 | grep ipv4
ipv4.method:                            manual
ipv4.dns:                               202.96.128.86
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.23.33/24
ipv4.gateway:                           192.168.23.2
ipv4.routes:                            --
ipv4.route-metric:                      -1
ipv4.route-table:                       0 (unspec)
ipv4.routing-rules:                     --
ipv4.ignore-auto-routes:                否
ipv4.ignore-auto-dns:                   否
ipv4.dhcp-client-id:                    --
ipv4.dhcp-iaid:                         --
ipv4.dhcp-timeout:                      0 (default)
ipv4.dhcp-send-hostname:                是
ipv4.dhcp-hostname:                     --
ipv4.dhcp-fqdn:                         --
ipv4.dhcp-hostname-flags:               0x0(none)
ipv4.never-default:                     否
ipv4.may-fail:                          是
ipv4.required-timeout:                  -1 (default)
ipv4.dad-timeout:                       -1 (default)
ipv4.dhcp-vendor-class-identifier:      --
ipv4.dhcp-reject-servers:               --
[root@rhel03 ~]# 

左侧是此连接的属性,右侧是具体的值。

如果要修改配置,只要修改左侧对应的属性即可,语法如下。

  • nmcli connection modify 连接名 属性1 值1 属性2 值2 ... 

这里的属性与前面创建连接用的属性一致。

现在把cns160的IP地址改为192.168.23.133,命令如下。

[root@rhel03 ~]# nmcli connection modify ens160 ipv4.addresses 192.168.23.133/24
[root@rhel03 ~]# nmcli device reapply ens160 
成功重新应用连接到设备 "ens160"。
[root@rhel03 ~]# 

  一定要记得,修改之后要执行nmcli device reapply ens160命令让所做修改生效。如果不是修改的配置文件,则不必执行nmcli connection reload命令。 

如果要给ens160再额外添加一个IP地址192.168.23.233/24,可以用如下命令。

[root@rhel03 ~]# nmcli connection modify ens160 ifname ens160 ipv4.method manual +ipv4.addresses 192.168.23.233/24
[root@rhel03 ~]# nmcli device reapply ens160 
成功重新应用连接到设备 "ens160"。
[root@rhel03 ~]# 

在添加 IP 地址时,ipy4 .addresses前面一定要有一个加号“+”,写 作“+ipv4.addresses"表示额外添加一个IP,如果没有这个+,会覆盖原有的IP。

查看ens160的IP信息。

[root@rhel03 ~]# ip address show ens160 
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:f8:9a:c8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.23.133/24 brd 192.168.23.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet 192.168.23.233/24 brd 192.168.23.255 scope global secondary noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::c272:7829:bfe2:5137/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@rhel03 ~]# 

可以看到,ens160现在是有两个IP地址的。

类似地,如果要删除ens160的某个P地址,可以写作“-ipv4.addresses”。例如,要删 除ens160的192.168.23.233这个IP地址,可以用如下命令。 

 

[root@rhel03 ~]# nmcli connection modify ens160 ifname ens160 ipv4.method manual -ipv4.addresses 192.168.23.233/24
[root@rhel03 ~]# nmcli device reapply ens160 
成功重新应用连接到设备 "ens160"。
[root@rhel03 ~]# ip address show ens160 
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:f8:9a:c8 brd ff:ff:ff:ff:ff:ff
    inet 192.168.23.133/24 brd 192.168.23.255 scope global noprefixroute ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::c272:7829:bfe2:5137/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
[root@rhel03 ~]# 

在RHEL8中,不能通过systemctl restart network来重启网络,不过安装network-scripts之后就可以了,关于软件包的安装,后续的章节会讲解。 


主机名的设置

  每台主机都会有自己的主机名,默认主机名是 localhost.localdomain,不过并不建议使 用这个主机名。查看主机名的命令是hostname。 

[root@rhel03 ~]# hostname
rhel03
[root@rhel03 ~]# hostname -s
rhel03

hostname加上-s选项可以查看短主机名,即没有域名的主机名。

设置主机名的语法如下。

  • hostnamectl set‐hostname 主机名 

下面把主机名设置为www.rhce.cc。

[root@rhel03 ~]# hostnamectl set-hostname www.rhel.cc
[root@rhel03 ~]# hostname
www.rhel.cc

使用这个命令修改主机名是永久生效的,因为会写入配置文件中。

[root@rhel03 ~]# cat /etc/hostname 
www.rhel.cc
[root@rhel03 ~]# 

  这里主机名虽然改为www.rhce.cc了,但是大家可以看到提示符中的主机名仍然是 sever.rhce.cc。打开一个新的终端就可以看到主机名已经是www了。

不过此时在当前环境中是不能把server.rhce.cc解析成IP地址的,所以需要编 辑/etc/hosts,把主机名和P的对应关系写进去,格式如下。 

  • IP 长主机名 短主机名 

修改/etc/hosts,内容如下。

[root@rhel03 ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.23.133 www.rhel.cc

然后使用ping命令“ping www.rhel.com”.

[root@rhel03 ~]# ping www.rhel.cc
PING www.rhel.cc (192.168.23.133) 56(84) bytes of data.
64 bytes from www.rhel.cc (192.168.23.133): icmp_seq=1 ttl=64 time=0.107 ms
64 bytes from www.rhel.cc (192.168.23.133): icmp_seq=2 ttl=64 time=0.076 ms
64 bytes from www.rhel.cc (192.168.23.133): icmp_seq=3 ttl=64 time=0.065 ms
64 bytes from www.rhel.cc (192.168.23.133): icmp_seq=4 ttl=64 time=0.063 ms
^C
--- www.rhel.cc ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3091ms
rtt min/avg/max/mdev = 0.063/0.077/0.107/0.020 ms
[root@rhel03 ~]# 

可以看到,已经把www.rhel.cc解析成192.168.23.133了。 

相关推荐

  1. 【LNMP】RHEL8.3安装LNMP并配置freetds连接MSSQL

    2023-12-08 01:32:01       31 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-08 01:32:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-08 01:32:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-08 01:32:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-08 01:32:01       20 阅读

热门阅读

  1. qt反射基础

    2023-12-08 01:32:01       31 阅读
  2. android 13.0 framework禁用系统所有通知

    2023-12-08 01:32:01       37 阅读
  3. Linux下超轻量级Rust开发环境搭建:一、安装Rust

    2023-12-08 01:32:01       38 阅读
  4. python pandas dataframe常用数据处理总结

    2023-12-08 01:32:01       37 阅读
  5. 纯C读取文件实现解析H264裸流每一帧数据

    2023-12-08 01:32:01       45 阅读
  6. Redisson

    2023-12-08 01:32:01       43 阅读
  7. 算法 拓扑序列

    2023-12-08 01:32:01       29 阅读
  8. Redis默认序列化方式乱码原因及解决办法

    2023-12-08 01:32:01       43 阅读
  9. 计算机网络——传输层

    2023-12-08 01:32:01       39 阅读
  10. python模块 — json

    2023-12-08 01:32:01       42 阅读
  11. TCP_NODELAY与TCP通信效率

    2023-12-08 01:32:01       43 阅读
  12. 【算法】合并K个升序链表

    2023-12-08 01:32:01       41 阅读
  13. Dynamo学习使用的网站

    2023-12-08 01:32:01       44 阅读
  14. 【NEON】学习资料汇总

    2023-12-08 01:32:01       44 阅读