最近我一直在尝试构建一个新的 Windows Server 2016 Open VPN 服务器来替换我们当前使用的旧的、过时的 PPTP VPN。
我取得了一些成功,并设法使路由 VPN 正常运行,但这为我们当前已建立的站点到站点 VPN 以及正确设置路由带来了另一个潜在的困境。
相反,我尝试将 VPN 设置为桥接 VPN。我桥接了 TAP 和以太网适配器,并更新了配置。客户端现在可以连接到桥接 VPN,并且可以 ping/RDP 到 VPN 服务器 (192.168.54.176),但无法访问网络的其余部分。
使用 Wireshark,我确定 ping 请求已正确重定向到网络,但网络上的其他服务器无法响应。这似乎是因为 VPN 客户端 IP(192.168.55.75)的 ARP 请求没有得到任何形式的响应。我不确定它应该如何工作,但服务器既没有响应请求以向网络上的其他服务器提供回复,也没有将它们转发到连接的客户端。
我不确定我是否忽略了什么,或者是否需要更多配置,但感觉好像缺少了一些东西。任何帮助都非常感谢!
打开 VPN 配置:
port 1194
proto udp
dev tap
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
key "C:\\Program Files\\OpenVPN\\config\\server.key"
dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"
topology subnet
ifconfig-pool-persist ipp.txt
server-bridge 192.168.54.176 Subnet 192.168.55.75 192.168.55.80
push "route 192.168.48.0 Subnet"
push "redirect-gateway autolocal def1 bypass-dhcp"
push "dhcp-option DNS Server"
push "dhcp-option DNS Another Server"
client-to-client
keepalive 10 120
cipher AES-256-CBC
persist-key
persist-tun
verb 3
explicit-exit-notify 1
答案1
经过几天的反复尝试,我终于找到了问题的根源!
VPN 服务器是 Hyper-V 主机上的 Windows VM。而大多数 Open VPN 实例似乎是 VMware 上的 Linux。我经常看到 VMware Open VPN 服务器需要设置为混杂模式,以允许它们在不同的 MAC 地址上广播,但我从未见过有关 Hyper-V 的类似说明,因此从未对此多加考虑。
最后,我检查了 Hyper-V,在虚拟机设置 > 网络适配器 > 高级功能下找到了“启用 MAC 地址欺骗”设置。必须启用此设置才能允许 Open VPN 服务器代表连接的客户端转发 ARP 请求。