如何通過 SonicWALL L2TP VPN 連接訪問 LAN PC (Windows)
我們有多個 LAN 設備通過物理有線網路連接到子網 192.168.2.0/24 上的 SonicWALL TZ210。其中一些設備分配有 192.168.2.100 到 192.168.2.199 範圍內的 DHCP 地址,其中一些設備的靜態地址低於 192.168.2.100 或高於 192.168.2.240。
在 SonicWALL 上,我已啟用 VPN 並將 L2TP 伺服器配置為使用 192.168.2.201 到 192.168.2.220 作為本地 L2TP 池。
我可以建立到 SonicWALL 的 VPN 連接,並且正如預期的那樣,我在 L2TP 池範圍內獲得了一個 IP 地址。從 VPN 設備(iPhone,但我不認為這很重要)我可以 ping 區域網路上的其他設備,但不能 ping Windows 設備 - ping MacOSX、Ubuntu、SonicWALL 都可以正常工作(靜態和 DHCP 地址),但不是視窗。Windows 機器可以 ping 任何設備,除了 VPN 連接的設備。所有其他設備組合都可以成功相互 ping - 唯一的失敗是 Windows<–>VPN。
從一些研究來看,問題似乎與 Windows 上的路由有關。LAN 的路由條目顯示如下:
Network Destination Netmask Gateway Interface 192.168.2.0 255.255.255.0 On-link 192.168.2.173
(這是針對Win7 PC;Win XP類似,但Gateway被列為本地IP地址,與Interface相同。)
此“連結上”表示發往 LAN 的所有流量都通過本地 NIC 發送,而不是通過 SonicWALL 預設網關。如果我更改路由以使用 SonicWALL 作為網關,我可以按預期成功 ping Windows<–>VPN:
route change 192.168.2.0 mask 255.255.255.0 192.168.2.254
因此,儘管我有一個解決方法,但繞過每台 Windows PC 並強制它通過 SonicWALL 發送所有 LAN 流量並不是很實際(或可取的)。還有其他解決方案嗎?
- 當我 ping VPN 設備時,無論 OSX 和 Ubuntu 在做什麼,它們都在設法通過 SonicWALL 正確路由。如果在物理 LAN 上找不到目標 IP,OSX/Ubuntu 是否總是這樣做,或者它們是否聰明?可以讓 Windows 做同樣的事情嗎?
- 是否可以讓 SonicWALL 響應物理 LAN 上的 L2TP 池地址?
- 還有什麼?
就我而言,Windows 客戶端工作正常。到本地網路的路由是連接到該網路的介面,該介面在該網路中具有 IP 地址。當與連接到同一網路的另一台主機通信時,Windows 客戶端將針對目標 IP 地址的 MAC 地址進行 ARP。由於 VPN 客戶端 IP 地址在同一個網路中,Windows 客戶端將 VPN 地址視為本地地址,並將 ARP 視為 MAC 地址,因此沒有得到任何回复。我看到了兩種解決方案:
- 將 VPN 客戶端 DHCP 池配置為位於另一個網路 (192.168.3.0/24) 上,並讓 Sonicwall 處理 LAN 和 VPN 網路之間的路由流量。
- 弄清楚如何配置 Sonicwall 為 VPN 客戶端執行代理 ARP,以便當 Sonicwall 代表 VPN 客戶端回复 VPN 客戶端 IP 地址的 Windows 7 客戶端 ARP 時,Windows 7 客戶端然後將流量傳遞到 Sonicwall ,然後將流量路由到 VPN 客戶端。