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 1500
        inet 192.168.26.130  netmask 255.255.255.0  broadcast 192.168.26.255
        inet6 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 0
        TX packets 25451  bytes 2424735 (2.3 MiB)
        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>
        ...输出...
virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 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 1500
        inet 192.168.26.130  netmask 255.255.255.0  broadcast 192.168.26.255
        inet6 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 0
        TX 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 1000
    link/ether 00:0c:29:c4:5b:02 brd ff:ff:ff:ff:ff:ff
    inet 192.168.26.130/24 brd 192.168.26.255 scope global dynamic noprefixroute ens160
       valid_lft 1537sec preferred_lft 1537sec
    inet6 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 1500
        inet 192.168.26.100  netmask 255.255.255.0  broadcast 192.168.26.255
        inet6 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 0
        TX 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 1500
        inet 192.168.26.100  netmask 255.255.255.0  broadcast 192.168.26.255
        inet6 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 0
        TX 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 1500
        inet 192.168.26.101  netmask 255.255.255.0  broadcast 192.168.26.255
        inet6 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 0
        TX 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 1500
        inet 192.168.26.100  netmask 255.255.255.0  broadcast 192.168.26.255
        inet6 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 0
        TX 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 1500
        inet 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 1500
        inet 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 1000
    link/ether 00:0c:29:c4:5b:02 brd ff:ff:ff:ff:ff:ff
    inet 192.168.26.101/24 brd 192.168.26.255 scope ... ens160
       valid_lft forever preferred_lft forever
    inet 192.168.26.100/24 brd 192.168.26.255 scope ... ens160
       valid_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。

相关新闻

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

                                                                                                                                    RHCE9学习指南连载,点击阅读