在linux中虚拟网卡的方法

在linux中虚拟网卡,可以在/etc/network/interface里加,但是不能改MAC地址。在网上搜到了下面的文章,需要装一下vlan,挺好用的。

-------------------------------------------------------------------------------------

       在实验环境中,一直想在一台机器上模拟出多个客户端,这样在搭环境的时候就可以不用使用那么多的机器。但是,仅仅能在一个网卡上模拟出一个IP有时是不行的,需要mac地址也不一样。

  

      对于这个需求,我一直想咋整,一直不知道,在CSDN和Chinaunix上也发贴问,也没见着回的。而我知道,virtualBox和WM等虚拟机是可以实现的,它的虚拟机里发出数据包的mac就是和系统的mac不一样,也就是说,这个是可以实现的,只是我不知道方法而已。

 

      后来,终于google到了一个叫mac-vlan的补丁(http://www.candelatech.com/~greear/vlan.html),mac-vlan代码在内核2.6.29版本及以后已经加入内核。它可以被ip工具集操作。

 

       方法:

      1.加载8021q模块:

               #sudo modprobe 8021q

 

      2. 启用目标网卡,在这块网卡上配置一个vlan。

                #sudo ifconfig eth0 up

 

      3.配置出一个vlan:

               #sudo vconfig add eth0 2

              Added VLAN with VID == 2 to IF -:eth0:-

         系统会生成一个属于vlan2的网卡,可以用ifconfig -a来查看:

             [moldao@moldao python]$ ifconfig eth0.2

eth0.2    Link encap:Ethernet  HWaddr 00:1F:16:2E:28:C7  

          BROADCAST MULTICAST  MTU:1500  Metric:1

          RX packets:0 errors:0 dropped:0 overruns:0 frame:0

          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0 

          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

          4.之后就可以用ipconfig或者ip 命令来进行配置,配置其ip,mac等:
          $ sudo ifconfig -s eth0.2 10.0.1.1 broadcast 10.0.1.0 netmask 255.255.255.0 up
          5.按照官网上说明,mac-vlan的特性有:
           

 

  • Implements 802.1Q VLAN spec.
  • Can support up to 4094 VLANs per ethernet interface.
  • Scales well in critical paths: O(n), where n is the number of PHYSICAL ethernet interfaces, and that is only on ingress. O(1) in every other critical path, as far as I know.
  • Supports MULTICAST
  • Can change MAC address of VLAN.
  • Multiple naming conventions supported, and adjustable at runtime.
  • Optional header-reordering, to make the VLAN interface look JUST LIKE an Ethernet interface. This fixes some problems with DHCPd and anything else that uses a SOCK_PACKET socket. Default setting is off, which works for every other protocol I know about, and is slightly faster.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值