Linux就该这么学_第11章 使用 ssh 服务管理远程主机

本章讲解了如下内容:
➢ 配置网络服务;
➢ 远程控制服务;
➢ 不间断会话服务。
本章讲解了如何使用 nmtui 命令配置网络参数,以及通过 nmcli 命令查看网络信息并管
理网络会话服务,从而让您能够在不同工作场景中快速地切换网络运行参数;还讲解了如何
手工绑定 mode6 模式双网卡,实现网络的负载均衡。。
本章还深入介绍了 SSH 协议与 sshd 服务程序的理论知识、Linux 系统的远程管理方
法以及在系统中配置服务程序的方法,并采用实验的形式演示了使用基于密码验证的
sshd 服务程序进行远程登录,以及使用 screen 服务程序远程管理 Linux 系统的不间断会
话等技术。
当读者掌握了本章的内容之后,也就完全具备了对 Linux 系统进行配置管理的知识。而
且后续章节中将陆续引入大量实用服务的配置内容,读者将用到本章学习的知识进行配置,
这样一方面可以让读者对生产环境中用到的大多数热门服务程序有一个广泛且深入的认识,
另一方面也可以掌握相应的配置方法。

9.1 配置网络服务

9.1.1 配置网络参数

截至目前,大家已经完全可以利用当前所学的知识来管理 Linux 系统了。当然,大家
的水平完全可以更进一步,当有朝一日登顶技术巅峰时,您一定会感谢现在正在努力学习
的您。
我们接下来将学习如何在 Linux 系统上配置服务。但是在此之前,必须先保证主机之间
能够顺畅地通信。如果网络不通,即便服务部署得再正确用户也无法顺利访问,所以,配置网
络并确保网络的连通性是学习部署 Linux 服务之前的最后一个重要知识点。
在 4.1.3 小节讲解了如何使用 Vim 文本编辑器来配置网络参数,其实,在 RHEL 7 系统中
有至少 5 种网络的配置方法,刘遄老师尽量在本书中为大家逐一演示。这里教给大家的是使

用 nmtui 命令来配置网络,其具体的配置步骤如图 9-1 至图 9-8 所示。当遇到不容易理解的内
容时,我们会额外进行解释说明。

 

 在 RHEL 5、RHEL 6 系统及其他大多数早期的 Linux 系统中,网卡的名称一直都是 eth0、
eth1、eth2、……,但在 RHEL 7 中则变成了类似于 eno16777736 这样的名字。不过除了网卡
的名称发生变化之外,其他几乎一切照旧,因此这里演示的网络配置实验完全可以适用于各
种版本的 Linux 系统。

 

 

扫描二维码关注公众号,回复: 4805106 查看本文章

 

 至此,在 Linux 系统中配置网络的步骤就结束了。
刘遄老师在培训时经常会发现,很多学员在安装 RHEL 7 系统时默认没有激活网卡。如
果各位读者有同样的情况也不用担心,只需使用 Vim 编辑器将网卡配置文件中的 ONBOOT
参数修改成 yes,这样在系统重启后网卡就被激活了。

 

 [root@linuxprobe ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=ec77579b-2ced-481f-9c09-f562b321e268
ONBOOT=yes
IPADDR0=192.168.10.10
HWADDR=00:0C:29:C4:A4:09
PREFIX0=24
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes

当修改完 Linux 系统中的服务配置文件后,并不会对服务程序立即产生效果。要想让服
务程序获取到最新的配置文件,需要手动重启相应的服务,之后就可以看到网络畅通了:

[root@linuxprobe ~]# systemctl restart network
[root@linuxprobe ~]# ping -c 4 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.056 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.099 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.095 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.095 ms
--- 192.168.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.056/0.086/0.099/0.018 ms

9.1.2 创建网络会话

RHEL 和 CentOS 系统默认使用 NetworkManager 来提供网络服务,这是一种动态管理网
络配置的守护进程,能够让网络设备保持连接状态。可以使用 nmcli 命令来管理 Network
Manager 服务。nmcli 是一款基于命令行的网络配置工具,功能丰富,参数众多。它可以轻松
地查看网络信息或网络状态:

[root@www zhangsan]# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
enp2s0  8fc01bb0-0c2c-4f16-8887-0ffd40070907  ethernet  enp2s0 
[root@www zhangsan]# nmcli con show enp2s0
connection.id:                          enp2s0
connection.uuid:                        8fc01bb0-0c2c-4f16-8887-0ffd40070907
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp2s0
connection.autoconnect:                 是
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.auth-retries:                -1
connection.timestamp:                   1539748129
connection.read-only:                   否
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --
connection.gateway-ping-timeout:        0
connection.metered:                     未知
connection.lldp:                        default
802-3-ethernet.port:                    --
802-3-ethernet.speed:                   0
802-3-ethernet.duplex:                  --
802-3-ethernet.auto-negotiate:          否
802-3-ethernet.mac-address:             --
802-3-ethernet.cloned-mac-address:      --
802-3-ethernet.generate-mac-address-mask:--
lines 1-27

另外,RHEL7 系统支持网络会话功能,允许用户在多个配置文件中快速切换(非常类似
于 firewalld 防火墙服务中的区域技术)。如果我们在公司网络中使用笔记本电脑时需要手动指
定网络的 IP 地址,而回到家中则是使用 DHCP 自动分配 IP 地址。这就需要麻烦地频繁修改
IP 地址,但是使用了网络会话功能后一切就简单多了—只需在不同的使用环境中激活相应
的网络会话,就可以实现网络配置信息的自动切换了。

可以使用 nmcli 命令并按照“connection add con-name type ifname”的格式来创建网络会
话。假设将公司网络中的网络会话称之为 company,将家庭网络中的网络会话称之为 house,
现在依次创建各自的网络会话。
使用 con-name 参数指定公司所使用的网络会话名称 company,然后依次用 ifname 参
数指定本机的网卡名称(千万要以实际环境为准,不要照抄书上的 eno16777736),用
autoconnect no 参数设置该网络会话默认不被自动激活,以及用 ip4 及 gw4 参数手动指定
网络的 IP 地址:

[root@localhost ~]# nmcli connection add con-name company ifname ens37 autoconnect no type ethernet ip4 192.168.1.7/24 gw4 192.168.1.1
成功添加的连接 'company'(64ebfa9a-db45-4ec4-860c-ce272bfbcce8)。

使用 con-name 参数指定家庭所使用的网络会话名称 house。因为我们想从外部 DHCP 服
务器自动获得 IP 地址,因此这里不需要进行手动指定。

[root@localhost ~]# nmcli connection add con-name house  type ethernet ifname ens37
成功添加的连接 'house'(64d27f58-3be8-4141-b31b-5b104ff31ed4)。

在成功创建网络会话后,可以使用 nmcli 命令查看创建的所有网络会话:

[root@localhost ~]# nmcli connection show 
名称        UUID                                  类型            设备   
ens33       d007cef2-6ad1-41e8-b6e9-a1608c2376fc  802-3-ethernet  ens33  
virbr0      1a7693aa-dc4f-45fe-979a-f14589155815  bridge          virbr0 
有线连接 1  56e1d92b-86a2-3614-87e9-90806edaa223  802-3-ethernet  ens37  
company     64ebfa9a-db45-4ec4-860c-ce272bfbcce8  802-3-ethernet  --     
house       64d27f58-3be8-4141-b31b-5b104ff31ed4  802-3-ethernet  --  

使用 nmcli 命令配置过的网络会话是永久生效的,这样当我们下班回家后,顺手启用 company
网络会话,网卡设置为固定ip地址。

[root@localhost ~]# nmcli connection up company
成功激活的连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/4)
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.128  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::8209:4d1d:a7e4:8658  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:8a:7a:01  txqueuelen 1000  (Ethernet)
        RX packets 7002  bytes 514735 (502.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1111  bytes 109308 (106.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.7  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::1475:dd21:b8a7:a72b  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:8a:7a:0b  txqueuelen 1000  (Ethernet)
        RX packets 6055  bytes 402270 (392.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 58  bytes 8741 (8.5 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 1  (Local Loopback)
        RX packets 12  bytes 1020 (1020.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12  bytes 1020 (1020.0 B)
        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:73:41:3c  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

使用 nmcli 命令配置过的网络会话是永久生效的,这样当我们下班回家后,顺手启用 house
网络会话,网卡就能自动通过 DHCP 获取到 IP 地址了。

[root@localhost ~]# nmcli connection up house
成功激活的连接(D-Bus 激活路径:/org/freedesktop/NetworkManager/ActiveConnection/5)
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.128  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::8209:4d1d:a7e4:8658  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:8a:7a:01  txqueuelen 1000  (Ethernet)
        RX packets 7724  bytes 565624 (552.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1182  bytes 118788 (116.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.130  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::4de9:2b05:e8ff:8de2  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:8a:7a:0b  txqueuelen 1000  (Ethernet)
        RX packets 6708  bytes 445429 (434.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 79  bytes 12026 (11.7 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 1  (Local Loopback)
        RX packets 16  bytes 1360 (1.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 16  bytes 1360 (1.3 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:73:41:3c  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

9.1.3 绑定两块网卡

一般来讲,生产环境必须提供 7×24 小时的网络传输服务。借助于网卡绑定技术,不仅
可以提高网络传输速度,更重要的是,还可以确保在其中一块网卡出现故障时,依然可以正
常提供网络服务。假设我们对两块网卡实施了绑定技术,这样在正常工作中它们会共同传输
数据,使得网络传输的速度变得更快;而且即使有一块网卡突然出现了故障,另外一块网卡
便会立即自动顶替上去,保证数据传输不会中断。
下面我们来看一下如何绑定网卡。

第1步:在虚拟机系统中再添加一块网卡设备,请确保两块网卡都处在同一个网络连接
中(即网卡模式相同),如图 9-10 和图 9-11 所示。处于相同模式的网卡设备才可以进行网卡
绑定,否则这两块网卡无法互相传送数据。

 第2步:使用 Vim 文本编辑器来配置网卡设备的绑定参数。网卡绑定的理论知识类似于
前面学习的 RAID 硬盘组,我们需要对参与绑定的网卡设备逐个进行“初始设置”。需要注意
的是,这些原本独立的网卡设备此时需要被配置成为一块“从属”网卡,服务于“主”网卡,
不应该再有自己的 IP 地址等信息。在进行了初始设置之后,它们就可以支持网卡绑定。

猜你喜欢

转载自blog.csdn.net/tjjingpan/article/details/83107393