隧道连接接口具有以下格式:
ip.tun ppa |
在系统启动时,隧道连接模块 (tun) 会由 ifconfig 命令推入 IP 的顶层,从而创建一个虚拟接口。推送操作可通过创建相应的 hostname6.* 文件来实现。
例如,要创建通过 IPv4 网络封装 IPv6 包的隧道(即 IPv6 over IPv4 隧道),可以创建以下文件名:
/etc/hostname6.ip.tun0 |
在对接口进行检测之后,此文件的内容将传递到 ifconfig。此文件内容将变成配置点对点隧道所必需的参数。
下面举例说明 hostname6.ip.tun0 文件中的各项:
tsrc 10.10.10.23 tdst 172.16.7.19 up addif 2001:db8:3b4c:1:5678:5678::2 up |
在此示例中,源和目标 IPv4 地址用作自动配置 IPv6 链路本地地址的标记。这些地址分别是 ip.tun0 接口的源和目标。配置了两个接口。配置了 ip.tun0 接口。还配置了一个逻辑接口 ip.tun0:1。该逻辑接口的源和目标 IPv6 地址由 addif 命令指定。
当系统在多用户模式下启动后,这些配置文件的内容将会原封不动地传递到 ifconfig。示例 11–11 中的项与以下各项等效:
# ifconfig ip.tun0 inet6 plumb # ifconfig ip.tun0 inet6 tsrc 10.0.0.23 tdst 172.16.7.19 up # ifconfig ip.tun0 inet6 addif 2001:db8:3b4c:1:5678:5678::2 up |
下面显示了此隧道的 ifconfig -a 输出:
ip.tun0: flags=2200850<UP,POINTOPOINT,RUNNING,MULTICAST, NONUD,IPv6> mtu 1480 index 6 inet tunnel src 10.0.0.23 tunnel dst 172.16.7.19 inet6 fe80::c0a8:6417/10 --> fe80::c0a8:713 ip.tun0:1: flags=2200850<UP,POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 1480 index 5 inet6 2001:db8:3b4c:1:5678:5678::2 |
可以使用以下语法,通过向配置文件中添加一些行来配置更多的逻辑接口:
addif IPv6-source IPv6-destination up |
当隧道的任意一端是通过隧道通告一个或多个前缀的 IPv6 路由器时,不必在隧道配置文件中使用 addif 命令。可能只有 tsrc 和 tdst 才是必需的,因为所有其他地址都是自动配置的。
在某些情况下,需要为特定的隧道手动配置特定的源和目标链路本地地址。可通过更改配置文件的第一行来包括这些链路本地地址。下面是示例行:
tsrc 10.0.0.23 tdst 172.16.7.19 fe80::1/10 fe80::2 up |
请注意,源链路本地地址的前缀长度为 10。在此示例中,ip.tun0 接口与以下内容类似:
ip.tun0: flags=2200850<UP,POINTOPOINT,RUNNING,MULTICAST,NONUD,IPv6> mtu 1480 index 6 inet tunnel src 10.0.0.23 tunnel dst 172.16.7.19 inet6 fe80::1/10 --> fe80::2 |
要建立通过 IPv6 网络封装 IPv6 包的隧道(即 IPv6 over IPv6 隧道),可以创建以下文件名:
/etc/hostname6.ip6.tun0 |
下面举例说明通过 IPv6 网络进行的 IPv6 封装的 hostname6.ip6.tun0 文件中的各项:
tsrc 2001:db8:3b4c:114:a00:20ff:fe72:668c tdst 2001:db8:15fa:25:a00:20ff:fe9b:a1c3 fe80::4 fe80::61 up |
要建立通过 IPv6 网络封装 IPv4 包的隧道(即 IPv4 over IPv6 隧道),可以创建以下文件名:
/etc/hostname.ip6.tun0 |
下面举例说明通过 IPv6 网络进行的 IPv4 封装的 hostname.ip6.tun0 文件中的各项:
tsrc 2001:db8:3b4c:114:a00:20ff:fe72:668c tdst 2001:db8:15fa:25:a00:20ff:fe9b:a1c3 10.0.0.4 10.0.0.61 up |
要建立通过 IPv4 网络封装 IPv4 包的隧道(即 IPv4 over IPv4 隧道),可以创建以下文件名:
/etc/hostname.ip.tun0 |
下面举例说明通过 IPv4 网络进行的 IPv4 封装的 hostname.ip.tun0 文件中的各项:
tsrc 172.16.86.158 tdst 192.168.86.122 10.0.0.4 10.0.0.61 up |
有关 tun 的具体信息,请参见 tun(7M) 手册页。有关在转换到 IPv6 的过程中隧道连接概念的一般说明,请参见IPv6 隧道概述。有关隧道配置过程的说明,请参见针对 IPv6 支持配置隧道所需的任务(任务列表)。