我已经按照本教程设置了 ipsec/l2tpd vpn 服务器http://blog.riobard.com/2010/04/30/l2tp-over-ipsec-ubuntu。
我能够连接到服务器,并通过 vpn 从 mac os 机器重定向所有流量。
在远程访问的网络中,有一个绑定 DNS 服务器,远程机器将其用作本地 DNS(它们将其用作 DNS,并且能够访问在那里定义的本地机器名称和其他 Internet 主机)。
问题是,将该 DNS 推送到 VPN 客户端后,我就可以访问本地名称,但不能访问 Internet 主机名解析。如果我推送 Google DNS,我可以通过 VPN 进行名称解析和 Web 浏览,但显然不能访问本地名称。
这是我的 options.xl2tpd 文件:
require-mschap-v2
ms-dns 192.168.1.3
#ms-dns 8.8.8.8
#ms-dns 8.8.4.4
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo-failure 4
使用上述配置的跟踪路由:
traceroute 192.168.1.9
traceroute to 192.168.1.9 (192.168.1.9), 64 hops max, 52 byte packets
1 10.1.2.1 (10.1.2.1) 14.823 ms 13.544 ms 14.154 ms
2 local.server.com (192.168.1.9) 13.740 ms 11.511 ms 14.794 ms
traceroute google.com
traceroute: unknown host google.com
任何帮助都将不胜感激。诚挚问候,西蒙。
编辑:
取消注释第二行 ms-dns,使客户端在 Windows 下按预期工作,但在 Mac OS 或 iOS 上失败。希望让它在 Apple 设备上工作。
答案1
也许我很愚蠢,但你能不能不要取消注释:
#ms-dns 8.8.8.8
然后,这将尝试解析 192.168.1.3 处的 DNS 条目,但将会失败,然后将尝试发送到第二个 DNS 服务器 8.8.8.8,这应该可以工作吗?
此外,也许值得看看是否可以将特定域的流量转发到服务器,这通常通过键入以下内容完成:
ms-dns /yourdomain.com/192.168.1.3
ms-dns 8.8.8.8