#添加一个tun设备,并配置ip
ip tuntap add mode tun2
ip link set tun2 up
ip addr add 172.16.1.2/24 dev tun2
#删除tun2
ip link del dev tun2
---------------------
虚拟网络设备
OPENSTACK虚拟化网络实现中大量应用了多种虚拟网络设备,了解这些设备是理解OPENSTACK虚拟网络实现的基础,本文来简单介绍这些虚拟网络设备。
TUN/TAP设备
TUN/TAP设备是Linux内核中实现的虚拟网卡。物理网卡是从物理线路上收发数据包,而TUN/TAP设备是从用户态应用程序上收发以太网帧或IP包。用户态进程对/dev/net/tun文件调用open()获取一个文件描述符,并调用ioctl()挂接到该设备上,接着通过读写该文件描述符从TUN/TAP设备的收发数据包。收发的数据包由用户态进程构造好。TUN和TAP设备的区别在于TUN设备收发的是IP包,而TAP设备收发的是以太网帧。
在进程中创建及使用TUN/TAP设备可以参考官方文档: https://www.kernel.org/doc/Documentation/networking/tuntap.txt
可以使用iproute2工具包中的ip命令创建TUN/TAP设备, 如:
ip tuntap add dev tap0 mode tap
ip tuntap add dev tun0 mode tun
通过ip link命令可以看到设备已经创建:
[root@compute1 ~]# ip link show tap0
23: tap0: mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 500
link/ether a6:73:4e:90:f9:3e brd ff:ff:ff:ff:ff:ff
[root@compute1 ~]# ip link show tun0
24: tun0: mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 500
link/none
删除已创建的设备:
ip tuntap del dev tap0 mode tap
ip tuntap del dev tun0 mode tun
参考:
https://www.cnblogs.com/echo1937/p/7249037.htmla