RHCE9学习指南 第11章 网络配置

11.1 网络基础知识

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

11.1.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,一看这个号码我们就知道01088888888是北京的电话号码,02188888888是上海的电话号码。因为不同的城市都有自己的区号,所以不同的城市即使电话号码一样也不会冲突,因为区号不一样。
同理,对于一个IP地址来说也是分成两个部分,一个网络位一个是主机位。对于电话号码来说,我们能一眼判断出来哪个是区号,哪个是电话号,但是对于IP来说(如192.168.26.100),哪些是网络位哪些是主机位呢?这时就需要用到子网掩码了。

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

11000000 10101000 00011010 01100100
11111111 11111111 11111111 00000000

第一行是IP地址,第二行是子网掩码,两者都是二进制格式的。需要注意的是,第二行子网掩码的格式是连续的1和连续的0组成。
子网掩码为1的那部分,对应IP地址的网络位部分,子网掩码为0的部分,对应IP地址的主机位部分。对二者分别用3个点隔成4个部分,变成如下内容。

11000000 .10101000. 00011010. 01100100
11111111 .11111111 .11111111 .00000000

再次分别转换成10进制,得到的结果是:

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位都是网络位。

11.1.2网关

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

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

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

11.1.3 DNS

两台主机通信时依赖的是IP,但是IP地址并不好记忆,不如主机名好记,例如,www.rhce.cc这样,再如,www.baidu.com这样。但是我们说两台主机通信依赖的是IP,但是我们访问www.rhce.cc时,这是主机名不是IP,那么是怎么通信的呢?这里就要用到dns了。
DNS服务器的主要作用是用于做域名解析的,可以把主机名解析成IP地址,所以我们需要给系统指定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是一个数字。
下面我们开始讲解如何查看这些网络信息,以及如何配置这些网络信息。

11.2 查看网络信息

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

[root@server ~]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.26.130  netmask 255.255.255.0  broadcast 192.168.26.255inet6 fe80::20c:29ff:fec4:5b02  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:c4:5b:02  txqueuelen 1000  (Ethernet)RX packets 34942  bytes 5009818 (4.7 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 25451  bytes 2424735 (2.3 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>...输出...
virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500ether 52:54:00:b2:c1:98  txqueuelen 1000  (Ethernet)...输出...
[root@server ~]#

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

[root@server ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.26.130  netmask 255.255.255.0  broadcast 192.168.26.255inet6 fe80::20c:29ff:fec4:5b02  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:c4:5b:02  txqueuelen 1000  (Ethernet)RX packets 35037  bytes 5022038 (4.7 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 25564  bytes 2439402 (2.3 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@server ~]#

这里inet 后面跟的是此网卡的IP,ether后面跟的是此网卡的MAC地址。
也可以通过“ip address show 网卡名”来查看,例如,查看ens160的网络信息,命令如下所示。

[root@server ~]# ip address show ens160 
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:c4:5b:02 brd ff:ff:ff:ff:ff:ffinet 192.168.26.130/24 brd 192.168.26.255 scope global dynamic noprefixroute ens160valid_lft 1537sec preferred_lft 1537secinet6 fe80::20c:29ff:fec4:5b02/64 scope link noprefixroute valid_lft forever preferred_lft forever
[root@server ~]#

这里address可以简写为addr或a,show可以简写为sh。
如果要查看所有网卡的信息,可以写为"ip a"。如果网卡ens160上配置了多个IP,通过ifconfig ens160命令只能看到一个IP,如果要看到所有的IP可以通过ip address show ens160才可以。
查看网关可以通过route -n命令,这里-n的意思是为了防止反向解析,即防止把IP解析成主机名,命令如下所示。

[root@server ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.26.2    0.0.0.0         UG    100    0        0 ens160
192.168.26.0    0.0.0.0         255.255.255.0   U     100    0        0 ens160
[root@server ~]#

这里可以看到,网关是192.168.26.2。
查看DNS,所使用的dns记录在/etc/resolv.conf中。

[root@server ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search localdomain rhce.cc
nameserver 192.168.26.2
[root@server ~]#

在nameserver后面指定的就是当前默认使用的dns。
为了好理解,这里我们举个例子。我们在一张标签上写上IP、子网掩码、网关、DNS等信息,然后把这个标签贴到网卡上,那么这张网卡就有了这些网络信息了,如图11-1所示。
file

这个标签就叫作连接(connection),给网卡配置IP,只要给这个网卡建立一个连接就可以了。
通过nmcli connection 或简写为nmcli conn查看当前连接,命令如下所示。

[root@server ~]# nmcli connection 
NAME    UUID                                  TYPE      DEVICE 
ens160  935ffc86-d4ce-465e-a32a-7d5aec8a9771  ethernet  ens160 
[root@server ~]#

这里DEVICE所对应的是网卡名,NAME对应的是连接名。整句的意思就是网卡ens160存在了一个连接,名称叫作ens160。
查看连接的具体属性,可以通过“nmcli conn show 连接名”来查看。
下面查看ens160属性中和iPv4相关的条目,命令如下所示。

[root@server ~]# nmcli connection show ens160 | grep ipv4
ipv4.method:                            auto
ipv4.dns:                               --...输出...
ipv4.dhcp-reject-servers:               --
[root@server ~]#

这里可以看到,ens160获取IP的方式是DHCP。
因为我们要练习创建连接,所以这里先把此连接删除。

[root@server ~]# nmcli connection delete ens160 
成功删除连接 "ens160" (935ffc86-d4ce-465e-a32a-7d5aec8a9771)[root@server ~]# 

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

11.3 图形化界面修改

在root用户或者普通用户下执行nm-connection-editor。

[root@server ~]# nm-connection-editor 
[1] 45012
[root@server ~]#

即可打开【网络连接】图形化界面窗口,这个窗口显示了当前具有的连接,单击左下角的【+】按钮,添加一个连接。
file

在【选择连接类型】对话框中选择“以太网”,单击【创建】按钮,如图11-3所示。
file

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

在【设备】下拉列表中选择“ens160”,意思就是为网卡ens160创建一个连接,名称为ens160。选择【IPv4设置】选项卡,如图11-5所示。
file

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

如果要为ens160配置第二个IP,点击图11-6右侧的添加,然后输入IP即可。之后就可以看到已经创建了一个连接ens160,如图11-7所示。
file

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

[lduan@server ~]$ ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.26.100  netmask 255.255.255.0  broadcast 192.168.26.255inet6 fe80::5cea:baf4:d0a6:930b  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:c4:5b:02  txqueuelen 1000  (Ethernet)RX packets 41293  bytes 7450588 (7.1 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 29131  bytes 2651574 (2.5 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0[lduan@server ~]$

可以看到,这里的IP为192.168.26.100,就是我们刚刚设置的IP。
也可以通过查看连接ens160的属性也能看到IP信息。

[lduan@server ~]$ nmcli connection show ens160 | grep ipv4
ipv4.method:                            manual
ipv4.dns:                               192.168.26.2
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.26.100/24
ipv4.gateway:                           192.168.26.2...输出...
[lduan@server ~]$

这里可以看到,IP、网关、DNS等信息。
因为这个连接是新创建的,所以创建好之后是可以立即生效。
下面介绍如何修改已经存在连接的IP。
选中“ens160”,单击下方的齿轮按钮,如图11-8所示。
file

单击【IPv4设置】选项卡,将IP地址设置为192.168.26.101,单击【保存】按钮,如图11-9所示。
file

在终端中查看ens160的IP。
[lduan@server ~]$ ifconfig ens160

ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.26.100  netmask 255.255.255.0  broadcast 192.168.26.255inet6 fe80::5cea:baf4:d0a6:930b  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:c4:5b:02  txqueuelen 1000  (Ethernet)RX packets 41316  bytes 7452807 (7.1 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 29145  bytes 2653538 (2.5 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0[lduan@server ~]$

可以看到,IP地址仍然是192.168.26.100,并没有变成192.168.26.101。
因为这个IP不是在创建连接时指定的,而是后期修改连接时指定的,所以这个IP不会生效。
如果让其生效,需要执行“nmcli device reapply 设备名”命令。

[lduan@server ~]$ nmcli device reapply ens160 
成功重新应用连接到设备 "ens160"[lduan@server ~]$ 
[lduan@server ~]$ ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.26.101  netmask 255.255.255.0  broadcast 192.168.26.255inet6 fe80::5cea:baf4:d0a6:930b  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:c4:5b:02  txqueuelen 1000  (Ethernet)RX packets 41320  bytes 7453429 (7.1 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 29158  bytes 2655659 (2.5 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0[lduan@server ~]$ 

这里可以看到,现在IP地址已经变成了192.168.26.101了。
删除连接的操作如下。
选中连接名,单击下面的“-”按钮,在弹出的界面单击【删除】按钮即可,如图11-10所示。
file

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

在【新建连接】界面选中“以太网”,按【Tab】键选中【创建】按钮,然后按【Enter】键,如图11-12所示。
file

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

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

这里输入相关的网络信息,如图11-15所示。
file

然后按多次【Tab】键,直到看到下面的界面,这里确保【自动连接】前面有“X”,即选中状态,如果没有选中,则按空格键选中,再按【Tab】键选择【确定】按钮,然后按【Enter】键,如图11-16所示。
file

返回到初始界面,如图11-17所示。
file
图11-17 新建连接
然后在第二个终端中查看IP信息。

[lduan@server ~]$ ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.26.100  netmask 255.255.255.0  broadcast 192.168.26.255inet6 fe80::4eab:5208:f692:1150  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:c4:5b:02  txqueuelen 1000  (Ethernet)RX packets 41383  bytes 7464236 (7.1 MiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 29218  bytes 2664239 (2.5 MiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0[lduan@server ~]$

可以看到,此处IP已经被设置为了192.168.26.100了。
如果要修改IP,在初始界面选中连接,然后选中【编辑】按钮,按【Enter】键后,如图11-18所示,就可以正常修改IP了。记得修改之后需要执行“nmcli device reapply ens160”命令让其生效。
file

删除连接,先选中连接名,按【Tab】键,选中【删除】按钮,按【Enter】键。然后会有一个弹窗,按【Tab】键选中【删除】按钮,并按【Enter】键。这种删除连接的方式是最简单的。
file

11.4 通过配置文件修改

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

[root@server ~]# nmcli connection [root@server ~]#

下面为网卡ens160创建一个连接,连接名为ens160。
创建一个文件/etc/sysconfig/network-scripts/ifcfg-ens160,内容如下。

[root@server ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
DEVICE=ens160
NAME=ens160
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.26.100
NETMASK=255.255.255.0
GATEWAY=192.168.26.2
DNS1=192.168.26.2
[root@server ~]#

这里字段的意思如下。

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

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

[root@server ~]# nmcli connection reload 
[root@server ~]#

然后查看下网卡ens160的IP。

[lduan@server ~]$ ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.26.100  netmask 255.255.255.0  broadcast 192.168.26.255...输出...
[lduan@server ~]$

可以看到,现在是已经生效了的。
记住:因为这个文件是新创建的,所以只要执行“nmcli connection reload”命令即可生效。
下面开始修改IP,把配置文件修改为如下内容。

[root@server ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens160
DEVICE=ens160
NAME=ens160
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.26.101
NETMASK=255.255.255.0
GATEWAY=192.168.26.2
DNS1=192.168.26.2
[root@server ~]#

修改之后执行nmcli connection reload命令。

[root@server ~]# nmcli connection reload 
[root@server ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.26.100  netmask 255.255.255.0  broadcast 192.168.26.255...输出...
[root@server ~]#

修改之后发现单执行“nmcli connection reload”命令是没用的,还要执行“nmcli device reapply ens160”命令。
总结:
(1)新创建好连接的配置文件之后,直接nmcli connection reload即可生效。
(2)修改已经存在配置文件,之后需要执行nmcli connection reload和nmcli device reapply ens160才能让修改生效。

11.5 命令行管理

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

[root@server ~]# nmcli connection 
NAME    UUID                                  TYPE      DEVICE 
ens160  ea74cf24-c2a2-ecee-3747-a2d76d46f93b  ethernet  ens160 
[root@server ~]#

删除连接的命令如下所示。

nmcli connection delete 连接名

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

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

命令行添加连接的命令是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@server ~]# nmcli connection add type ethernet con-name ens160 ifname ens160 ipv4.method manual ipv4.addresses 192.168.26.100/24 ipv4.gateway 192.168.26.2 ipv4.dns 192.168.26.2 autoconnect yes 
连接 "ens160" (e84786f3-db2d-46b9-8798-57a89beba56b) 已成功添加。
[root@server ~]#

这里命令比较长,可以想象一下在图形化界面中指定的内容。
(1)类型为以太网。
(2)连接名是ens160。
(3)为哪张网卡用ifname指定。
此处创建好之后,可以查看下连接属性,命令如下。

[root@server ~]# nmcli connection show ens160 | grep ipv4
ipv4.method:                            manual
ipv4.dns:                               192.168.26.2
ipv4.dns-search:                        --
ipv4.dns-options:                       --
ipv4.dns-priority:                      0
ipv4.addresses:                         192.168.26.100/24
ipv4.gateway:                           192.168.26.2...输出...
[root@server ~]#

左侧是此连接的属性,右侧是具体的值。
如果要修改配置,只要修改左侧对应的属性即可,语法如下。

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

这里的属性跟前面创建连接用的属性一致。
现在把ens160的IP改为192.168.26.101,命令如下。

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

一定要记得,修改之后要执行nmcli device reapply ens160让所做修改生效。如果不是修改的配置文件则不必执行nmcli connection reload。
如果要给ens160再额外添加一个IP地址192.168.26.100/24,可以用如下命令。

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

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

[root@server ~]# ip addr show ens160 
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000link/ether 00:0c:29:c4:5b:02 brd ff:ff:ff:ff:ff:ffinet 192.168.26.101/24 brd 192.168.26.255 scope ... ens160valid_lft forever preferred_lft foreverinet 192.168.26.100/24 brd 192.168.26.255 scope ... ens160valid_lft forever preferred_lft forever
[root@server ~]# 

可以看到,ens160现在是有两个IP地址的。
类似的,如果要删除ens160的某个IP地址可以写作"-ipv4.addresses",例如,要删除ens160的192.168.26.100这个IP地址,按如下命令。

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

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

11.6 主机名的设置

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

[root@server ~]# hostname
server.rhce.cc
[root@server ~]# hostname -s
www
[root@server ~]# 

hostname 加上-s选项可以看到短主机名,即没有域名的主机名。
设置主机名的语法如下。

hostnameCtrl set-hostname  主机名

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

[root@server ~]# hostnameCtrl set-hostname www.rhce.cc
[root@server ~]# hostname
www.rhce.cc
[root@server ~]# 

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

[root@server ~]# cat /etc/hostname
www.rhce.cc
[root@server ~]#

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

[root@server ~]# hostnameCtrl set-hostname server.rhce.cc
[root@server ~]# 

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

IP  长主机名  短主机名

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

[root@server ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.26.101	server.rhce.cc server
[root@server ~]#

然后使用ping命令ping“server.rhce.cc”或“ping server”。

[root@server ~]# ping -c1 server.rhce.cc
PING server.rhce.cc (192.168.26.101) 56(84) bytes of data.
64 bytes from server.rhce.cc (192.168.26.101): icmp_seq=1 ttl=64 time=0.051 ms--- server.rhce.cc ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.051/0.051/0.051/0.000 ms
[root@server ~]#

可以看到,已经把server.rhce.cc解析成了192.168.26.101了。

作业

  1. 下面哪个几个IP是同一个网段的
    a. 192.168.26.0/24
    b. 192.188.26.0/24
    c. 192.168.26.0/24
    d. 192.168.27.0/24

2.下面哪个地址不是私有IP?
a. 10.10.10.10
b. 169.254.11.23
c. 172.19.18.17
d. 192.168.192.192

3下面哪个命令能显示所有网卡的 所有IP?
a. ifconfig -all
b. ipconfig
c. ip link show
d. ip addr show

  1. 天下文章一大抄,使用nmcli命令比较复杂,通过查询如下哪个选项的man page,可以获取具体用法的例子?
    a. nmcli
    b. nmcli-examples
    c. nm-config
    d. nm-tools

  2. 在网卡配置文件中,要设置网卡能开机自动启动,加的选项是?
    a. BOOTON=yes
    b. AUTOBOOT=yes
    c. BOOTON=true
    d. ONBOOT=yes

6.网卡ens160上配置了多个IP,用哪个命令能看到所有的IP?
a. ifconfig -a
b. ifconfig ens160 -a
c. ip addr show ens160
d. ip a

7.“要是想正常连接到互联网,其实DNS服务器不是必须要配置的,主要是网关配置正确就可以了”,这句话:
a. 正确
b. 不正确

8想通过修改配置文件的方式修改主机名,请问该修改哪个文件?
a. /etc/sysconfig/network
b. /etc/sysconfig/hostname
c. /etc/hostname
d. /etc/defaults/hostname

9.请为网卡ens160再额外添加一个IP 192.168.X.180/24(这里X根据自己事情情况来写),使得ens160有2个IP。

  1. 请用2种方法查找到ens160的多个IP。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/226694.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux上管理不同版本的 JDK

当在 Linux 上管理不同版本的 JDK 时&#xff0c;使用 yum 和 dnf 可以方便地安装和切换不同的 JDK 版本。本文将介绍如何通过这两个包管理工具安装 JDK 1.8 和 JDK 11&#xff0c;并利用软连接动态关联这些版本。 安装 JDK 1.8 和 JDK 11 使用 yum 安装 JDK 1.8 打开终端并…

基于Wenet长音频分割降噪识别

Wenet是一个流行的语音处理工具&#xff0c;它专注于长音频的处理&#xff0c;具备分割、降噪和识别功能。它的长音频分割降噪识别功能允许对长时间录制的音频进行分段处理&#xff0c;首先对音频进行分割&#xff0c;将其分解成更小的段落或语音片段。接着进行降噪处理&#x…

循环冗余效验码的计算方法

循环冗余效验码的计算方法 G&#xff08;x&#xff09;&#xff1a; 在了解计算方法之前我们首先要明白G&#xff08;x&#xff09;表明的意思&#xff0c;这一步非常重要&#xff01; 例如&#xff0c;G&#xff08;x&#xff09; x^3 x^2 1 &#xff0c;该式子表明的编…

Redis实现日榜|直播间榜单|排行榜|Redis实现日榜01

前言 直播间贡献榜是一种常见的直播平台功能&#xff0c;用于展示观众在直播过程中的贡献情况。它可以根据观众的互动行为和贡献值进行排名&#xff0c;并实时更新&#xff0c;以鼓励观众积极参与直播活动。 在直播间贡献榜中&#xff0c;每个观众都有一个对应的贡献值&#…

【NI-RIO入门】理解Windows、Real Time与FPGA之间数据通信的原理

于NI kb摘录 1.概述 对于NI RIO系列设备&#xff08;CompactRIO、sbRIO、myRIO等&#xff09;进行编程时&#xff0c;需要注意有三个不同的组件。 人机界面 (HMI) 。有时称为“主机”&#xff0c;为用户提供图形用户界面&#xff08;GUI&#xff09;&#xff0c;用于监控系统…

阿里云数据库polardb怎么收费?

阿里云数据库PolarDB租用价格表&#xff0c;云数据库PolarDB MySQL版2核4GB&#xff08;通用&#xff09;、2个节点、60 GB存储空间55元5天&#xff0c;云数据库 PolarDB 分布式版标准版2核16G&#xff08;通用&#xff09;57.6元3天&#xff0c;阿里云百科aliyunbaike.com分享…

搭建flink集群 —— 筑梦之路

Apache Flink 是一个框架和分布式处理引擎&#xff0c; 用于在无边界和有边界数据流上进行有状态的计算。 Flink 能在所有常见集群环境中运行&#xff0c;并能以内存速度和任意规模进行计算。 Flink并没有依靠自身实现所有分布式系统需要解决的问题&#xff0c; 而是在已有集群…

基于 Vue3 和 WebSocket 实现的简单网页聊天应用

首先附上项目介绍,后面详细解释技术细节 1. chat-websocket 一个基于Vue3和WebSocket的简易网络聊天室项目&#xff0c;包括服务端和客户端部分。 项目地址 websocket-chat 下面是项目的主要组成部分和功能&#xff1a; 项目结构 chat-websocket/ |-- server/ # WebSocket 服…

蓝桥杯c/c++程序设计——冶炼金属

冶炼金属 问题描述 小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个炉子有一个称作转换率的属性 V&#xff0c;V 是一个正整数&#xff0c;这意味着消耗 V 个普通金属 O 恰好可以冶炼出一个特殊金属 X&#xff0c;当普通金属 O 的数目不足 V 时&#xff0…

Linux习题1

解析&#xff1a;Tcsh是csh的增强版&#xff0c;并且完全兼容csh。它不但具有csh的全部功能&#xff0c;还具有命令行编辑、拼写校正、可编程字符集、历史记录、作业控制等功能。 AWK是一种优良的文本处理工具&#xff0c;Linux及Unix环境中现有的功能最强大的数据处理引擎之一…

C++ Qt开发:SqlRelationalTable关联表组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍SqlRelationalTable关联表组件的常用方法及灵…

纯CSS实现马里奥效果,回忆一下童年吧

&#x1f4e2; 鸿蒙专栏&#xff1a;想学鸿蒙的&#xff0c;冲 &#x1f4e2; C语言专栏&#xff1a;想学C语言的&#xff0c;冲 &#x1f4e2; VUE专栏&#xff1a;想学VUE的&#xff0c;冲这里 &#x1f4e2; CSS专栏&#xff1a;想学CSS的&#xff0c;冲这里 &#x1f4…

【Filament】立方体贴图(6张图)

1 前言 本文通过一个立方体贴图的例子&#xff0c;讲解三维纹理贴图&#xff08;子网格贴图&#xff09;的应用&#xff0c;案例中使用 6 张不同的图片给立方体贴图&#xff0c;图片如下。 读者如果对 Filament 不太熟悉&#xff0c;请回顾以下内容。 Filament环境搭建绘制三角…

安装 PyQt5 保姆级教程

作者&#xff1a;billy 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 前言 博主之前做应用层开发用的一直是 Qt&#xff0c;这次尝试一下在 python 中使用 Pyqt5 模块来开发 UI 界面&#xff0c;这里做一些…

C语言rand函数,srand函数,time函数实现随机数,及猜数字小游戏

怀心之所爱&#xff0c;奔赴山河 前言 最近在复习c的知识&#xff0c;想起之前写过一个猜数字小游戏&#xff0c;所以今天就把自己关于随机数的使用经验分享一下&#xff0c;希望对大家有帮助。 一.rand函数 1.函数的声明如下 可以看到&#xff0c;返回值是int类型&#xff…

MCEWMDRMNDBootstrap.dll文件丢失,软件游戏无法启动,怎样下载修复

不少小伙伴反馈&#xff0c;在打开某些游戏或软件的时候&#xff0c;Windows会提示“MCEWMDRMNDBootstrap.dll文件丢失&#xff0c;软件无法启动”&#xff0c;不知道应该怎样办&#xff1f; 首先&#xff0c;我们先来了解“MCEWMDRMNDBootstrap.dll文件”是什么&#xff1f; …

Arduino stm32 USB CDC虚拟串口使用示例

Arduino stm32 USB CDC虚拟串口使用示例 &#x1f4cd;相关篇《STM32F401RCT6基于Arduino框架点灯程序》&#x1f516;本开发环境基于VSCode PIO&#x1f33f;验证芯片&#xff1a;STM32F401RC⌛USB CDC引脚&#xff1a; PA11、 PA12&#x1f527;platformio.ini配置信息&…

基于YOLOv8的遥感SAR舰船小目标识别

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文摘要&#xff1a;基于YOLOv8的遥感SAR舰船小目标&#xff0c;阐述了整个数据制作和训练可视化过程 1.YOLOv8介绍 Ultralytics YOLOv8是Ultralytics公司开发的YOLO目标检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的…

最新AI绘画Midjourney绘画提示词Prompt教程

一、Midjourney绘画工具 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统&#xff0c;支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭…

Could not resolve com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.28.

1、首先进入阿里云maven仓库&#xff0c;在搜索栏输入无法下载的依赖名称&#xff0c;查询现有版本号&#xff0c;可以看到这里有2.9.34。 2、在build.gradle(Project)的buildscript闭包下替换为阿里云maven仓库&#xff1a; maven { url https://www.jitpack.io } maven { u…