2007年12月10日星期一

Linux上的虚拟网卡

有时候,为了服务器测试,或虚拟机应用(VMware就自带了,但VBox没有),我们会需要一个虚拟网卡,这对Linuxer来说真是太简单了

如果使用Ubuntu,安装一条命令就够了

sudo apt-get install uml-utilities
现在,我们可以来创建虚拟网卡了
tunctl -t tap0 -u peter
创建了一个名为tap0的虚拟网卡(就象第一块网卡通常称为eth0),拥有者是用户peter。不过这里的拥有者不是指创建的设备文件/dev/net/tun的拥有者,有些应用可能需要对/dev/net/tun拥有写权限,需要另行处理,一个简单的办法就是把该用户加入uml-net用户组。

删除虚拟网卡tap0可以这样
tunctl -d tap0
我们可以象配置eth0那样配置它:
ifconfig tap0 192.168.0.12 netmask 255.255.255.0
如果需要一开机就自动创建,并且配置好,你可以在/etc/network/interfaces中添加如下内容
auto tap0
iface tap0 inet manual
up ifconfig $IFACE 192.168.0.12 up
down ifconfig $IFACE down
tunctl_user peter
如果你很好奇这一切是怎么创建的,可以查看interfaces的man页,以及/etc/network/if-*目录下的uml-utilities文件。

没有评论: