在一個客戶處安裝網關出口時,在內網的一臺 服務器(UGS5000防火牆)上開啓L2TP服務,而後在出口網關上映射udp5000端口,udp1701端口,udp4500端口windows
而後在外網使用windows系統進行L2TP撥號,一直提示撥號失敗,wireshark抓包發現客戶端在撥號時向服務器的udp500端口發起ISAKMP鏈接,對方服務器不迴應數據包,初步判斷是防火牆上的ACL策略引引導的,檢查ACL配置後未發現問題,經查閱說明書資料發現windows在進行l2tp撥號時默認使用證書撥號,導至l2tp撥號失敗,須要修改註冊表,以下:服務器
HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Services > Rasman > Parameters」。在該路徑下右側界面中,檢查是否存在名稱爲ProhibitIpSec、數據類型爲DWORD的鍵值。若是不存在,請單擊右鍵,選擇「新建 > DWORD值」,並將名稱命名爲ProhibitIpSec,若是此鍵值已經存在,選中該值,單擊右鍵,選擇「修改」,編輯DWORD值。在「數值數據」文本框中填寫1,單擊「肯定」。
從新啓動該PC,使修改生效。編輯器
重啓電腦後,再次進行撥號,成功,wireshark抓包分析,電腦在撥號後直接向UDP發送數據包,並無向服務器的UDP500端口發送ISAKMP數據報文,ide
注:該註冊表值說明以下spa
Windows2000/xp/2003的L2TP缺省啓動證書方式的IPSEC,所以必須向Windows添加 ProhibitIpSec 註冊表值,以防止建立用於 L2TP/IPSec 通訊的自動篩選器。
ProhibitIpSec 註冊表值設置爲 1 時,基於 Windows 2000 的計算機不會建立使用 CA 身份驗證的自動篩選器,而是檢查本地 IPSec 策略或 Active Directory IPSec 策略。
要向Windows添加 ProhibitIpSec 註冊表值,請按照下列步驟操做:
1. 單擊「開始」,單擊「運行」,鍵入 regedit,而後單擊「肯定」。
2. 找到下面的註冊表子項,而後單擊它:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
3. 在該項中新建一個「DWORD值」。
4. 將該值名稱修改成「ProhibitIpSec」。
5. 雙擊該值,將Value data修改成「1」, 而後單擊「肯定」。
6. 退出註冊表編輯器,而後從新啓動計算機。it