未知的tun0地址


11

我已经进行了一些搜索,或多或少地了解了tun0界面的作用。我从各种来源获得以下信息:

操作系统通过tun / tap设备发送的数据包将传递到用户空间程序,该程序将自身附加到该设备。用户空间程序还可以将包传递到tun / tap设备中。在这种情况下,Tun / Tap设备将这些数据包传递(或“注入”)到操作系统网络堆栈,从而模拟它们从外部源的接收。tun / tap接口是仅软件的接口,这意味着它们仅存在于内核中,并且与常规网络接口不同,它们没有物理硬件组件(因此没有物理线连接到它们)。

您可以将tun / tap接口看作是常规的网络接口,当内核确定是“在线”发送数据的时候,而是将数据发送到连接到该接口的某些用户空间程序。

现在,如果比较eth0和的输出,则会tun0看到类似这样的内容。


ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:14:22:50:78:71  
          inet addr:172.16.210.32  Bcast:172.16.255.255  Mask:255.255.0.0
...
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
<snipped>

ifconfig tun0
tun0      Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.8.0.1 P-t-P:10.8.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

现在,如果我们尝试比较两者,就会发现这些差异,

  1. eth0确实有一个MAC地址,可以理解的tun0是没有。

  2. eth0在广播模式下工作,并且tun0在点对点模式下工作。

我有以下几点我不理解。

  1. P-t-P:10.8.0.2在这种情况下地址的作用是什么?

  2. 为什么将子网掩码tun0设置为255.255.255.255?

Answers:


5

硬件网络链接可以是点对点或点对多点的。ppp链接是点对点的,以太网是点对多点的。tun可以充当任一角色,在您的情况下,它充当点对点链接。点对多点接口具有四个与之关联的地址,特别是ip地址(接口的地址),网络地址,广播地址和网络掩码。点对点链接具有两个与之关联的地址,特别是ip地址(近端地址)和点对点对等地址(远端地址)。由于点对点链接仅适用于这两个地址,因此广播和网络地址以及网络掩码没有有用的数据或没有标志值。

最后一点tun接口可以具有mac地址,但是它们没有默认的mac地址。


1
您能否显示一个示例,其中tun界面可以具有mac地址?感谢您的回答。
Masroor,2015年

1
当您使用虚拟交换机时,ifconfig tunXX hw ether XX:XX:XX:XX:XX:XX通常会使用它,但是并不需要它,并且可能在点对点链接上不起作用。
hildred
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.