在我的网络上,我有一个托管在 Windows Server 2008 上的 SSTP VPN,以及托管在 Ubuntu Server 14.04 上的 minidlna。
当我将我的客户端连接到 VPN(从 LAN 外部)时,除了我的 DLNA(minidlna)服务器之外,一切都运行正常。
通过在线搜索,我发现多播可能存在问题。
客户端上的 PPP 适配器的子网掩码为 255.255.255.255,这可能是问题所在,也可能不是问题所在。
假设问题与服务器设置有关,我需要在 Server 2008 中的 RRAS 中进行哪些更改?
附加信息:
我已经设置了 DHCP 转发器,以便为 VPN 客户端提供 VPN 网络的 IP 地址
- 网络掩码:255.255.255.0
- 范围:192.168.0.100 - 192.168.0.200
- DNS:(外部 DNS)
VPN 服务器配置:
- IP:192.168.0.6, 192.168.0.7
- 网络掩码:255.255.255.0
- DNS:(外部 DNS)
答案1
您现在拥有的是所谓的点对点连接。这对于 PPP 来说是正常的,也是意料之中的,而 PPP 正是 SSTP 所封装的。不幸的是,它默认不适合依赖广播或多播的任何东西。
根据我的个人经验,您需要 OpenVPN (此处提供开源版本),使用dev tap
,实现可靠的第 2 层 VPN 机制。
这是一个基本的示例服务器配置:
local myhost
port 12345
proto udp
dev tap
ca /path/to/ca.pem
cert /path/to/server-cert.pem
key /path/to/server-key.pem
ifconfig-pool-persist /path/to/ip-pool
server-bridge 10.0.0.1 255.255.255.0 10.0.0.10 10.0.0.200
persist-key
persist-tun
client-to-client
keepalive 10 120
此配置会导致所有客户端位于同一第 2 层广播域中,使用具有永久客户端 IP 的 10.0.0.0/24 子网。这与大多数消费级互联网网关使用 DHCP 的方式类似。
客户端配置也相当简单:
client
proto udp
dev tap
remote myhost 12345
nobind
persist-key
persist-tun
ca /path/to/ca.pem
cert /path/to/client-cert.pem
key /path/to/client-key.pem
ns-cert-type server
OpenVPN 需要 PEM 编码的证书。OpenSSL 可以在各种编码之间进行转换。密钥不需要密码,除非您希望客户端和/或服务器每次启动时都要求输入密码(不适合自动启动)。
所有证书都必须由同一证书颁发机构签名。服务器证书必须是服务器证书,反之亦然。
这绝不是一份完整的指南,仅仅是一个配置示例。如果需要,必须手动设置物理网络和虚拟网络之间的桥接。您还应注意自动地址分配职责不会发生冲突(路由器与 OpenVPN 等)。