Networking

Azure 中的網路。Azure 中的 Openswan 啟動但不會路由數據包

  • June 22, 2017

我已經在 azure 192.168.0.5 上使用 ubuntu 14.04 和 openswan 設置了一個 VPN。我在同一子網 192.168.0.6 中的 openswan 後面有另一個盒子 ubuntuapp(僅限 azure 上的加密域)。右側的加密域為 172.31.20.10 和 172.31.20.12。

雖然我可以從 192.168.0.6 azure 端連接到 8080 上的所有 172.31.. 加密域。但我無法連接 172.31。即使 172.31.20.10 和 172.31.20.12 都打開了 TCP 80 埠,網路連接到 192.168.0.6:80。

192.168.0.6 --> 172.31.20.10:8080 [yes]
192.168.0.6 --> 172.31.20.12:8080 [yes]

連接到 Azure

172.31.20.10 --> 192.168.0.6:80 [no]
172.31.20.12 --> 192.168.0.6:80 [no]

由於預設規則,我知道預設情況下保存 vnet 上的框可以相互訪問。ubuntuapp 和 openswan 之間是否應該有特定的規則,反之亦然?如果是,請賜教。

編輯

通過一些小 tcpdump 搜尋,我發現 openswan 盒子似乎不知道將數據包發送到哪裡

14:52:27.623074 IP 192.168.0.5.65000 > 192.168.0.6.65001: Flags [R], seq 0, win 0, length 0
14:52:27.623142 IP 192.168.0.5.65000 > 192.168.0.6.65001: Flags [R], seq 0, win 0, length 0
14:52:32.629621 ARP, Request who-has 192.168.0.6 tell 192.168.0.5, length 28
14:53:36.683792 IP 192.168.0.5.65000 > 192.168.0.6.65001: Flags [R], seq 0, win 0, length 0
14:53:36.683865 IP 192.168.0.5.65000 > 192.168.0.6.65001: Flags [R], seq 0, win 0, length 0

但是從 192.168.0.5 到 192.168.0.6 的 ping 或 telnet 工作正常。

提前致謝

唯一缺少的是 vyos vpn 配置上的 nat 遍歷

set vpn ipsec nat-traversal enable

這已添加到配置中,現在一切正常。

據我所知,除了 IP 轉發和 UDR 之外,您一切正常。以下文章將幫助您進行配置和一般理解。

使用 PowerShell 創建使用者定義的路由 (UDR)

https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-udr-arm-ps

啟用 IP 轉發後,您必須明確告訴 Azure 下一跳是什麼,否則,它將嘗試使用 Azure 標準網路網關到達所需位置。

我相信您的虛擬 VPN 設備必須位於另一個子網中才能使其正常工作。

引用自:https://serverfault.com/questions/857064