美文网首页Anolis8
AnolisOS 8 网络配置

AnolisOS 8 网络配置

作者: 前浪浪奔浪流 | 来源:发表于2022-10-02 18:04 被阅读0次

    一、NetworkManager介绍

    1.1、Anolis8网络配置的区别

    在 CentOS7上同时支持network.service和NetworkManager.service。默认情况下,这2个服务都有开启。在Anolis8和CentOS8上,已废弃network.service(只能手动去安装),默认安装的是NetworkManager.service,因此推荐通过NetworkManager.service进行网络配置,网卡配置包括设置动态和静态IP。

    1.2、NetworkManager作用

    NetworkManager是2004年Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求,尤其是无线网络,能自动发现网卡并配置ip地址。类似在手机上同时开启wifi和蜂窝网络,Anolis8网络自动探测可用网络并连接,无需手动切换Anolis8网卡。

    1.3、NetworkManager支持的网络

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

    1.4、NetworkManager使用方式

    nmcli:命令行
    nmtui:在shell终端开启文本图形界面
    Freedesktop applet:如GNOME上自带的网络管理工具
    cockpit:redhat自带的基于web图形界面的"驾驶舱"工具,具有dashborad和基础管理功能

    使用 nmcli 时,NetworkManager 必须保持开启。

    NetworkManager 的相关命令:

    查看运行状态:systemctl status NetworkManager
    启动:systemctl start NetworkManager
    重启:systemctl restart NetworkManager
    关闭:systemctl stop NetworkManager
    查看是否开机启动:systemctl is-enabled NetworkManager

    [root@anolis8 ~]# systemctl is-enabled NetworkManager
    enabled
    

    开机启动:systemctl enable NetworkManager
    禁止开机启动:systemctl disable NetworkManager
    注意:NetworkManager 中开头的 N 和中间的 M 必须大写。

    二、nmcli常用命令

    2.1、nmcli介绍

    在NetworkManager里,有2个维度:连接(connection)和设备(device),可以为一个设备配置多个连接,这里特别需要指出的是,一个设备只能有一个活跃连接,每个连接可以理解为一个 ifcfg 配置文件。

    2.2、显示 NetworkManager 是否接管网络设置:
    [root@anolis8 ~]# nmcli networking
    enabled
    

    networking 可以简写为 n、ne、net、netw…… 所以以上命令可以简写为:

    nmcli n
    
    2.3、查看网络连接状态:
    [root@anolis ~]# nmcli n connectivity
    full
    

    网络连接状态共有五种:full、limited(连网,但无法上网)、portal(连网,但需要认证登录后才能上网)、none(没连网)和 unknown。
    connectivity 可以简写为 c,所以以上命令可简写为:

    [root@anolis ~]# nmcli n c
    full
    
    2.4、设定 NetworkManager 接管网络设置:
    nmcli n on
    

    取消 NetworkManager 接管网络设置:

    nmcli n off
    

    2.5、nmcli general

    显示系统网络状态:

    [root@anolis8 ~]# nmcli general status
    STATE   CONNECTIVITY  WIFI-HW  WIFI    WWAN-HW  WWAN   
    已连接  完全          已启用   已启用  已启用   已启用
    

    general 可以简写为 g、ge、gen、gene……
    status 是 general 的默认项,可以省略不写。所以,以上命令可简写为:

    [root@anolis8 ~]# nmcli g
    STATE   CONNECTIVITY  WIFI-HW  WIFI    WWAN-HW  WWAN   
    已连接    完全           已启用   已启用   已启用   已启用 
    connected  full       enabled  enabled  enabled  enabled
    

    其中:

    STATE 显示网络是否连接;

    CONNECTIVITY 与前面介绍的 nmcli networking connectivity 相同;

    WIFI-HW 表示 WIFI 硬件开关、WIFI 表示 WIFI 软件开关;

    WWAN-HW 表示 WWAN 硬件开关、WWAN 表示 WWAN 软件开关。

    HW 代表 HardWare,WWAN 代表 Wireless Wide Area Network。

    2.6、显示主机名:
    [root@anolis8 ~]# nmcli g hostname
    anolis8
    [root@anolis8 ~]# nmcli g h
    anolis8
    

    更改主机名:

    nmcli g hostname newHostName # 或
    nmcli g h newHostName
    

    newHostName是你设置的新主机名。
    主机名存放在 /etc/hostname 文件中。
    修改主机名后,需要重启 NetworkManager。

    2.7、显示所有网络连接的信息:
    [root@anolis8 ~]# nmcli connection show
    NAME    UUID                                  TYPE      DEVICE 
    ens192  c296eeaa-0c9a-4621-8b32-4903e26009f9  ethernet  ens192 
    

    connection 可以简写为 c、co、con、conn……
    show 是 connection 的默认项,可以省略不写。所以,以上命令可简写为:

    [root@anolis8 ~]# nmcli c
    NAME    UUID                                  TYPE      DEVICE 
    ens192  c296eeaa-0c9a-4621-8b32-4903e26009f9  ethernet  ens192
    

    nmcli connection show 有一个 -active 参数,可以只显示当前启动的连接:

    nmcli c s --active  # 或
    nmcli c s -a        # 因为 show 后面有参数项,所以此时的 show 不能省
    [root@anolis8 ~]# nmcli c s -a
    NAME    UUID                                  TYPE      DEVICE 
    ens192  c296eeaa-0c9a-4621-8b32-4903e26009f9  ethernet  ens192
    

    显示某一特定连接的详细信息(以 ens192 为例):

    [root@anolis8 ~]# nmcli c s ens192
    connection.id:                          ens192
    connection.uuid:                        c296eeaa-0c9a-4621-8b32-4903e26009f9
    connection.stable-id:                   --
    connection.type:                        802-3-ethernet
    connection.interface-name:              ens192
    connection.autoconnect:                 是
    connection.autoconnect-priority:        0
    connection.autoconnect-retries:         -1 (default)
    connection.multi-connect:               0(default)
    connection.auth-retries:                -1
    connection.timestamp:                   1664789124
    connection.read-only:                   否
    ......
    DHCP4.OPTION[25]:                       subnet_mask = 255.255.255.0
    IP6.ADDRESS[1]:                         fe80::18b9:6600:f377:2d7b/64
    IP6.GATEWAY:                            --
    IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
    IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255
    
    2.8、启动指定连接:
    [root@anolis8 ~]# nmcli c up ens192
    连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/2)
    

    如果 ens192 本来就出于连接状态,那此命令会重启 ens192。

    关闭指定连接:
    nmcli c down ens192
    

    关闭连接后,使用 nmcli c 命令, DEVICE 项将显示为 – 。

    2.9、修改连接:
    nmcli c modify ens192  [ + | - ]选项 选项值  # 或
    nmcli c m ens192  [ + | - ]选项 选项值
    

    下面给出常用修改示例:

    nmcli c m ens192 ipv4.address 192.168.100.83/24   # 修改 IP 地址和子网掩码
    nmcli c m ens192 ipv4.method manual               # 修改为静态配置,默认是 auto
    nmcli c m ens192 ipv4.gateway 192.168.100.1        # 修改默认网关
    nmcli c m ens192 ipv4.dns 192.168.100.1          # 修改 DNS
    nmcli c m ens192 +ipv4.dns 114.114.114.114      # 添加一个 DNS
    nmcli c m ens192 ipv6.method disabled           # 将 IPv6 禁用
    nmcli c m ens192 connection.autoconnect yes     # 开机启动
    

    注意,必须先修改 ipv4.address,然后才能修改 ipv4.method!
    用空引号""代替选项的值,可将选项设回默认值(以 ipv4.method 为例):

    nmcli c m ens192 ipv4.method ""
    

    选项有很多,详细信息可以通过以下命令查看:

    man 5 nm-settings-nmcli
    

    主要可以看里面 connection setting 和 ipv4 setting 部分。

    2.10、新增连接:
    nmcli c add tyep 连接类型 选项 选项值  # 或
    nmcli c a tyep 连接类型 选项 选项值
    

    type 为必选项,我们通常用到的是 802-3-ethernet(别名 ethernet)。

    选项与前面介绍的“修改连接”中的选项一样,其中重要的几个选项:

    connection.id(别名 con-name):连接名;

    connection.interface-name(别名 ifname):设备名;

    connection.autoconnect(别名 autoconnect):是否开机自启,其值只能是 yes 或 no,默认 yes。
    下面给出一个示例:

    nmcli c a type ethernet con-name ens36 ifname ens36
    
    2.11、删除指定连接:
    nmcli c delete ens33  # 或
    nmcli c de ens33      # delete 不可简写为 d,否则与 down 冲突,但可以简写为 de
    
    2.12、重载所有连接的配置文件:
    nmcli c reload  # 或
    nmcli c r
    
    重载某一指定连接的配置文件:
    nmcli c load ifcfg-ens192  # 或
    nmcli c l ifcfg-ens192    
    

    网络配置文件默认保存在 /etc/sysconfig/network-scripts/ 路径下,如果配置文件在其它位置,则需要填写完整路径。

    网络配置文件的命名方式就是ifcfg-连接名,例如 ens33 的配置文件名为ifcfg-ens33。

    网络配置文件说明:

    TYPE="Ethernet" //以太网,还有其他的如bond,bridge
    PROXY_METHOD="none"//默认代理方式:关闭状态
    BROWSER_ONLY="no" //默认只是浏览器:否
    BOOTPROTO="none" //dhcp 表示动态获取IP地址, static 表示表态IP,none表示不指定,就是静态
    DEFROUTE="yes" //默认路由:是
    IPV4_FAILURE_FATAL="no" //是否开启IPV4致命错误检测:否
    IPV6INIT="yes" //默认IPV6是否自动初始化: 是
    IPV6_AUTOCONF="yes" //默认IPV6是否自动配置:是
    IPV6_DEFROUTE="yes" //默认IPV6是否默认路由:是
    IPV6_FAILURE_FATAL="no" //如果IPv4或IPv6配置失败,此接口将被禁用,否:如果配置失败,此接口不会被禁用
    IPV6_ADDR_GEN_MODE="stable-privacy" //IPV6地址生成模型
    NAME="ens192" //名称
    UUID="51e111fd-ec09-44f5-8163-81d8f8ebc8f4" //唯一ID
    DEVICE="ens192" //设备名称
    ONBOOT="yes" //开启启动
    IPADDR="192.168.100.83" //IP
    PREFIX="24" //子网掩码长度
    GATEWAY="192.168.100.1" //网关
    DNS1="114.114.114.114" //DNS1
    DNS2="8.8.8.8" //DNS1
    IPV6_PRIVACY="no" //IPV6隐私
    
    2.13、显示所有网络接口设备的状态:
    nmcli device status
    device 可以简写为 d、de、dev……
    status 是 device 的默认项,可以省略不写。所以,以上命令可简写为:
    [root@anolis8 ~]# nmcli d
    DEVICE  TYPE      STATE   CONNECTION 
    ens192  ethernet  已连接  ens192     
    lo      loopback  未托管  --
    
    [root@anolis8 ~]# nmcli device
    DEVICE  TYPE      STATE   CONNECTION 
    ens192  ethernet  已连接  ens192     
    lo      loopback  未托管  --     
    

    显示所有设备的详细信息:

    nmcli d show  # 或
    nmcli d sh         # show 不可简写为 s,否则与 status 冲突,但可以简写为 sh
    [root@anolis8 ~]# nmcli d sh
    GENERAL.DEVICE:                         ens192
    GENERAL.TYPE:                           ethernet
    GENERAL.HWADDR:                         00:0C:29:5D:B2:19
    GENERAL.MTU:                            1500
    GENERAL.STATE:                          100(已连接)
    GENERAL.CONNECTION:                     ens192
    GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
    WIRED-PROPERTIES.CARRIER:               开
    IP4.ADDRESS[1]:                         192.168.100.83/24
    IP4.GATEWAY:                            192.168.100.1
    IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.100.1, mt = 100
    IP4.ROUTE[2]:                           dst = 192.168.100.0/24, nh = 0.0.0.0, mt = 100
    IP4.DNS[1]:                             192.168.100.1
    IP4.DNS[2]:                             4.2.2.2
    IP6.ADDRESS[1]:                         fe80::18b9:6600:f377:2d7b/64
    IP6.GATEWAY:                            --
    IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
    IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255
    
    GENERAL.DEVICE:                         lo
    GENERAL.TYPE:                           loopback
    GENERAL.HWADDR:                         00:00:00:00:00:00
    GENERAL.MTU:                            65536
    GENERAL.STATE:                          10(未托管)
    GENERAL.CONNECTION:                     --
    GENERAL.CON-PATH:                       --
    IP4.ADDRESS[1]:                         127.0.0.1/8
    IP4.GATEWAY:                            --
    IP6.ADDRESS[1]:                         ::1/128
    IP6.GATEWAY:                            --
    IP6.ROUTE[1]:                           dst = ::1/128, nh = ::, mt = 256
    
    2.14、显示某一特定设备的详细信息:
    [root@anolis8 ~]# nmcli d sh ens192
    GENERAL.DEVICE:                         ens192
    GENERAL.TYPE:                           ethernet
    GENERAL.HWADDR:                         00:0C:29:5D:B2:19
    GENERAL.MTU:                            1500
    GENERAL.STATE:                          100(已连接)
    GENERAL.CONNECTION:                     ens192
    GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/2
    WIRED-PROPERTIES.CARRIER:               开
    IP4.ADDRESS[1]:                         192.168.100.83/24
    IP4.GATEWAY:                            192.168.100.1
    IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.100.1, mt = 100
    IP4.ROUTE[2]:                           dst = 192.168.100.0/24, nh = 0.0.0.0, mt = 100
    IP4.DNS[1]:                             192.168.100.1
    IP4.DNS[2]:                             4.2.2.2
    IP6.ADDRESS[1]:                         fe80::18b9:6600:f377:2d7b/64
    IP6.GATEWAY:                            --
    IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
    IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255
    
    2.15、连接设备:
    nmcli d connect ens192  # 或
    nmcli d c ens192 
    

    如果 ens192 本来就出于连接状态,那此命令会重启 ens192。

    2.16、断开设备:
    nmcli d disconnect ens33  # 或
    nmcli d d ens33  
    

    更新设备信息:

    nmcli d reapply ens33 # 或
    nmcli d r ens33

    只有在设备处于连接状态,才可以更新设备。
    更新设备相当于重启连接。

    2.17、Anolis8网络切换连接
    [root@anolis8 ~]# nmcli c up ens192
    连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/3)
    
    2.18、Anolis8网络查看IP
    [root@anolis8 ~]# nmcli
    ens192: 已连接 到 ens192
            "VMware VMXNET3"
            ethernet (vmxnet3), 00:0C:29:5D:B2:19, 硬件, mtu 1500
            ip4 默认
            inet4 192.168.100.83/24
            route4 0.0.0.0/0
            route4 192.168.100.0/24
            inet6 fe80::18b9:6600:f377:2d7b/64
            route6 fe80::/64
            route6 ff00::/8
    
    lo: 未托管
            "lo"
            loopback (unknown), 00:00:00:00:00:00, 软件, mtu 65536
    
    DNS configuration:
            servers: 192.168.100.1 4.2.2.2
            interface: ens192
    
    使用 "nmcli device show" 获取关于已知设备的完整信息,以及 
    "nmcli connection show" 获取活动连接配置集的概述。
    
    完整的用法细节,可参考 nmcli(1) 和 nmcli-examples(7) 手册页。
    
    2.19、CentOS8网络启用网卡ensX,例如ens160
    nmcli c up ens160
    
    2.20、Anolis8网络停止connection
    nmcli c down
    
    2.21、CentOS8网络删除connection
    nmcli c delete ens160
    
    2.23、立即生效connection
    nmcli c up ens160
    nmcli d reapply ens160
    nmcli d connect ens160
    
    2.24、关闭网络
    nmcli r all off
    

    三、常见的AnolisOS 8网卡配置方式

    通过NetworkManager进行AnolisOS 8网卡配置时候,会自动将connection同步到ifcfg配置文件中,这里特别指出eth和ens的区别,ethX是真实物理网卡,ensX是虚拟网络会话。

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

    3.1、通过手工配置AnolisOS 8网卡ifcfg的方式

    这里推荐使用上述第1种AnolisOS 8网卡配置方法,就是手工配置ifcfg,通过NetworkManager来生效,因为这样既兼容了传统的ifcfg配置,又能熟悉nmcli。

    打开配置文件,ifcfg-开头的,根据实际名称修改。例如我的机器是ifcfg-ens192

    vi /etc/sysconfig/network-scripts/ifcfg-ens192

    配置参数示例,大家可以根据实际接入的网络进行配置AnolisOS 8网卡,试试吧已经对此配置做了详细备注。

    TYPE="Ethernet" //以太网,还有其他的如bond,bridge
    PROXY_METHOD="none"//默认代理方式:关闭状态
    BROWSER_ONLY="no" //默认只是浏览器:否
    BOOTPROTO="none" //dhcp 表示动态获取IP地址, static 表示表态IP,none表示不指定,就是静态
    DEFROUTE="yes" //默认路由:是
    IPV4_FAILURE_FATAL="no" //是否开启IPV4致命错误检测:否
    IPV6INIT="yes" //默认IPV6是否自动初始化: 是
    IPV6_AUTOCONF="yes" //默认IPV6是否自动配置:是
    IPV6_DEFROUTE="yes" //默认IPV6是否默认路由:是
    IPV6_FAILURE_FATAL="no" //如果IPv4或IPv6配置失败,此接口将被禁用,否:如果配置失败,此接口不会被禁用
    IPV6_ADDR_GEN_MODE="stable-privacy" //IPV6地址生成模型
    NAME="ens192" //名称
    UUID="51e111fd-ec09-44f5-8163-81d8f8ebc8f4" //唯一ID
    DEVICE="ens192" //设备名称
    ONBOOT="yes" //开启启动
    IPADDR="192.168.100.83" //IP
    PREFIX="24" //子网掩码长度
    GATEWAY="192.168.100.1" //网关
    DNS1="114.114.114.114" //DNS1
    DNS2="8.8.8.8" //DNS1
    IPV6_PRIVACY="no" //IPV6隐私
    
    3.2、CentOS8网卡配置后重启网络
    systemctl restart  NetworkManager
    
    3.3、检测网络状态
    ping www.baidu.com
    curl www.baidu.com
    

    四、网络重启

    CentOS 8 、Red Hat 8、Anolis 8 、fedora 33/34/35 、Alibaba Cloud Linux 3操作系统,请执行以下操作:
    a. 执行以下命令,重新加载所有网卡配置。

     nmcli c reload
    

    b. 执行以下命令,激活网卡。

    nmcli d connect eth0
    

    相关文章

      网友评论

        本文标题:AnolisOS 8 网络配置

        本文链接:https://www.haomeiwen.com/subject/iqxsartx.html