我想知道如何通过隧道隧道tcp / ipv6stream量(ptp连接)。 可能吗? 我怎么能做到这一点?
是的,这是可能的,也不是太困难,但是这个解决scheme是非常不理想的,因为SSH在TCP上运行并且具有合理的开销。
服务器必须在其configuration文件sshd_config :
PermitTunnel point-to-point
然后,你需要在两台机器上都是 root的。 您使用以下方式连接到服务器:
ssh -w any root@server
连接后,使用两个系统中的命令ip link来知道哪个tunN设备是在每个设备中创build的,并在以下命令中使用它。 请注意,我正在使用示例站点本地地址,这是过时的,但可以用于此介绍。
在服务器上:
server# ip link set tun0 up server# ip addr add fec0:1::1/112 dev tun0
在客户端:
client# ip link set tun0 up client# ip addr add fec0:1::2/112 dev tun0
这足够了,如果没有防火墙规则阻塞,就可以通过隧道ping对方。 下一步是在隧道上设置路由(不要忘记net.ipv6.conf.default.forwarding = 1),然后调整链路MTU以获得最佳性能。
server# sysctl net.ipv6.conf.all.forwarding=1 client# ip -6 route add default via fec0:1::1
这将允许您的客户端ping通服务器有权访问的其他networking,因为目标有路由回您的远程客户端。
您还必须修复链路MTU,以便客户端不会发送服务器无法向前传输的数据包。 这取决于服务器本身的IPv6链路的MTU。 不要依赖pathMTU发现,因为它不能在SSH隧道上正常工作。 如果有疑问,从一个较低的MTU值开始,如1280(IPv6允许的最小MTU)。