Vpn

如何通過 SonicWALL L2TP VPN 連接訪問 LAN PC (Windows)

  • October 18, 2011

我們有多個 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 地址,因此沒有得到任何回复。我看到了兩種解決方案:

  1. 將 VPN 客戶端 DHCP 池配置為位於另一個網路 (192.168.3.0/24) 上,並讓 Sonicwall 處理 LAN 和 VPN 網路之間的路由流量。
  2. 弄清楚如何配置 Sonicwall 為 VPN 客戶端執行代理 ARP,以便當 Sonicwall 代表 VPN 客戶端回复 VPN 客戶端 IP 地址的 Windows 7 客戶端 ARP 時,Windows 7 客戶端然後將流量傳遞到 Sonicwall ,然後將流量路由到 VPN 客戶端。

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