Quantcast
Channel: 看得透又看得远者prevail. ppt.cc/flUmLx ppt.cc/fqtgqx ppt.cc/fZsXUx ppt.cc/fhWnZx ppt.cc/fnrkVx ppt.cc/f2CBVx
Viewing all articles
Browse latest Browse all 20546

LINUX下,如何创建tun设备

$
0
0

#添加一个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

Viewing all articles
Browse latest Browse all 20546

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>