Linux-网络管理

一. rhel8与7的区别

在rhel7上,同时支持network.service和NetworkManager.service(简称NM)。默认情况下,这2个服务都有开启,但许多人都会将NM禁用掉。

在rhel8上,已废弃network.service,因此只能通过NM进行网络配置,包括动态ip和静态ip。换言之,在rhel8上,必须开启NM,否则无法使用网络。

二. NetworkManager介绍

2.1 NM能管理各种网络

有线网卡、无线网卡
动态ip、静态ip
以太网、非以太网
物理网卡、虚拟网卡

2.2 使用方法

▷ nmcli:命令行。这是最常用的工具,本文将详细讲解该工具使用。
▷ nmtui:在shell终端开启文本图形界面。示意图见本文最后的Tips
▷ Freedesktop applet:如GNOME上自带的网络管理工具
▷ cockpit:redhat自带的基于web图形界面的"驾驶舱"工具,具有dashborad和基础管理功能。

2.3 为什么要用NM

▷ 工具齐全:命令行、文本界面、图形界面、web
▷ 广纳天地:纳管各种网络,有线、无线、物理、虚拟
▷ 参数丰富:多达200多项配置参数(包括ethtool参数)
▷ 一统江湖:RedHat系、Suse系、Debian/Ubuntu系,均支持
▷ 大势所趋:下一个大版本的rhel只能通过NM管理网络

三. nmcli使用方法

nmcli使用方法非常类似linux ip命令、cisco交换机命令,并且支持tab补全(详见本文最后的Tips),也可在命令最后通过-h、–help、help查看帮助。在nmcli中有2个命令最为常用:

➡ nmcli connection

译作连接,可理解为配置文件,相当于ifcfg-ethX。可以简写为nmcli c

➡ nmcli device

译作设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)。可以简写为nmcli d

在NM里,有2个维度:连接(connection)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。设备里存在的网卡(即nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过nmcli c up切换连接。

connection有2种状态:

▷ 活跃(带颜色字体):表示当前该connection生效
▷ 非活跃(正常字体):表示当前该connection不生效

device有4种常见状态:

▷ connected:已被NM纳管,并且当前有活跃的connection
▷ disconnected:已被NM纳管,但是当前没有活跃的connection
▷ unmanaged:未被NM纳管
▷ unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip link set ethX down)

四. nmcli常用命令

4.1 对connection操作

  1. nmcli 查看ip
  2. 创建connection
# connection名:连接名,即文件/etc/sysconfig/network-scripts/ifcfg-ens192名
# device名:给哪个网口创建连接
# ip地址:连接的ip地址
# 网关地址:连接的网关地址
# ipv4.method:有auto和manual两个值,auto是dhcp方式;manual是静态指定方式
nmcli c add type ethernet con-name connection名 ifname device名 ipv4.addr ip地址/24 ipv4.gateway 网关地址 ipv4.method manual
  1. 非交互修改connection的ip地址
# ens192是connection名
nmcli c modify ens192 ipv4.addresses '192.168.30.33/24'
  1. 启用connection
    nmcli c up ens192

  2. 停用connection
    nmcli c down ens192

  3. 删除connection
    nmcli c delete ens192

  4. 查看connection
    nmcli c
    nmcli c show
    nmcli c show ens192

  5. 立刻重新加载某个connection

nmcli c up ens192
nmcli d reapply ens192
nmcli d connect ens192

  1. 修改connection的ip地址
    nmcli c modify ens192 ipv4.addresses 192.168.30.4/24

  2. 修改connection的名字
    nmcli c modify ens192 con-name eth0

  3. 创建一个connection,给多个ip和dns

nmcli c add type ethernet con-name ens11 ifname ens192 ipv4.addresses '192.168.30.111/24,192.168.20.112/24,192.168.30.113/24' ipv4.gateway 192.168.30.1 ipv4.method manual ipv4.dns '8.8.8.8,192.168.1.1'
  1. 修改一个connection,给多个ip
nmcli c modify eth0 ipv4.addresses '192.168.30.2/24,192.168.30.3/24,192.168.30.4/24,192.168.30.5/24'
  1. 给一个connection添加ip
    nmcli c modify 连接名 +ipv4.addresses 192.168.30.55/24
  2. 给一个connection添加dns
    nmcli c modify 连接名 +ipv4.dns 114.114.114.114

4.2 对device操作

  1. 查看device
    nmcli d
    nmcli d show
    nmcli d show ens192

  2. 用NM管理我看
    nmcli d connect 设备名

由NM对指定网卡进行管理,同时刷新该网卡对应的活跃connection(如果之前有修改过connection配置);如果有connection但是都处于非活跃状态,则自动选择一个connection并将其活跃;如果没有connection,则自动生成一个并将其活跃。

  1. 让NM不管理网卡
    nmcli d disconnect 设备名

让NM暂时不管理指定网卡,此操作不会变更实际网卡的link状态,只会使对应的connection变成非活跃。若重启系统则又会自动connect。另外,如果手工将该网卡的connection全部删掉,该网卡状态也会自动变为disconnected。

  1. 刷新网卡配置
    nmcli d reapply 设备名

专门用于刷新connection,前提是网卡的device处于connected状态,否则会报错。

五. 一个网卡配多ip(多子connection)

写多个带冒号的子配置文件
在这里插入图片描述
在这里插入图片描述

六 NetworkManager提供的三个工具

nmcli:
nmtui:
nm-connet-editor:

七 3种网络配置方法

在讲3种配置方法前,需要先明白ifcfg和NM connection的关联:虽然network.service被废弃了,但是redhat为了兼容传统的ifcfg,通过NM进行网络配置时候,会自动将connection同步到ifcfg配置文件中。也可以通过nmcli c reload或者nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX的方式来让NM读取ifcfg配置文件到connection中。因此ifcfg和connection是一对一的关系,另外上面有提到,connection和device是多对一的关系。

在rhel8上,有3种方法进行网络配置

▷ 1. 手工配置ifcfg,通过NM来生效
▷ 2. 通过NM自带工具配ip,比如nmcli
▷ 3. 手工配置ifcfg,通过传统network.service来生效

八. 修改主机名

  1. 方式一:修改/etc/hostname文件, 永久生效,修改完需要重启
  2. 方式二:hostnamectl set-hostname wo.ni.ta, 不需要重启立刻生效,永久生效
    在这里插入图片描述

九. 配置域名解析

9.1 hosts文件

/etc/hosts

9.2 resolv.conf

/etc/resolv.conf

十. 网络测试工具

# ip address
# ip address show ens192
# ip route
# ip neigh 
# ethtool ens192

十一. 临时修改网络配置,重启后恢复

# 临时加个ip
# ip address add dev ens32 192.168.1.232/24
# 临时去掉ip
# ip address del dev ens32 192.168.1.233/24
# ip route add
# ip route del

十二. 将网口命名改为老的eth0

  1. 将配置文件改名为eth0
    mv /etc/sysconfig/network-scripts/ifcfg-e{ns32,th0}

  2. 修改配置文件的name和device的值为eth0
    在这里插入图片描述

  3. Grub添加kernel参数

# vi /etc/sysconfig/grub

在这里插入图片描述
重新生成grub配置文件

[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg 
Generating grub configuration file ...
done
[root@localhost ~]# 
  1. reboot
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值