Ubuntu
环境:Ubuntu 20.04
安装依赖包
apt install vlan
加载 8021q 模块到内核
lsmod | grep 8021q && modprobe 8021q && modinfo 8021q
在网卡名为ens18
上配置 vlan id 为 10 的 ip 地址,示例如下:
network:
ethernets:
ens18:
dhcp4: false
ens19:
addresses:
- 192.168.10.1/24
gateway4: 192.168.10.254
nameservers:
addresses:
- 192.168.10.254
search: []
vlans:
vlan10:
id: 10
link: ens18
addresses:
- 172.16.19.2/30
version: 2
重启网络服务生效
netplan apply
CentOS
环境:CentOS 7.9
在网卡名为ens160
上配置 vlan id 为 10 的 ip 地址,则需要先创建网卡文件,路径/etc/sysconfig/network-scripts/ifcfg-ens160.10
,配置示例如下:
DEVICE=ens160.10
BOOTPROTO=none
ONBOOT=yes
IPADDR=172.16.19.2
PREFIX=30
GATEWAY=172.16.19.1
VLAN=yes
重启网络服务生效
systemctl restart network
命令方式
命令都一样,这里以 Ubuntu 为例:
创建网卡名为vlan10
ip link add link ens18 name vlan10 type vlan id 10
查看是否创建成功
ip link show type vlan
配置网卡 IP 地址
ip addr add 172.16.19.2/30 dev vlan10
启动网卡
ip link set dev vlan10 up
删除网卡
ip link delete dev vlan10
查看是否有收到 tagged 帧
tcpdump -nnei ens18 -v | grep 802.1Q
评论区