เพิ่มเส้นทางคงที่โดยอัตโนมัติหลังจากเชื่อมต่อกับ VPN
ในรุ่นล่าสุดของ Windows 10 คุณสามารถเพิ่มเส้นทางคงที่โดยอัตโนมัติเมื่อสร้างการเชื่อมต่อ VPN เมื่อการเชื่อมต่อ VPN สิ้นสุดลง เส้นทางจะถูกลบออกจากตารางเส้นทางของ Windows โดยอัตโนมัติ ในการเพิ่มเส้นทาง IPv4 หรือ IPv6 สำหรับการเชื่อมต่อ VPN จะใช้ PowerShell cmdlet Add-VpnConnectionRoute
แน่นอน คุณสามารถเพิ่มเส้นทางสำหรับการเชื่อมต่อ VPN ด้วยตนเองผ่านทางพรอมต์คำสั่ง แต่เส้นทางเหล่านั้นจะถูกล้างหลังจากยกเลิกการเชื่อมต่อจาก VPN ดังนั้นครั้งต่อไปที่คุณเชื่อมต่อกับ VPN คุณจะต้องเพิ่มเส้นทางด้วยตนเองอีกครั้ง
สมมติว่าคุณต้องการทราฟฟิกเฉพาะสองเครือข่ายย่อย (
192.168.11.0/24และ
10.1.0.0/16) เพื่อกำหนดเส้นทางผ่านการเชื่อมต่อ VPN ของคุณ และการรับส่งข้อมูลอื่นๆ ผ่านผู้ให้บริการของคุณ (ISP)
เปิดคอนโซล PowerShell และแสดงรายการการเชื่อมต่อ VPN ที่กำหนดค่าใน Windows:
Get-VpnConnectionก่อนอื่น ให้ยกเลิกการเลือกตัวเลือก ใช้เกตเวย์เริ่มต้นในเครือข่ายระยะไกล คุณสามารถทำได้ในคุณสมบัติการเชื่อมต่อ VPN ในแผงควบคุมหรือใช้คำสั่ง PowerShell Set-VpnConnection:
Set-VpnConnection -Name workVPN -SplitTunneling $Trueเรียนรู้เพิ่มเติมเกี่ยวกับ SplitTunneling ในบทความ ไม่มีการเชื่อมต่ออินเทอร์เน็ตหลังจากเชื่อมต่อกับ VPN
มาเพิ่มเส้นทางคงที่สองเส้นทางสำหรับการเชื่อมต่อ VPN ของเรา:
Add-VpnConnectionRoute -ConnectionName workVPN -DestinationPrefix 192.168.11.0/24 -PassThru
Add-VpnConnectionRoute -ConnectionName workVPN -DestinationPrefix 10.1.0.0/16 -PassThruในตัวเลือก DestinationPrefix ให้ระบุเครือข่ายย่อยหรือที่อยู่ IP ของโฮสต์ที่คุณต้องการกำหนดเส้นทางการรับส่งข้อมูลผ่าน VPN หากต้องการเพิ่มโฮสต์เดียวตามที่อยู่ IP ให้ใช้รูปแบบต่อไปนี้:
10.1.1.26/32DestinationPrefix : 192.168.11.0/24
InterfaceIndex :
InterfaceAlias : workVPN
AddressFamily : IPv4
NextHop : 0.0.0.0
Publish : 0
RouteMetric : 1หากการเชื่อมต่อ VPN ของคุณทำงานอยู่ คุณจะต้องเชื่อมต่อใหม่เพื่อให้เส้นทางใหม่ถูกเพิ่มไปยังตารางเส้นทาง
เส้นทางใหม่เชื่อมโยงกับการเชื่อมต่อ VPN และจะเพิ่มเมื่อสร้างการเชื่อมต่อแล้วเท่านั้น เมื่อคุณยกเลิกการเชื่อมต่อจากเซิร์ฟเวอร์ VPN เส้นทางจะถูกลบออกโดยอัตโนมัติ
ตัดการเชื่อมต่อจาก VPN และตรวจสอบตารางเส้นทาง เส้นทางไปยังเครือข่ายระยะไกลของคุณถูกลบออกโดยอัตโนมัติ และ
Get-NetRouteส่งคืนว่าไม่พบเส้นทาง:
Get-NetRoute : No MSFT_NetRoute objects found with property 'DestinationPrefix' equal to '192.168.11.0/24'. Verify the value of the property and retry. CmdletizationQuery_NotFound_DestinationPrefix,Get-NetRouteหากต้องการลบเส้นทางคงที่สำหรับการเชื่อมต่อ VPN ให้ใช้คำสั่ง:
Remove-VpnConnectionRoute -ConnectionName workVPN -DestinationPrefix 192.168.111.0/24 -PassThruหากคุณต้องการเปลี่ยนลำดับของการจำแนกชื่อ DNS ด้วยการเชื่อมต่อ VPN ที่ใช้งาน โปรดอ่านบทความนี้
ใน Windows รุ่นก่อนหน้า (Windows 7/ Windows Server 2008R2) หากต้องการเพิ่มเส้นทางแบบไดนามิกหลังจากสร้างการเชื่อมต่อ VPN คุณจะต้องใช้ CMAK และสคริปต์ต่างๆ พร้อมคำสั่งเพิ่มเส้นทาง
ตัวอย่างเช่น คุณสามารถสร้างแบตช์ไฟล์ vpn_route.netsh เพื่อเพิ่มเส้นทางแบบคงที่
interface ipv4
add route prefix=192.168.11.24 interface="workVPN" store=active
add route prefix=10.1.0.0/16 interface="workVPN" store=active
exitคุณสามารถเรียกใช้ไฟล์นี้โดยใช้ Task Scheduler ที่ทริกเกอร์หลังจากสร้างการเชื่อมต่อ VPN แล้ว (เหตุการณ์ RasMan 20225 ใน Event Viewer)
schtasks /create /F /TN "Add VPN routes" /TR "netsh -f C:\PS\vpn_route.netsh" /SC ONEVENT /EC Application /RL HIGHEST /MO "*[System[(Level=4 or Level=0) and (EventID=20225)]] and *[EventData[Data='My VPN']]"



