CentOS8 网络配置管理

nmtui 命令配置网络

含义: 配置linux系统网络,查看网络信息并管理网络会话服务。
for example

[root@MyCentOS ~]# nmtui

通过以上命令可以进行网络配置,网络配置是以图形化的方式进行的,所以并不是很难。
如果网卡没有默认激活,则需要使用 vim 编辑 /etc/sysconfig/network-scrips将其中的 ONBOOT参数修改成 yes
配置好网络后,使用systemctl restart network-online.target 即可立即生效。

创建网络会话

Centos默认使用Network Manager提供网络服务。Network Manager 是动态管理网络配置的守护进程,能够让网络设备保持连接状态。
centos系统支持网络会话功能,类似于firewalld防火墙的区域技术,允许用户在多个配置文件中快速切换,实现在不同工作场景下使用不同的网络配置。

nmcli 命令管理Network Manager服务

格式: nmcli connection add con-name type ifname

查看网络会话
[root@MyCentOS ~]# nmcli connection show
NAME    UUID                                  TYPE      DEVICE 
ens33   772108b9-f68b-4fb6-b00f-3401fbe6f95f  ethernet  ens33  
virbr0  d9f42a52-f042-47d8-822a-5da229553811  bridge    virbr0 
查看网卡状态
[root@MyCentOS ~]# nmcli con show ens33
connection.id:                          ens33
connection.uuid:                        772108b9-f68b-4fb6-b00f-3401fbe6f95f
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              ens33
..............省略输出
配置公司中的网络会话
[root@MyCentOS ~]# nmcli connection  add con-name  company ifname ens33 autoconnect no type ethernet  ip4 192.168.10.10/24 gw4 192.168.10.1
连接 "company" (de8266c9-608e-405c-99a9-b19a604894e0) 已成功添加。

参数解释:

  • company 是用户自己指定的某场景下配置网络的名称
  • ens33是本机上的网卡名称
  • autoconnection no 表示手动连接
  • type ethernet 表示网络类型为以太网
  • ip4 192.168.10.10/24表示使用IPV4协议中的网络段
  • gw4 表示在公司场景下的网关地址
配置家中的网络会话
[root@MyCentOS ~]# nmcli connection add con-name house type ethernet ifname ens33
连接 "house" (c42775b6-1af7-4cd4-b59e-9eba6f0691a9) 已成功添加。

其中的含义与配置公司网络会话相似。

查看所有网络会话
[root@MyCentOS ~]# nmcli connection show
NAME     UUID                                  TYPE      DEVICE 
ens33    772108b9-f68b-4fb6-b00f-3401fbe6f95f  ethernet  ens33  
virbr0   d9f42a52-f042-47d8-822a-5da229553811  bridge    virbr0 
company  de8266c9-608e-405c-99a9-b19a604894e0  ethernet  --     
house    c42775b6-1af7-4cd4-b59e-9eba6f0691a9  ethernet  --    
启用公司中的网络会话配置
[root@MyCentOS ~]# nmcli connection  up company
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/5

绑定两块网卡

使用网卡绑定技术,可以提高网络传输速度,保证网络连接的稳定性。

  1. 确保两块网卡在同一个网络中
    查看当下网卡状态
[root@MyCentOS ~]# nmcli
ens33: 已连接 到 house
        "Intel 82545EM"
        ethernet (e1000), 00:0C:29:E6:75:0B, 硬件, mtu 1500
        inet4 192.168.226.128/24
        route4 192.168.226.0/24
        inet6 fe80::19dc:544a:cbb3:6414/64
        route6 fe80::/64
        route6 ff00::/8

virbr0: 已连接 到 virbr0
        "virbr0"
        bridge, 52:54:00:F9:CF:22, 软件, mtu 1500
        inet4 192.168.122.1/24
        route4 192.168.122.0/24

ens37: 已断开
        "Intel 82545EM"
        ethernet (e1000), 00:0C:29:E6:75:15, 硬件, mtu 1500

可以看到除了之前配置的第一块网卡ens33,还有一块网卡ens37。现将两块网卡进行绑定。

将两块网卡进行初始设置

这两块独立的网卡设备需要被配置成为一块从属网卡,服务于主网卡。例如,本例中,ens33和ens37就是两块独立的网卡,需要配置成从属网卡,主网卡则是两块网卡绑定后的整体(bond0)

初始设置第一块从属网卡
[root@MyCentOS network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
#PROXY_METHOD=none
#BROWSER_ONLY=no
BOOTPROTO=none
#DEFROUTE=yes
#IPV4_FAILURE_FATAL=no
#IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
#IPV6_FAILURE_FATAL=no
#IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
#UUID=772108b9-f68b-4fb6-b00f-3401fbe6f95f
DEVICE=ens33
ONBOOT=yes
#IPADDR=192.168.10.10
#PREFIX=24

USERCTL=no
MASTER=bond0
SLAVE=yes
初始设置第二块从属网卡
[root@MyCentOS network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens37

TYPE= Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=ens37
MASTER=bond0
SLAVE=yes      

配置绑定后的设备(bond0)

[root@MyCentOS network-scripts]# 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

配置网卡绑定驱动模式

让linux内核支持网卡绑定驱动,常见网卡绑定驱动有三种模式

  1. mode0(负载均衡模式):两块网卡同时工作,自动备援,需要本地交换机上使用端口聚合技术
  2. mode1(自动备援模式):只有一块网卡工作,故障之后另一网卡自动顶替
  3. mode6(负载均衡模式):两块网卡同时工作,自动备援,但无需交换机提供辅助支持

在完成网卡的初始设置之后需要创建并配置网卡绑定的驱动文件

[root@MyCentOS modprobe.d]# vim /etc/modprobe.d/bond.conf

alias bond0 bonding
options bond0 miimon=100 mode=6

驱动文件释义:

  • alias bond0 bonding 表示将bond0进行关联绑定
  • options bond0 表示将设置bond0的选项参数
  • miimon=100表示在发生故障时100ms后自动切换
  • mode=6表示使用mode6负载均衡模式

重启网络服务

[root@MyCentOS modprobe.d]# systemctl restart network

配置失败,只出现两块独立网卡的网络地址,没出现bond0的网卡信息
再议再议

远程控制服务

配置sshd服务

再ssh之前是使用FTP或Telnet来进行远程登入的,这两种登入方式会以明文的方式在网络中传输十分不安全。**SSH(Secure Shell)**是一种能够以安全的方式提供远程登录协议。
sshd是基于SSH协议开发的一款远程管理服务程序,提供两种安全验证方法

  1. 基于口令的验证---------用账户和密码进行验证登录
  2. 基于密钥的验证---------需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较,相对更安全。

ssh命令

格式: ssh [参数] 主机IP地址
退出: exit

配置sshd服务

直接在/etc/ssh/sshd_config中编辑即可
---------------------------------------sshd服务配置文件中包含的参数以及作用--------------------------------------

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

配置好sshd服务之后并不会立即生效,应当重启相应的程序,最好再加入到开机自启项中。
重启

[root@MyCentOS ~] systemctl restart sshd

开机自启

[root@MyCentOS ~] systemctl enable sshd

安全密钥验证

使用安全密钥验证相对更加安全,安全密钥分为公钥和私钥。用户通过在本地生成密钥对,同时将公钥上传至远程服务器中,在本地保留私钥,同时禁止密码登录来保证安全性。

  1. 生成密钥对
    ---------命令:ssh-keygen
    创建过程是交互式的
  2. 上传公钥至远程服务器
    --------命令:ssh-copy-id 远程主机IP
    交互式创建
  3. 配置服务器中的sshd服务,设置为禁止密码验证登入,开启密钥验证登录
PasswordAuthentication no

4.重启sshd服务
至此在远程不需要使用密码就可以直接登入
ssh ip地址

scp 远程传输命令

scp是一种基于ssh协议在网络之间安全传输的命令,能通过网络传输并且数据都进行加密处理。

--------------------------------------------------------scp参数及作用------------------------------------------------------------

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

上传格式: scp [参数] 本地文件 远程账户@远程IP地址:远程目录

上传示例

[root@MyCentOS ~]scp /root/readme.txt 192.168.10.20:/home

下载格式: scp [参数] 远程用户@远程IP地址:远程文件 本地目录

下载示例

[root@MyCentOS ~] scp 192.168.10.20:/home/readme.txt /root

不间断会话服务

当远程主机的会话被关闭时,在远程主机上允许的命令也会随之中断。为了不丢失对远程系统的控制可以使用screen程序。
screen功能

  1. 会话恢复 即便网络中断,也可以让会话岁时恢复,确保用户不会对远程会话失去控制。
  2. 多窗口 每个会话都是独立运行的,拥有各自独立的输入输出终端窗口,终端窗口内显示过的信息也将被分开隔离保存,以便下次使用时依然能开到之前的操作记录。
  3. 会话共享 当多个用过户同时登录到远程服务器时,便可以使用会话共享功能让用户之间的输入输出信息共享。

使用yum install screen安装screen软件

---------------------------------------------screen常用参数----------------------------------------------------------------------

参数作用
-S创建会话窗口
-d指定会话进行离线处理
-r恢复指定会话
-x一次性恢复所有会话
-ls显示当前已有会话
-wipe把目前无法使用的会话删除

在实际使用中,可以直接使用screen cmd来执行要执行的命令。

实践总结

在实际配置过程中,可能会出现连接不到网络(也就是说系统没有网络连接的图标),或者使用命令行模式时出现 Connection ‘ens33’ is not available on device ens33 because device is strictly unmanaged 或者出现Failed to restart networl.service: Unit networl.service not found.

  1. 使用nmcli connection show命令查看网卡状态时,可以发现网卡和网关都没有被托管。
  2. 使用nmcli n on ens33重新托管网卡。
  3. 使用 systemctl restart NetworkManager.service重启网络。
  • 在centOS8系统中,统一使用systemctl命令进行系统管理,而不再使用诸如ifupservice 或者chkconfig之类的命令。

  • 在CentOS8中,重启网络时,使用的时systemctl restart network-online.target命令,而不再是《linux就该这么学》中的systemctl restart network

  • 在配置ssh服务的时候一不小心把sshd_config配置文件删了,以下是重新找回原始的配置文件

命令

rpm -qa openssh*
yum list |grep openssh
  • 因为sshd的配置文件修改过,所以之前设置的密钥登入就失效了。所以还需修改配置文件。
  1. 首先将默认sshd服务端口打开,服务监听打开
  2. PasswordAuthentication修改为yes,也就是修改为允许密码登入
  3. PermitRootLogin修改为yes,允许root用户登录
  4. 然后生成密钥对发送给服务器。
  5. 在修改密钥时先将~/.ssh/know_hosts中的相关信息删除
  6. 或者在重新生成密钥对时直接使用ssh-keygen -R IP命令即可。
  7. 当其他用户登入服务器时,ssh即使设置了密钥登录还是会要求输入密码,而不会直接登录。还没找到方法,权限问题全都试过了不起作用。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值