使用 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 地址
- nmcli con 命令显示新的 VLAN 连接。
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
- 此命令创建 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
- 可以使用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
- nmcli device 命令显示 ens37.100 设备。
# nmcli device DEVICE TYPE STATE CONNECTION ens37.100 vlan connected vlan-ens37.100
- nmcli connection 命令显示 vlan-ens37.100 连接。
# nmcli connection NAME UUID TYPE DEVICE vlan-ens37.100 66950580-5ee1-40f7-8ce3-b9819fdfc492 vlan ens37.100
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