RHCE-Day09-Linux基础3

RHCE-Day09-Linux基础3

1.配置网卡服务

配置网卡参数

a:执行nmtui命令运行网络配置工具

b:编辑配置文件 vim /etc/sysconfig/network-scripts/ifcfg-eno16777736

创建网络会话

RHEL和CentOS系统默认使用NetworkManager来提供网络服务,这是一种动态管理网络配置的守护进程,能够让网络设备保持连接状态。

可以使用nmcli命令来管理Network Manager服务。

nmcli是一款基于命令行的网络配置工具

[root@linuxprobe ~]# nmcli connection show
NAME UUID TYPE DEVICE 
eno16777736 ec77579b-2ced-481f-9c09-f562b321e268 802-3-ethernet eno16777736 
[root@linuxprobe ~]# nmcli con show eno16777736

使用nmcli命令并按照“connection add con-name type ifname”的格式来创建网络会话。假设将公司网络中的网络会话称之为company,将家庭网络中的网络会话称之为house,现在依次创建各自的网络会话。

[root@linuxprobe ~]# nmcli connection add con-name company ifname eno16777736 autoconnect no type ethernet ip4 192.168.10.10/24 gw4 192.168.10.1

[root@linuxprobe ~]# nmcli connection add con-name house type ethernet ifname eno16777736

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

[root@linuxprobe ~]# nmcli connection show
NAME UUID TYPE DEVICE 
house        44acf0a7-07e2-40b4-94ba-69ea973090fb 802-3-ethernet -- 
company      86c71220-0057-419e-b615-38f4014cfdee 802-3-ethernet -- 
eno16777736  ec77579b-2ced-481f-9c09-f562b321e268 802-3-ethernet eno16777736 

切换会话

[root@linuxprobe ~]# nmcli connection up house 

绑定两块网卡

使用Vim文本编辑器来配置网卡设备的绑定参数。

[root@linuxprobe ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no           //是否允许被控制
DEVICE=eno16777736
MASTER=bond0
SLAVE=yes
[root@linuxprobe ~]# vim /etc/sysconfig/network-scripts/ifcfg-eno33554968
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=eno33554968
MASTER=bond0
SLAVE=yes

还需要将绑定后的设备命名为bond0并把IP地址等信息填写进去

[root@linuxprobe ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=192.168.10.10
PREFIX=24
DNS=192.168.10.1
NM_CONTROLLED=no   //network manger的参数,实时生效,修改后无需要重启网卡立即生效
BONDING_MASTER=yes
BONDING_OPTS="mode=1 miimon=100"      #这里的mode=1,就是bond的模式1 

让Linux内核支持网卡绑定驱动。常见的网卡绑定驱动有三种模式—mode0、mode1和mode6。

mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。

mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。

mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。

使用Vim文本编辑器创建一个用于网卡绑定的驱动文件,使得绑定后的bond0网卡设备能够支持绑定技术(bonding);同时定义网卡以mode6模式进行绑定,且出现故障时自动切换的时间为100毫秒。

[root@linuxprobe ~]# vim /etc/modprobe.d/bond.conf
alias bond0 bonding
options bond0 miimon=100 mode=6

重启网络服务后网卡绑定操作即可成功。正常情况下只有bond0网卡设备才会有IP地址等信息

2.远程控制服务

配置sshd服务

SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理Linux系统的首选方式。能够提供两种安全验证的方法:

基于口令的验证—用账户和密码来验证登录;

基于密钥的验证—需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;该方式相较来说更安全。

sshd服务配置文件中包含的参数以及作用

参数 作用
Port 22 默认的sshd服务端口
ListenAddress 0.0.0.0 设定sshd服务器监听的IP地址
Protocol 2 SSH协议的版本号
HostKey /tc/ssh/ssh_host_key SSH协议版本为1时,DES私钥存放的位置
HostKey /etc/ssh/ssh_host_rsa_key SSH协议版本为2时,RSA私钥存放的位置
HostKey /etc/ssh/ssh_host_dsa_key SSH协议版本为2时,DSA私钥存放的位置
PermitRootLogin yes 设定是否允许root管理员直接登录
StrictModes yes 当远程用户的私钥改变时直接拒绝连接
MaxAuthTries 6 最大密码尝试次数
MaxSessions 10 最大终端数
PasswordAuthentication yes 是否允许密码验证
PermitEmptyPasswords no 是否允许空密码登录(很不安全)

ssh命令进行远程连接,其格式为“ssh [参数] 主机IP地址”

[root@linuxprobe ~]# ssh 192.168.10.10

ssh服务相应配置

首先使用Vim文本编辑器打开sshd服务的主配置文件,然后把第48行#PermitRootLogin yes参数前的井号(#)去掉,并把参数值yes改成no,这样就不再允许root管理员远程登录了。记得最后保存文件并退出。

主配置文件: /etc/xxxx/xxxx.conf

普通配置文件:/etc/xxxx.d

[root@linuxprobe ~]# vim /etc/ssh/sshd_config 
 ………………省略部分输出信息………………
 46 
 47 #LoginGraceTime 2m
 48 PermitRootLogin no
 49 #StrictModes yes
 50 #MaxAuthTries 6
 51 #MaxSessions 10
 52
 ………………省略部分输出信息………………

安全密钥验证

具体的配置,其步骤如下

第1步:在客户端主机中生成“密钥对”。

[root@linuxprobe ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):按回车键或设置密钥的存储路径
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):直接按回车键或设置密钥的密码
Enter same passphrase again:再次按回车键或设置密钥的密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
40:32:48:18:e4:ac:c0:c3:c1:ba:7c:6c:3a:a8:b5:22 root@linuxprobe.com
The key's randomart image is:
+--[ RSA 2048]----+
|+*..o .          |
|*.o  +           |
|o*    .          |
|+ .    .         |
|o..     S        |
|.. +             |
|. =              |
|E+ .             |
|+.o              |
+-----------------+

第2步把客户端主机中生成的公钥文件传送至远程主机:

[root@linuxprobe ~]# ssh-copy-id 192.168.10.10
The authenticity of host '192.168.10.20 (192.168.10.10)' can't be established.
ECDSA key fingerprint is 4f:a7:91:9e:8d:6f:b9:48:02:32:61:95:48:ed:1e:3f.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.10.10's password:此处输入远程服务器密码
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '192.168.10.10'"
and check to make sure that only the key(s) you wanted were added.

第3步:对服务器进行设置,使其只允许密钥验证,拒绝传统的口令验证方式。记得在修改配置文件后保存并重启sshd服务程序。

[root@linuxprobe ~]# vim /etc/ssh/sshd_config 
 ………………省略部分输出信息………………
 74 
 75 # To disable tunneled clear text passwords, change to no here!
 76 #PasswordAuthentication yes
 77 #PermitEmptyPasswords no
 78 PasswordAuthentication no
 79 
 ………………省略部分输出信息………………
[root@linuxprobe ~]# systemctl restart sshd

远程传输命令

scp(secure copy)是一个基于SSH协议在网络之间进行安全传输的命令,其格式为“scp [参数] 本地文件 远程帐户@远程IP地址:远程目录”。

表9-2 scp命令中可用的参数及作用

参数 作用
-v 显示详细的连接进度
-P 指定远程主机的sshd端口号
-r 用于传送文件夹
-6 使用IPv6协议

scp命令是基于SSH协议进行文件传送的

[root@linuxprobe ~]# echo "Welcome to LinuxProbe.Com" > readme.txt
[root@linuxprobe ~]# scp /root/readme.txt 192.168.10.20:/home
root@192.168.10.20's password:此处输入远程服务器中root管理员的密码
readme.txt 100% 26 0.0KB/s 00:00

scp命令把远程主机上的文件下载到本地主机,其命令格式为“scp [参数] 远程用户@远程IP地址:远程文件 本地目录”。

3.不间断会话服务

screen是一款能够实现多窗口远程控制的开源服务程序,简单来说就是为了解决网络异常中断或为了同时控制多个远程终端窗口而设计的程序。用户还可以使用screen服务程序同时在多个远程会话中*切换,能够做到实现如下功能。

会话恢复:即便网络中断,也可让会话随时恢复,确保用户不会失去对远程会话的控制。

多窗口:每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能看到之前的操作记录。

会话共享:当多个用户同时登录到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享。

Yum仓库

创建Yum仓库的配置文件

[root@linuxprobe ~]# vim /etc/yum.repos.d/rhel7.repo
[rhel7]
name=rhel7
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
[root@linuxprobe ~]# vim /etc/yum.repos.d/rhel8.repo
[AppStream]
name=AppStream
baseurl=file:///media/cdrom/AppStream
enabled=1
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=file:///media/cdrom/BaseOS
enabled=1
gpgcheck=0

epel(Extra Packages for Enterprise Linux ):额外的软件包源

[root@linuxprobe ~]# yum install screen 

管理远程会话

screen命令:

-S参数创建会话窗口;

-d参数将指定会话进行离线处理;

-r参数恢复指定会话;

-x参数一次性恢复所有的会话;

-ls参数显示当前已有的会话;

-wipe参数把目前无法使用的会话删除

可以直接使用screen命令执行要运行的命令,这样在命令中的一切操作也都会被记录下来,当命令执行结束后screen会话也会自动结束。

[root@linuxprobe ~]# screen vim memo.txt

会话共享功能

screen命令不仅可以确保用户在极端情况下也不丢失对系统的远程控制,保证了生产环境中远程工作的不间断性,而且它还具有会话共享、分屏切割、会话锁定等实用的功能。其中,会话共享功能是一件很酷的事情,当多个用户同时控制主机的时候,它可以把屏幕内容共享出来,也就是说每个用户都可以看到相同的内容。

首先使用ssh服务程序将终端A远程连接到服务器,并创建一个会话窗口。

[root@client A ~]# ssh 192.168.10.10
[root@client A ~]# screen -S linuxprobe

然后,使用ssh服务程序将终端B远程连接到服务器,并执行获取远程会话的命令。接下来,两台主机就能看到相同的内容了。

[root@client B ~]# ssh 192.168.10.10
[root@client B ~]# screen -x 

上一篇:Day09,基本运算符,三元运算符小结


下一篇:制作新闻列表--Day09