使用 nmcli 配置 VLAN 标记

1、可以使用nmcli connection命令创建VLAN连接。
包括“添加类型 vlan”参数和任何添加信息以创建 VLAN 连接。
例如:

# nmcli con add type vlan con-name vlan-ens37.100 ifname ens37.100 dev ens37 id 100 ip4 192.168.100.1/24
Connection 'vlan-ens37.100' (66950580-5ee1-40f7-8ce3-b9819fdfc492) successfully added.

该示例定义了 VLAN 连接的以下属性:

  • con-name vlan-ens37.100 : 指定新 VLAN 连接的名称
  • ifname ens37.100 :指定将连接绑定到的接口
  • dev ens37 :指定此 VLAN 所在的物理(父)设备
  • id 100 : 指定 VLAN ID
  • ip4 192.168.100.1/24 :指定分配给接口的 IPv4 地址
  1. nmcli con 命令显示新的 VLAN 连接。
# nmcli connection 
NAME                UUID                                  TYPE            DEVICE    
vlan-ens37.100      66950580-5ee1-40f7-8ce3-b9819fdfc492  vlan            ens37.100
  1. 此命令创建 ifcfg-vlan-ens37.100 文件。
    以下是该文件的内容:
# cat /etc/sysconfig/network-scripts/ifcfg-vlan-ens37.100
VLAN=yes
TYPE=Vlan
DEVICE=ens37.100
PHYSDEV=ens37
VLAN_ID=100
REORDER_HDR=yes
GVRP=no
MVRP=no
BOOTPROTO=none
IPADDR=192.168.100.1
PREFIX=24
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=vlan-ens37.100
UUID=66950580-5ee1-40f7-8ce3-b9819fdfc492
ONBOOT=yes
  1. 可以使用ip addr 命令查看网络设备的协议地址信息。
    下面显示了 VLAN 接口 ens37.100:
# ip add show
1: lo: [LOOPBACK,UP,LOWER_UP] mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens37.100@ens37: [BROADCAST,MULTICAST,UP,LOWER_UP] mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 00:0c:29:54:f7:34 brd ff:ff:ff:ff:ff:ff
    inet 192.168.100.1/24 brd 192.168.100.255 scope global ens37.100
       valid_lft forever preferred_lft forever
    inet6 fe80::473b:5fc1:87d:89c3/64 scope link 
       valid_lft forever preferred_lft forever
  1. nmcli device 命令显示 ens37.100 设备。
# nmcli device 
DEVICE     TYPE      STATE      CONNECTION          
ens37.100  vlan      connected  vlan-ens37.100
  1. nmcli connection 命令显示 vlan-ens37.100 连接。
# nmcli connection 
NAME                UUID                                  TYPE            DEVICE    
vlan-ens37.100      66950580-5ee1-40f7-8ce3-b9819fdfc492  vlan            ens37.100
CentOS/RHEL 7:如何使用 nmcli 配置 VLAN 标记

VLAN 是一种局域网,它没有自己专用的物理基础设施,而是使用另一个局域网来承载其流量。
流量被封装,以便多个逻辑上独立的 VLAN 可以由同一个物理 LAN 承载。
使用 VLAN,我们可以创建多个相互隔离的不同广播域。
使用 VLAN,网络交换机(而不是路由器)创建广播域。

每个 VLAN 由范围 1 到 4094(含)的 VID(VLAN 标识符)标识。
交换机端口被分配一个 VLAN ID,所有分配给单个 VLAN 的端口都在一个广播域中。
VID 存储在一个另外的 4 字节标头中,该标头添加到称为标记的数据包中。
向数据包添加标签称为标记。

之路教程 https://onitr oad .com

查看VLAN信息

每个网络接口都在 /sys/class/net 目录中包含一个目录。
例如:

# ls /sys/class/net
ens33  ens36  ens37  ens37.100  lo

在此示例中,存在名为 ens37.100 的 VLAN 接口,并且存在包含该接口的配置信息的同名目录。
例如:

# ls /sys/class/net/ens37.100
addr_assign_type  broadcast        dev_id    duplex             ifalias  link_mode    netdev_group  power   statistics    type
address           carrier          dev_port  flags              ifindex  lower_ens37  operstate     queues  subsystem     uevent
addr_len          carrier_changes  dormant   gro_flush_timeout  iflink   mtu          phys_port_id  speed   tx_queue_len

/proc/net/vlan 目录中还有描述 VLAN 接口的文件。
例如:

# ls /proc/net/vlan
config  ens37.100

我们可以使用 tcpdump 实用程序查看标记和未标记的数据包,以确保流量显示在预期的接口上。
-e 选项指定包含 802.1Q 标记的以太网标头。
使用 -i 选项指定接口。
例如:

# tcpdump –e –i ens37
日期:2020-09-17 00:12:01 来源:oir作者:oir