我在Azure中有一个小型networking,需要授予访问权限。 因为我办公室里的大多数人使用Macbook,微软的VPN网关不能工作。
为了启用VPN连接,我创build了一个运行pfSense映像的虚拟机。
我可以连接到该虚拟机公开的Web服务器,并configurationpfSense OpenVPN服务器。
但是,我无法连接到OpenVPN服务器来build立连接。 在Open VPN连接屏幕中,我得到以下内容:
Wed Aug 31 15:49:00 2016 TCP: connect to [AF_INET]nnn.nnn.nnn.nnn:1194 failed, will try again in 5 seconds: Connection timed out (WSAETIMEDOUT)
我有:
USER COMMAND PID FD PROTO LOCAL ADDRESS FOREIGN ADDRESS root openvpn 3403 6 tcp4 *:1194 *:* root nginx 23708 6 tcp4 *:443 *:* root nginx 23708 8 tcp4 *:80 *:* root sshd 13231 5 tcp4 *:22 *:* 我相信我的虚拟networking设置中的某些function在1194上阻塞了stream量,但是我不确定要检查的其他位置。
请尝试本地连接到TCP 1194。 这个testing将会避免防火墙的影响。
如果连接失败,则表示服务器端有问题。
如果连接成功,为了缩小这个问题的范围,我build议你在服务器上执行networking捕获,以检查来自客户端的连接是否已经到达服务器的networking适配器。
如果适配器从客户端接收到数据包,则意味着服务器上的某些内容会阻止连接。 最常见的原因是错误configuration的防火墙。 (Iptables的)
如果适配器没有收到数据包,那么你应该仔细检查NSG。 或者尝试重新创build它们。 如果问题仍然存在,并且您确定NSG入站规则。 然后,您可能需要打开具有Azure支持的票证,以便他们能够在主机级别上执行networking捕获,以查明丢弃数据包的情况。
问题是pfSense上的数据包filter拒绝连接。 有一件我忘记提到的是,我们正在TCP上运行OpenVPN(以镜像不同的pfSense框的configuration)。
当您将OpenVPNconfiguration为通过TCP连接时,它不会更新允许1194上的通信的pfSense防火墙规则。该规则设置为UDP。 更改规则以允许TCP清除问题。
有用的信息
从文档中不是非常明显的一件事是,当您从官方图像创buildpfsense框时,它会自动创build一个“pipe理员”用户。 该用户将使用与创build实例时为用户提供的相同的密码/公用密钥进行设置。
有了这些信息,你可以ssh到框,并获得一个很好的小控制台菜单,允许root访问。
从该根控制台,您可以打开和closures数据包filter:
pfctl -d <disables> pfctl -e <enables>
暂时禁用数据包filter允许我排除Azure的所有事情作为我的麻烦的来源。