我在Azure中设置了一个最小环境,其中一个实例(Linux)位于私有子网中,一个虚拟网络网关通过IPSec连接。我按照Azure docs中的指示进行操作,我的设置应该与示例中的设置相同。
我在Terraform中做了所有这些,我使用strongSwan作为VPN客户端连接到网关。我可以通过strongSwan建立VPN连接,没有任何问题。我在FrontEnd子网中创建了我的测试实例。为了通过SSH访问我的机器,我添加了另一个NSG规则以允许在端口22上访问。到目前为止一切正常。
我的问题是,我无法从这台机器访问互联网。
到目前为止我检查了什么:
我错过了什么吗?
编辑:我忘了提到实例的NIC只有一个私有IP。
您可能无法从该Azure VM正确验证Internet连接。我有与这个question相同的场景。您可以尝试通过Azure计算机上的ping bing.com
进行验证。似乎某些网站无法ping通,但是,您可以通过Web浏览器或curl直接访问这些网站以从互联网下载内容。
我在Windows本地桌面上设置了一个P2S VPN连接,其中一个Azure VNet具有GatewaySubnet和VMsubnet。 VMsubnet中有一个Windows VM和一个ubuntu VM。两个VM都没有实例级公共IP。
通常,Azure VM在同一子网中本地具有系统默认网关。此网关有助于路由来自主网络接口的所有出站流量。如果设置了VPN网关,Azure将自动生成到P2S内部部署子网的路由。默认情况下,0.0.0.0/0
中还有一个默认路由effective routes到Internet。
我可以在网络浏览器中访问google.com
和bing.com
但不能直接ping google.com
,可以在Windows VM上ping bing.com
。
在同样的情况下,我也不能直接ping google.com
,但可以在Linux VM上ping bing.com
或curl www.google.com
。
希望这有帮助,如果您有任何疑问,请告诉我。