linux – TCP / IPv6通过ssh隧道

前端之家收集整理的这篇文章主要介绍了linux – TCP / IPv6通过ssh隧道前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道如何通过ssh / ipv4隧道(ptp连接)隧道传输tcp / ipv6流量.可能吗?我怎样才能实现这一目标?

解决方法

是的,这是可能的并且不是太困难,但解决方案非常不理想,因为SSH在TCP上运行并且具有合理的开销.

服务器必须在其配置文件sshd_config中:

PermitTunnel point-to-point

然后,您需要在两台计算机上都是root用户.您使用以下命令连接到服务器:

ssh -w any root@server

连接后,使用两个系统中的命令ip link来了解在每个系统中创建的tunN设备,并在以下命令中使用它.请注意,我使用的是示例站点本地地址,这些地址已过时,但对此介绍没有问题.

在服务器上:

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服务器有权访问的其他网络,因为目标具有返回到远程客户端的路由.

您还必须修复链接MTU,以便客户端不会发送服务器无法向前传输的数据包.这取决于服务器本身的IPv6链路的MTU.不要依赖路径MTU发现,因为它无法在SSH隧道上正常工作.如果有疑问,请从较低的MTU值开始,如1280(IPv6允许的最小MTU).

原文链接:https://www.f2er.com/linux/401675.html

猜你在找的Linux相关文章