zoukankan      html  css  js  c++  java
  • linux 实现VLAN

    本文将在一台linux机器上,利用linuxbridge 等技术模拟创建VLAN 环境。

    首先,创建vlan interface

    ip link add link ens33 name ens33.8 type vlan id 8
    

    现在我们创建了一个带有vlan tag的端口ens33.8,tag是8,相当于vlan中的access 口,而 ens33相当于trunk 口。

    然后我们再创建bridge,如下:

    brctl addbr br-vlan8
    

    我们把 ens33.8 加入br。

    brctl addif br-vlan8 ens33.8
    

    现在,我们用network namespace模拟compute,创建netns如下:

    ip netns add vlan8_compute1
    

    接下来启动netns的lo端口。这一步的目的只是为了保证试验效果,因为lo端口不启动的话netns的网络经常会比较奇怪

    ip netns exec vlan8_compute1 ip link set dev lo up
    

    我们创建veth pair

    ip link add veth-a type veth peer name veth-b
    

    veth-a,veth-b相当于网线的两端。我们把veth-a加入 vlan8_compute1这个netns,把veth-b加入 br-vlan8,这样就相当于把 vlan8_compute1 这个netns 加入了 br-vlan8。

    ip link set dev veth-a netns vlan8_compute1
    brctl addif br-vlan8 veth-b
    

    现在我们只要给veth-a配置上IP,从 vlan8_compute1发出的包就会带上vlan 的tag 8.

  • 相关阅读:
    poj2263
    poj2304
    低调是态度,也是智慧
    股票操作記錄2
    治病記錄(2013年)
    过年了
    治病記錄
    近段時間學習記錄
    新的一年
    關于設計
  • 原文地址:https://www.cnblogs.com/kramer/p/5045849.html
Copyright © 2011-2022 走看看