这种解决方案的安全/性能影响是什么?
您有两层加密(SSH和OpenVPN),这可能会降低性能 - 更高的CPU使用率和更低的吞吐量,特别是如果您的三个涉及的设备之一没有硬件加密加速。(即便如此,SSH软件很少提供最佳性能。)
你也有3个嵌套的TCP流量控制(你的正常交通,OpenVPN的层里面,SSH层内)的层。这可能效果不好。
最后,吞吐量将仅通过隧道开销(SSH和OpenVPN数据包标头进入可用的基线1500字节MTU)来减少。当然,VPN的一层是不可避免的,但加倍可能会引起注意。
direct: IPv4 <20> | | TCP <20> | application
vpn: IPv4 <20> | UDP <8> | OpenVPN <41> | IPv4 <20> | TCP <20> | application
yours: IPv4 <20> | TCP <20> | SSH <~20–40> | OpenVPN <41> | IPv4 <20> | TCP <20> | application
有一个更好的方法吗?
由于您已经拥有VPS,请将OpenVPN服务器放在那里 - 并让您的家庭系统“连接”到VPS而不是相反。(是的,OpenVPN服务器将在您的“主页”和“漫游”客户端之间转发数据而没有任何问题。)
这样,您甚至可以在没有任何NAT相关问题的情况下使用UDP,只要您在客户端启用定期ping或以其他方式保持隧道上的频繁流量。
如果您正在使用TUN -模式VPN,服务器只需要一个内核路线,通过你的局域网子网tun0
,然后一个OpenVPN iroute为通过家庭VPN客户端的地址在同一个子网。(使用tap -mode VPN,它只是一个结合两者的内核路由。)