Tun接口和IPv6

时间:2016-09-02 11:41:16

标签: linux networking interface ipv6 tun

我想问你关于tun接口的问题,但没有OpenVPN。

我有两个隧道流量的应用程序:  “sgsn userspace app”从tun接口“tun sgsn”读取IP数据包,将它们发送到“ggsn userspace app”,此应用程序将它们写入“tun ggsn”。  它的工作方式也相反,所以我可以使用ssh会话,复制文件等。

所以,数据包会这样:

scp客户端 - > sgsn tun interface --->隧道穿过我的应用程序-----> ggsn tun接口(在此处删除)----------> sshd

现在,我已尝试使用IPv4并且它可以工作,但是当我切换到IPv6时,IP数据包被写入“tun ggsn”并且IP堆栈丢弃它。我用dropwatch看过它,它说discard在ip_rcv + c0。

路由必须正确,否则数据包首先不会进入tun_sgsn。

我在CentOS 6.7和7.1中都尝试过这个结果。但是,在7.1中我只有一个主机,所以我用ip6tables到NAT地址做了一些技巧,所以每个用户空间应用程序(scp和sshd)的流量都通过tun接口。我说这只是从一开始就很明显,但是6.7我有两台机器而且没有NAT(我知道NAT在CentOS 6.7 for IPv6中不起作用)。我在tun ggsn接口中使用了tcpdump,IPv6数据报似乎没问题。

另一个提示:如果我直接scp到tun_ggsn接口,它可以工作,但我不认为这会丢弃任何与tun驱动程序,因为在同一台机器上,这意味着IP数据包不会下降到TCP / IP堆栈到达tun驱动程序(事实上,如果我这样做,tcpdump不捕获数据包)。

任何帮助将不胜感激,非常感谢您提前。

0 个答案:

没有答案