Linux创建VLAN虚拟网卡的命令

用来在Linux系统上创建VLAN虚拟接口的2个命令

  • 分解:
    ip link add # 添加一个网络链路(接口)
    link eth0 # 基于物理接口eth0(父接口)
    name eth0.2 # 新接口名为eth0.2(惯例:物理接口名.VLAN ID)
    type vlan # 接口类型是VLAN
    id 2 # VLAN ID = 2

  • 实际效果:

    • 在系统内核中创建一个虚拟网络接口 eth0.2

    • 这个接口只处理VLAN ID=2的流量

    • 物理网卡 eth0 现在会接收/发送带VLAN Tag的帧

再执行ip addr add 172.168.2.30/24 dev eth0.2

  • ​​​​​​​分解:
    ip addr add # 添加IP地址
    172.168.2.30/24 # IP地址和子网掩码
    dev eth0.2 # 分配给eth0.2接口

  • 实际效果:

    • ​​​​​​​给VLAN 2的虚拟接口分配IP地址

    • 系统现在可以通过这个接口与VLAN 2中的其他设备通信

为什么需要配置VLAN?

  • 场景:服务器需要接入多个VLAN

  • 交换机Trunk端口(允许VLAN 2,3,10)

    ┌─────┴─────┐

    Linux服务器

    └─────┬─────┘

    │eth0物理网卡

    ┌───────────┼───────────┐

    eth0.2 eth0.3 eth0.10

    (VLAN 2) (VLAN 3) (VLAN 10)

    172.168.2.30 192.168.3.50 10.0.10.100

  • 好处:

    • 单网卡多网络:一块物理网卡(eth0)接入多个逻辑网络(多个虚拟网卡vlan)

    • 隔离与安全:不同VLAN流量在OS层面就隔离

    • 灵活配置:每个VLAN接口独立IP、路由、防火墙规则

删除VLAN接口

复制代码
# 删除VLAN接口(IP地址会自动删除)
ip link delete eth0.2

# 或者删除父接口时,子VLAN接口也会被删除
ip link delete eth0
相关推荐
milo.qu13 小时前
RockyLinux9.7 docker部署Jisti Meet
linux·docker·容器
GanGanGanGan_13 小时前
CentOS 7.9 glibc 2.17 源码编译升级到 glibc 2.31
linux·运维·centos·glibc
charlie11451419113 小时前
嵌入式Linux驱动开发——class 和 device 模型 - 自动创建设备节点的幕后机制
linux·运维·驱动开发
枳实-叶15 小时前
【Linux驱动开发】第四天:dmesg日志全解+驱动加载失败极速排查
linux·运维·驱动开发
wdfk_prog16 小时前
正常关闭虚拟机时,不要点“关机”,而要点“关闭客户机”
linux·c语言·网络·ide·vscode
fish_xk17 小时前
Linux开方工具
linux·运维·服务器
bzmK1DTbd17 小时前
Servlet 4.0新特性:HTTP/2与异步处理支持
网络协议·http·servlet
近墨者缺黑18 小时前
关于Modbus RTU和TCP协议的一些简要笔记
网络协议
用户23678298016819 小时前
Linux find 命令深度解析:从递归遍历到性能优化的完整实现
linux
ascarl201020 小时前
Linux.do 帖子整理:AI 调用 Chrome DevTools 调试前端页面
linux·前端·人工智能