我正在 Microsoft Azure 防火墙后面的 Ubuntu 18.04 上设置 OpenVPN Access 服务器,以便我们的开发人员可以建立隧道并连接到他们的开发人员测试环境。将 VPN 服务器置于防火墙后面是我们 IT 部门的硬性要求。
我的背景:
- 我的 Linux、OpenVPN 管理、网络管理、Web 管理以及开发技能充其量也只是生疏了一点。
我的设置:
- Ubuntu 18.04 VM 上的 OpenVPN 访问服务器(如上所述)
- Azure 防火墙(如上所述)
- OpenVPN Access Server VM 位于其自己的子网中。
- OpenVPN 访问服务器不是有一个公共 IP。我正在将端口 443、943 和 1194 上的所有流量 NAT 到 OpenVPN 服务器私有 IP。
- Azure 防火墙网络规则允许往返于 OpenVPN 服务器/子网的入站和出站流量。
- NAT 和网络规则限制从我的网络访问机器。
- 根据 OpenVPN 网站上的故障排除指南,应用程序规则允许对 asb.sts.openvpn.net 进行出站访问(网站要求“直接访问”此 FQDN)。
- 在防火墙和 VPN 子网之间实现双向路由。
- Azure 防火墙上启用了 DNS,DNS 指向 Google(8.8.8.8 和 8.8.4.4)。
- OpenVPN 服务器的超时设置为 5 分钟。
- OpenVPN 服务器使用 Twisted Web 服务器(Azure 中的 OpenVPN 解决方案附带)
故障模式:管理员登录页面https://xxxx:943/admin加载。有时网页包含完整的图像和正确的布局,有时则不然。没有模式规定哪些内容可以正确加载,哪些内容不能。我登录后,我的凭据被接受,然后我要么被重定向回登录页面,要么被重定向到 EULA 页面(我总是被迫同意 EULA)。我同意 EULA,有时我会被重定向到管理网页,有时我会被重定向回登录页面(各种内容未加载)。在那些罕见的情况下,我会被重定向到管理网页,当页面加载足够的控件供我执行功能时,单击控件会将我带回到登录页面,等等。
我尝试过的方法:重启 OpenVPN 服务器/虚拟机。在防火墙上添加和删除各种规则。检查 OpenVPN 服务器日志。没有明显错误。检查 Chrome 中的各个网页:
我正在尝试解决这个问题,同时建立/重建我的技能。我陷入困境。任何指示/后续步骤都将不胜感激。从侧面敲打一下以解开困境也不会有什么坏处。谢谢。
更新:我遇到了敌人,他就是我。我把问题缩小到了我的 NAT,但不确定发生了什么。从防火墙内部来看,OpenVPN 管理体验是名义上的。此外,如果我的 OpenVPN 服务器有一个单独的公共 IP,那么体验就如我所料。这是我正在做的事情,或者没有做的事情,NAT、防火墙网络规则或路由。这并没有真正缩小范围,但我可以确认问题不在于 OpenVPN 服务器。所以,我改变了这个问题的标题。