多跳路由
我正在嘗試從 tx.py 程序進行通信,以將數據包 (UDP) 向下發送到圖中所示的設備 1 和設備 2。目前,我們的 2 個虛擬機上執行 OpenVPN 客戶端,如果我在這些虛擬機上執行 tx.py,我可以與連接到該 vpn 隧道的每個設備進行良好通信(因此我可以從 vm2 訪問設備 1,但不能訪問設備 2) .
我希望能夠從 vm1 進行路由,以便可以從該中心位置發送到設備 1 或設備 2。我嘗試在 vm1 上添加一條路由到設備 1(通過 VM 2),
route add -net 100.64.226.0 netmask 255.255.255.0 gw 10.2.6.20 dev eth0
但仍然無法在設備 1 上接收數據包。還嘗試為 vm1 和 vm2 切換 ip 轉發,但這並沒有解決它。這樣做的方法是什麼?
請注意,我不需要從設備與 vm1 進行備份通信。
注意:我不控制 openVPN 伺服器,也不能在那裡更改配置。
您需要使用連接到 10.2.6.0 子網的路由表來設置使用者定義的路由,以便 Azure 知道通過 10.2.6.20 路由到 10.64.226.0 以及設備 2 的類似路由。您仍然需要確保路由(IP 轉發) 功能在 Azure 網路適配器、作業系統網路適配器和作業系統路由表(雙向)中啟用。
https://docs.microsoft.com/en-us/azure/virtual-network/manage-route-table
Azure 自動在 Azure 子網、虛擬網路和本地網路之間路由流量。如果要更改 Azure 的任何預設路由,可以通過創建路由表來實現。
https://petri.com/implementing-azure-user-defined-routing
如果你使用 Azure 網關進行 VPN 連接,則本地網路設置將為你的子網提供通往本地網路的路由。但是,當您在虛擬機(即虛擬設備)中部署自己的 VPN 解決方案時,預設情況下沒有任何內容可以告訴 Azure 如何將子網流量路由到本地網路。
網上有很多範例,主要與下一代防火牆(即強制 Azure 路由通過您的防火牆設備)和 Hyper-V(即設置 Azure 以通過虛擬 Hyper-V 主機路由到內部 Hyper-V 網路)有關。