zoukankan      html  css  js  c++  java
  • Linux上VLAN的创建

    注明:以下内容来自于我对这篇博客的理解 来自于大佬:FromScratch

    https://www.cnblogs.com/justart/p/7944256.html

    好不容易找到了篇好文章,非常感谢

    估计是先入为主的原因导致我还是以思科交换机的方式理解Linux上的vlan(虽然我之前玩的是锐捷的设备)

    我的测试环境是两台电脑

    GE60 (Kali) 使用KVM虚拟两台虚拟机(archlinux)

    GE62 (archlinux)使用KVM虚拟两台虚拟机(archlinux)

    网络管理软件都用的NetworkManager和iptables

    一台5口非网管二层交换机(貌似还不支持自动翻转,害得我又重新做交叉线去了,网线越来越短了。。。)

    以一台电脑为例(因为两台电脑配置过程一样,额 可能起名不一样 无所谓啦)

    首先我有个物理网卡,接口名eth0

    我要把它当二层交换机用 我自己的电脑也要上网的啊 那么就虚拟个网卡然后接到上面

    1、new一个虚拟网卡(网桥)

    nmcli con add type bridge con-name br0 ifname br0

    2、new一个以太网接口做交换机用,并把刚new的虚拟网卡绑上去,这里的接口用物理网卡的接口eth0

    nmcli con add type bridge-slave con-name switcher ifname eth0 master br0

    我的交换机接的路由器,这个交换机貌似不支持自动翻转,用直通线我eth0也能获到路由器分到的IP,而且因为这俩mac地址一样

    获取到的IP也是一样的  于是  不能上网了 换了交叉线就好了(貌似把ipv4.method设置成disabled就可以了。。。)

    我要吐槽:电信光猫给的网线就是垃圾(联通你也是)插上之后连接速度居然10M/s 本以为是水晶头有问题 铰开一看简直就是三类线 颜色我都分不清 而且根本不缠绕 橙白绿白棕白蓝白都一个色 我淘宝买俩网卡让店家给我送根线 店家还给我送个超五的线 那线粗的 要是长些双股做秋千都没问题

    其实这里虚拟机就可以通过br0直接连到路由器那里了 不过这里没有划分vlan 所以继续

    按照NetworkManager的操作顺序 其实也是先划lan然后再划v

    3、new俩个虚拟网卡(网桥)给虚拟机用(我觉得这是俩vlan交换机)

    参照他的博客是用的vconfig和brctl创建的网桥和vlan,然后我重启之后都木有了。。。

    于是按照brctl的创建结果用NetworkManager创建 这样就能存下来了

    nmcli con add type bridge con-name brvlan10 ifname brvlan10 ipv4.method disabled ipv6.method link-local
    nmcli con add type bridge con-name brvlan20 ifname brvlan20 ipv4.method disabled ipv6.method link-local

    我也不知道为啥ipv6要搞成这个 brctl的创建结果就是这 我也就这么写了

    4、new一个vlan并划给刚创建的虚拟网卡用 vlan10 和 vlan20

    con-name咋写都行;dev我选的是我的物理网卡;id后面跟vlan-id;master后面跟绑在哪个网卡上;

    nmcli con add type vlan con-name eth0.10 dev eth0 id 10 master brvlan10

    nmcli con add type vlan con-name eth0.20 dev eth0 id 20 master brvlan20

    弄完之后就会出现俩个新设备eth0.10 eth0.20 然后我想起了路由器的虚拟接口和单臂路由

    感觉这两步就相当于

    int f0/0.1

    encapsulation dot1Q 10

    这个感觉 总想往上配ip啊 还想no shut一下 emmm...

    5、看看都启动了没有

    nmcli con show

    NetworkManager最大的好处就是通过颜色可以看到当前连接的活动状态

    绿色表示连接已建立

    黄色表示正在获取地址

    白色表示连接已断开

    之前没设置ipv4.method为disabled 于是连接黄了一会就白了 根本up不起来

    这里只用看四个 brvlan10 brvlan20 eth0.10 eth0.20 其他的不用管。。。

    额 我还是说一下把

    docker0和docker_gwbridge是安装docker的时候它自己创建的 前者是容器上网用的 后者是docker集群用的 我没有集群 但也懒得管

    switcher是虚拟交换机,就是把网卡当交换机用了,电脑上网就用虚拟出来的br0,ip要配在br0上

    vroute0和vroute1是我虚拟出来的俩网卡,给虚拟机用,前者是nat出去,后者是本机网络

    不用kvm创建网络是因为它会改我的防火墙策略,每次开机都要恢复一次(弄得现在养成习惯了,开机先恢复防火墙策略)

    vnet0和vnet1是虚拟机的接口

    另一台电脑也是相同的配置

    一共四台虚拟机

    GE60上 arch70(brvlan10:192.168.0.2) arch71(brvlan20:192.168.0.3)

    GE62上 arch66(brvlan10:192.168.0.4) arch67(brvlan20:192.168.0.5)

    这个网络没有网关

    实验结果

    arch70和arch66是互通的

    arch71和arch67是互通的

    arch70和arch71不通

    arch66和arch67不通

    如果设置了防火墙要注意把brvlan10和brvlan20放通

    这是iptables的配置

    注意是filter表 nat表不用管 额 nat表里面貌似没有forward链。。。

    -A FORWARD -i brvlan10 -j ACCEPT

    -A FORWARD -o brvlan10 -j ACCEPT

    -A FORWARD -i brvlan20 -j ACCEPT

    -A FORWARD -o brvlan20 -j ACCEPT

    KVM开虚拟机貌似就是把网卡加到网桥里了

    brctl addif brvlan10 vnet0
    brctl addif brvlan20 vnet1

    这个感觉就像

    int f0/1

    switchport access vlan 10

    来自1942年冬季攻势中的中央集团军的037号17吨救援拖车
  • 相关阅读:
    Golang手动分页,按等份拆分数据
    GORM无法映射到结构体上
    VSCODE GOLANG运行多个服务
    解决,MAVEN
    Properties配置文件常见错误写法以及转义字符说明
    Pentaho Data Integration (PDI/Kettle)与Java版本支持关系
    MYSQL之读写分离搭建方案
    Windows下创建软件快速启动命令
    Sonar的一些使用总结
    使用SVG Path绘图
  • 原文地址:https://www.cnblogs.com/panther1942/p/11618829.html
Copyright © 2011-2022 走看看