龙空技术网

Linux 8 网络配置常用命令总结

云贝教育 748

前言:

今天同学们对“prefix24”大约比较重视,看官们都需要知道一些“prefix24”的相关知识。那么小编在网摘上收集了一些对于“prefix24””的相关知识,希望姐妹们能喜欢,兄弟们一起来学习一下吧!

作者:泡杯长岛冰茶

1.网卡命名规则

Red Hat Enterprise Linux 8 提供用于网络接口的一致性和可预测的设备命名方法。这些特性有助于查找和区分网络接口。

内核为网络接口分配名称的方法是,使用一个固定前缀,再加上随着内核初始化网络设备时增加的数字。例如: eth0 将代表引导时被探测的第一个设备。但是这些名称不一定与设备外壳上的标签对应。具有多个网络适配器的现代服务器平台,可能会遇到这些接口的命名不明确的情况。这会影响系统中嵌入的网络适配器和附加适配器。

在 Red Hat Enterprise Linux 8 中,udev 设备管理器支持很多不同的命名方案。默认情况下,udev 根据固件、拓扑和位置信息分配固定名称。它有以下优点:

设备名称完全可预测。

在添加或删除硬件时,设备名称也会保持不变。

因此,有问题的硬件可以被无缝地替换。

1.1.网络接口设备命名等级

如果启用了一致的设备命名(在 Red Hat Enterprise Linux 8 中是默认设置),udev设备管理器会根据以下方案生成设备名称:

方案

描述

示例

1

设备名称包含固件或者 BIOS 提供的索引号,用于板上的设备。如果此信息不适用,udev将使用方案 2。

eno1

2

设备名称包含固件或 BIOS 提供的 PCI Express(PCIe)热插件插槽索引号。如果此信息不适用,udev 将使用方案 3。

ens1

3

设备名称包含硬件连接器的物理位置。如果此信息不适用,udev 将使用方案 5。

enp2s0

4

设备名称包含 MAC 地址。Red Hat Enterprise Linux 默认不使用这个方案,但管理员可选择性地使用它。

enx525400d5e0fb

5

传统的无法预计的内核命名方案。如果 udev 无法应用任何其他方案,设备管理器将使用这个方案。

eth0

如果您手动配置udev规则以更改内核设备名称,则优先使用这些规则。

默认情况下,Red Hat Enterprise Linux 根据 /usr/lib/systemd/network/99-default.link 文件中的 NamePolicy 设置选择设备名称。NamePolicy 中值的顺序非常重要。Red Hat Enterprise Linux 使用在该文件中指定的以及 udev 生成的第一个设备名称。

如果您手动配置 udev 规则以更改内核设备名称,则优先使用这些规则。

1.2.网络接口名称解释

1.3.修改网卡命名方式为早期的规则(ethx)

2.网络配置工具概述

2.1使用 nmtui 添加连接配置

2.2NMCLI 入门

2.3使用 GNOME GUI 配置网络入门

以上内容来源于Redhat官网

3. 以下菜单栏内容为官方文档:

3.1【nmtui入门】

3.2【nmcli入门】

3.3【使用GNOME GUI配置网络入门】

3.4【配置网络bond/team】

4.网络配置常用命令汇总

以下内容来于笔者的总结

4.1 查看系统网卡设备

[root@localhost ~]# nmcli device statusDEVICE      TYPE      STATE                   CONNECTION ens160      ethernet  connected               ens160     virbr0      bridge    connected (externally)  virbr0     lo          loopback  unmanaged               --         virbr0-nic  tun       unmanaged               --

DEVICE 网卡设备名(系统内核为网络接口分配名称,本文中只有一个ens160的网卡设备)

TYPE 网络类型

STATE 当前的状态

CONNECTION 网络连接名(ens160连接名对应的配置文件/etc/sysconfig/network-scripts/ifcfg-ens160)

注意:一个网卡设备可以有多个网络连接名,但在系统里同时只一个网卡连接名被激活。

4.2 设置网卡ens160 DHCP自动获取IP地址,并开始自启动

[root@localhost ~]# nmcli connection modify ens160 ipv4.method manual autoconnect yes

拨出网卡

[root@localhost ~]# nmcli device disconnect ens160

载入网卡

[root@localhost ~]# nmcli device connect ens160

4.3 给ens160 手动配置一个IP

[root@localhost ~]# nmcli connection modify ens160 ipv4.addresses 192.168.10.2/24 ipv4.gateway 192.168.10.254 ipv4.dns 8.8.8.8 ipv4.method manual autoconnect yes

重新加载配置文件(增加或修改之后必需执行)

[root@localhost ~]# nmcli connection reload

启动网卡

[root@localhost ~]# nmcli connection up ens160

4. 4 查看ens160网络信息

[root@localhost ~]# nmcli device show ens160|grep -i ip4IP4.ADDRESS[1]:                         192.168.10.2/24IP4.GATEWAY:                            192.168.10.254IP4.ROUTE[1]:                           dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100IP4.DNS[1]:                             8.8.8.8IP4.ADDRESS[1]:                         192.168.122.1/24IP4.GATEWAY:                            --IP4.ROUTE[1]:                           dst = 192.168.122.0/24, nh = 0.0.0.0, mt = 0IP4.ADDRESS[1]:                         127.0.0.1/8IP4.GATEWAY:                            --

4.5 添加一个网络配置文件ens160-new,并配置IP地址

[root@localhost network-scripts]# nmcli connection add type ethernet con-name ens160-new ifname ens160 ipv4.addresses 192.168.10.3 ipv4.gateway 192.168.10.254/24 ipv4.dns 114.114.114.114 ipv4.method manual Connection 'ens160-new' (5825bc94-9919-4993-9abd-e4ec5ef9a4d5) successfully added.

4.5.1 查看网络连接名信息(这里可以看到多出一个ens160-new)

[root@localhost network-scripts]# nmcli connection show NAME        UUID                                  TYPE      DEVICE ens160      42e915da-c4bc-44ca-9d27-7cd21e2b3755  ethernet  ens160 virbr0      4e4a1f37-2072-4368-ae9c-e87c0cd5cc40  bridge    virbr0 ens160-new  5825bc94-9919-4993-9abd-e4ec5ef9a4d5  ethernet  --

4.5.2 查看网络配置文件ens160-new是否生成

[root@localhost ~]# cd /etc/sysconfig/network-scripts/[root@localhost network-scripts]# pwd/etc/sysconfig/network-scripts[root@localhost network-scripts]# lsifcfg-ens160  ifcfg-ens160-new

4.5.3 查看网络配置文件ens160-new内容

[root@localhost network-scripts]# cat ifcfg-ens160-new TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=noneIPADDR=192.168.10.3PREFIX=24GATEWAY=192.168.10.254DNS1=114.114.114.114DEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens160-newUUID=5825bc94-9919-4993-9abd-e4ec5ef9a4d5DEVICE=ens160ONBOOT=yes

4.5.4 重新加载并启动ens160-new配置文件

[root@localhost ~]# nmcli connection reload [root@localhost ~]# nmcli connection up ens160-new

4.5.5 查看当前活动配置文件(可以看到CONNECT这一栏里的连接名变成ens160-new)

[root@localhost ~]# nmcli device statusDEVICE      TYPE      STATE                   CONNECTION ens160      ethernet  connected               ens160-new virbr0      bridge    connected (externally)  virbr0     lo          loopback  unmanaged               --         virbr0-nic  tun       unmanaged               --

4.5.6 查看设备ens160当前激活的网络信息

[root@localhost ~]# nmcli device show  ens160 |grep -i ip4IP4.ADDRESS[1]:                         192.168.10.3/24IP4.GATEWAY:                            192.168.10.254IP4.ROUTE[1]:                           dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100IP4.DNS[1]:                             114.114.114.114

4.5.7 也可以通过连接名ens160-new查看网络信息(注意关键字,这里用的是nmcli connect)

[root@localhost ~]# nmcli connection show ens160-new |grep -i ip4IP4.ADDRESS[1]:                         192.168.10.3/24IP4.GATEWAY:                            192.168.10.254IP4.ROUTE[1]:                           dst = 192.168.10.0/24, nh = 0.0.0.0, mt = 100IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 192.168.10.254, mt = 100IP4.DNS[1]:                             114.114.114.114

4.6 创建网卡绑定(最常用的两种模式 active backup 与LACP)

#1.创建team接口

#2.给team分配地址

#3.创建team的子接口(slave interface)

#4.激活team接口和team的子接口

4.6 .1 手工配置active backup

nmcli connection add  type team con-name tema0 ifname team0 team.runner activebackupipv4.addresses 192.168.10.11/24 ipv4.method manualnmcli con add con-name team0-port1 ifname ens160 type team-slave master team0nmcli con add con-name team0-port2 ifname ens256 type team-slave master team0nmcli con up team0nmcli con up team0-port1nmcli con up team0-port2

查看team配置

teamdctl team0 statesetup:runner: activebackupports:ens160link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0ens256link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0runner:active port: ens160

4.6 .2手工配置lacp (此模式下上连交换机也要配置端口聚合)

nmcli connection add  type team con-name tema1 ifname team1 team.runner lacp 192.168.10.21/24 ipv4.method mannmcli con add con-name team1-port1 ifname ens160 type team-slave master team1nmcli con add con-name team1-port2 ifname ens265 type team-slave master team1nmcli con up team1-port1nmcli con up team1-port2nmcli con up team1[root@localhost ~]# teamdctl team1 statesetup:runner: lacpports:ens160link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0runner:aggregator ID: 5, Selectedselected: yesstate: currentens265link watches:link summary: upinstance[link_watch_0]:name: ethtoollink: updown count: 0runner:aggregator ID: 5, Selectedselected: yesstate: currentrunner:active: yesfast rate: no

注意: man nmcli-example 里的信息还没更新, 您也可以按linux7 的方式配置。

man nmcli-examples       Example 8. Adding a bonding master and two slave connection profiles           $ nmcli con add type bond ifname mybond0 mode active-backup           $ nmcli con add type ethernet ifname eth1 master mybond0           $ nmcli con add type ethernet ifname eth2 master mybond0       This example demonstrates adding a bond master connection and two slaves. The first command adds a master bond       connection, naming the bonding interface mybond0 and using active-backup mode. The next two commands add slaves       connections, both enslaved to mybond0. The first slave will be bound to eth1 interface, the second to eth2.       Example 9. Adding a team master and two slave connection profiles           $ nmcli con add type team con-name Team1 ifname Team1 config team1-master-json.conf           $ nmcli con add type ethernet con-name Team1-slave1 ifname em1 master Team1           $ nmcli con add type ethernet con-name Team1-slave2 ifname em2 master Team1           man teamd.conf {         "device": "team0",         "runner": {"name": "activebackup"},         "link_watch": {           "name": "ethtool",           "delay_up": 2500,           "delay_down": 1000         },         "ports": {           "eth1": {             "prio": -10,             "sticky": true           },           "eth2": {             "prio": 100           }         }       }

4.6 .3下面的语法是linux 7 的配置, linux8 也应该支持,感兴趣的小伙伴可以试试

nmcli connection add  type team con-name tema0 ifname team0 config '{"runner": {"name": "activebackup"}'nmcli con add con-name team0-port1 ifname ens160 type team-slave master team0nmcli con add con-name team0-port2 ifname ens256 type team-slave master team0nmcli con up team0nmcli con up team0-port1nmcli con up team0-port2

*禁止转载,可转发(转发文章请注明出处)

TDPUB数+社区

标签: #prefix24