我在 aws 网络中的 Ubuntu 14.04 服务器上设置了一个 Softether VPN,该网络大约有十几台服务器,使用本指南。唯一的区别是我使用了 SecureNat 和 softether DHCP。
我可以使用 登录到我的服务器。 ssh [email protected]
我添加net.ipv4.ip_forward = 1
到 sysctl 和
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0 -j ACCEPT
我的目标是允许我使用 ssh 访问远程 LAN 主机[电子邮件保护]或者http://主机名.域名.com使用 vpn 从我的笔记本电脑上访问。我很感激任何关于如何实现此目的的建议。
答案1
我不清楚你离目标还有多远,所以很抱歉问了这么多显而易见的问题,但我将从最后开始,然后倒推。1
) 你能 ssh 吗[电子邮件保护]
2) 您能 ssh myname@ 吗 3) 您能 nslookup hostname.mydomain.com 并获取 4) 您能 ping 通 5) 如果您使用 traceroute,您能走多远? 5.1) 您是否到达了隧道的远端 5.2) 您是否经过了隧道的本地站点
我可能在告诉奶奶如何吸鸡蛋,但设置 vpn 是一个 3 阶段的过程。1) 设置隧道,无论是由任一端在某些流量事件上创建隧道,还是永久启用 2) 确保进入隧道的所有流量都带有一个地址,该地址可通过接收它的设备识别(在您的情况下是 NATing 服务器,但这意味着远程服务器无法发起与您的机器的对话)3) 确保从隧道远端出来的流量可以到达目的地并再次返回。出于这个原因,我通常首先设置 ICMP echo,然后将其保留为启用状态,这样我就可以先检查这个阶段,看看是否有任何问题。
请记住,traceroute 是您的好朋友,您很可能需要正确设置路由,以便从每台机器到达下一台机器。NAT 使这变得复杂,因此当我上次自己设置 VPN 时,我确保隧道两侧的专用网络具有不同的网络地址,并且可以相互路由(在我的情况下,我有 192.168.Ax、192.168.Bx 和 192.168.Cx,它们都从一个面向公众的服务器反弹,每个服务器都必须从不同的 Web 位置进行 NAT,才能访问互联网。这意味着,通过隧道的本地入口点,告诉每个本地 DHCP 服务器添加到其他网络的路由要容易得多)。
希望这会有所帮助,如果这只是陈述您已经知道的事情,那么很抱歉。