首页服务器Linux服务器 linux虚拟网络设备之vlan配置详解

linux虚拟网络设备之vlan配置详解

简介 VLAN是网络栈的一个附加功能,且位于下两层。首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去。下两层涉及到具体的硬件设备,日趋完善的Linux内核…

简介

VLAN是网络栈的一个附加功能,且位于下两层。首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去。下两层涉及到具体的硬件设备,日趋完善的Linux内核已经做到了很好的代码隔离,对网络设备驱动也是如此,如下图所示:

linux虚拟网络设备,linux,vlan,配置

这里要注意的是,Linux下的网络设备net_dev并不一定都对应实际的硬件设备,只要注册一个struct net_device{}结构体(netdevice.h)到内核中,那么这个网络设备就存在了。该结构体很庞大,其中包含设备的协议地址(对于IP即IP地址),这样它就能被网络层识别,并参与路由系统,最有名的当数loopback设备。不同的设备(包括硬件和非硬件)的ops操作方法各不相同,由驱动自己实现。一些通用性的、与设备无关的操作流程(如设备锁定等)则被Linux提炼出来,我们称为驱动框架。

linux虚拟网络设备之vlan配置

我们通过一个网桥两个设备对,来连接两个网络名字空间,每个名字空间中创建两个vlan

linux虚拟网络设备,linux,vlan,配置

借助vconfig来配置vlan:

#创建网桥brctl addbr br-test-vlan #创建veth对儿ip link add veth01 type veth peer name veth10ip link add veth02 type veth peer name veth20 #将veth对儿的一段添加到网桥brctl addif br-test-vlan veth01brctl addif br-test-vlan veth02 #启动设备ip link set dev br-test-vlan upip link set dev veth01 upip link set dev veth02 upip link set dev veth10 upip link set dev veth20 up #创建网络名字空间ip netns add test-vlan-vm01ip netns add test-vlan-vm02 #将设备对儿的另一端添加到另个名字空间(其实在一个名字空间也能玩,只是两个名字空间更加形象)ip link set veth10 netns test-vlan-vm01ip link set veth20 netns test-vlan-vm02 #分别进入两个名字空间创建vlan和配置ip#配置名字空间test-vlan-vm01ip netns exec test-vlan-vm01 bash#配置vlan 3001 和 vlan 3002vconfig add veth10 3001vconfig add veth10 3002#启动两个vlan的设备ip link set veth10.3001 upip link set veth10.3002 up #分别在两个vlan上配置ip (这里简单起见,使用了同一个网段了IP,缺点是,需要了解一点儿路由的知识)ip a add 172.16.30.1/24 dev veth10.3001ip a add 172.16.30.2/24 dev veth10.3002 #添加路由route add 172.16.30.21 dev veth10.3001route add 172.16.30.22 dev veth10.3002 #配置名字空间test-vlan-vm02ip netns exec test-vlan-vm02 bash#配置vlan 3001 和 vlan 3002vconfig add veth20 3001vconfig add veth20 3002#启动两个vlan的设备ip link set veth20.3001 upip link set veth20.3002 up#分别在两个vlan上配置ip (这里简单起见,使用了同一个网段了IP,缺点是,需要了解一点儿路由的知识)ip a add 172.16.30.21/24 dev veth20.3001ip a add 172.16.30.22/24 dev veth20.3002 #添加路由route add 172.16.30.1 dev veth20.3001route add 172.16.30.2 dev veth20.3002
本文来自网络,不代表1号站长-站长学院|资讯交流平台立场。转载请注明出处: https://www.1cn.cc/fwq/Linux/9260.html
上一篇linux系统下部署项目访问报404错误的解决方法
下一篇 Linux 7.4上安装配置Oracle 11.2.0.4图文教程
admin

作者: admin

这里可以再内容模板定义一些文字和说明,也可以调用对应作者的简介!或者做一些网站的描述之类的文字或者HTML!

为您推荐

评论列表()

    联系我们

    联系我们

    0898-88888888

    在线咨询: QQ交谈

    邮箱: email@wangzhan.com

    工作时间:周一至周五,9:00-17:30,节假日休息

    关注微信
    微信扫一扫关注我们

    微信扫一扫关注我们

    关注微博
    返回顶部