Linux下vlan的学习(上)

VLAN(Virtual Local Area Network),翻译为“虚拟局域网”,是一种建构于局域网交换技术的网络管理的技术,网管人员可以借此通过控制交换机有效分派出入局域网的数据包到正确的出入端口,达到对不同实体局域网中的设备进行逻辑分群管理,并降低局域网内大量数据流通时,因无用数据包过多导致拥塞的问题,以及提升局域网的信息安全保障。简单地理解就是将网络分割成多个广播域

有关广播域及其分割广播域的作用,在此不做介绍(我渣渣的计网基础做不来概念复习)。

下面通过在一个物理机上多个虚拟机,使用软件模拟的方式来实现VLAN的功能:

首先需要了解物理网卡、子网卡、虚拟网卡三者的关系

  • 物理网卡(eth0):是指电脑上面的实际的网络接口设备。
  • 子网卡也叫网卡子IP(eth0:1):子网卡在这里并不是实际上的网络接口设备,但是可以作为网络接口在系统中出现,如eth0:1、eth1:2这种网络接口。它们必须要依赖于物理网卡,虽然可以与物理网卡的网络接口同时在系统中存在并使用不同的IP地址,而且也拥有它们自己的网络接口配置文件。但是当所依赖的物理网卡不启用时(Down状态)这些子网卡也将一同不能工作。
  • 这些虚拟VLAN网卡也不是实际上的网络接口设备,也可以作为网络接口在系统中出现,但是与子网卡不同的是,他们没有自己的配置文件。他们只是通过将物理网加入不同的VLAN而生成的VLAN虚拟网卡。
  • 创建子网卡:*

物理网卡信息如下(当前为无线网卡):VLAN1

  • 快速创建及删除:
    sudo ifconfig wlp3s0b1:0 192.168.1.106 up
    #快速创建
    sudo ifconfig wlp3s0b1:0 down
    #删除(系统重启后设置消失)
    可以看到图中子网卡的MAC地址与物理网卡一致。VLAN2
  • 修改网卡配置文件:
  • 在Ubuntu下*,网卡的配置文件为 /etc/network/interface,在文件中添加一下内容:
    auto wlp3s0b1:0
    iface wlp3s0b1:0 inet static
    address 192.168.1.106
    netmask 255.255.255.0
    保存后,重启网络使配置文件生效(其中配置文件具体参数解释可参照Linux下interface文件修改):
    sudo service networking restart
  • 在CentOS下*,网卡的配置文件保存在/etc/sysconfig/network-scripts目录下,一个网卡对应一个配置文件。仿照本机网卡的配置文件来编写子网卡的配置文件,内容如下(增加配置文件eth0:0):
    DEVICE=eth0:0                 //虚拟网络接口,随意                                    
    ONBOOT=yes                    //系统启动时激活
    BOOTPROTO=static             //使用静态ip地址                
    IPADDR=192.168.6.106          //该虚拟网络接口的ip别名,随意
    NETMASK=255.255.255.0         //子网掩码,对应ip别名
    GATEWAY=192.168.6.1           //网关,对应ip别名
    HWADDR=00:10:5A:5E:B1:E4      //网卡MAC地址,无需更改                   
    USERCTL=no                    //是否给予非root用户设备管理权限

    注意:

    1. 子网卡名不能瞎取,应该根据物理网卡名来决定(使用ifconfig -a查看所有网卡)
    2. 在设置ip别名时,如果增加的是和局域网同一网段的ip(如文中的192.168.1.106),那么除了本机外局域网内其他机器都可以ping通这个ip。如果增加的是奇形怪状的ip,那么就只有本机可以ping通而已。
      在之后将介绍虚拟网卡及VLAN的实验过程。

参考资料:

觉得不错不妨打赏一笔