我们使用VPN将远程办公室连接到我们的主办公室,而远程办公室的机器需要将端口22暴露在外部互联网上。
并发症:
主办公室和远程办公室都有DrayTek Vigor2925系列路由器,具有最新的固件。 远程办公室的Draytek上游的路由器是一个廉价的黑匣子,没有DDNS或VPNfunction,或任何看起来有用的东西。
事情的工作:
我的理解,从DrayTek的文档和其他地方,NAT是不兼容的IPSec隧道,特别是身份validation头,但它应该是可以build立一个VPN使用L2TP和IPSec封装,如果两个设备支持NAT-T,路由器支持 。
所以:我们设置了远程办公室,使用“带有IPsec策略的L2TP”,closures身份validation头,设置主办公室路由器将端口转发到目标机器,并使用telnet接口检查vpn -passthrough已closures,但我们仍无法连接。
另外,如果我们可以读取远程办公室的浮动IP地址,我们可以使用dynamicDNS解决scheme。 但是,我们不控制远程办公室上游的路由器,而是通过办公室的VPN转发所有stream量:远程办公室中的所有机器都认为其面向公众的IP地址是属于总部的固定地址。
我们几乎要购买Raspberry Pi来插入上游路由器,并使用它来运行wget s icanhazip.com的cron作业。
所以…我在路由器configuration中错过了一个步骤吗? 或者有没有一种从VPN内部读取IP地址的方法?
所有来自远程办公室的stream量是否都通过VPN,例如,vpn是默认网关? 如果没有,那么你可能需要把所有从互联网连接到远程机器上的端口22的连接。 否则连接将通过远程办公室的互联网连接返回。
另一种可能是通过SSH进行远程端口转发,例如通过执行ssh -R 22:127.0.0.1:22 <main gateway> 。