Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Phân giải DNS qua VPN không hoạt động trên Windows 10

Máy chủ DNS và hậu tố được định cấu hình cho kết nối VPN được sử dụng trong Windows 10 để phân giải tên bằng DNS trong Buộc đường hầm chế độ (“ Sử dụng cổng mặc định trên mạng từ xa Đã bật tùy chọn ”) nếu kết nối VPN của bạn đang hoạt động. Trong trường hợp này, bạn không thể phân giải tên DNS trong mạng cục bộ của mình hoặc có thể truy cập Internet bằng mạng LAN nội bộ của mình.

Đồng thời, bạn có thể ping bất kỳ tài nguyên nào trong mạng LAN của mình (thử ping cổng vào, máy tính lân cận hoặc địa chỉ IP máy in của bạn). Chúng chỉ có sẵn theo địa chỉ IP, nhưng không khả dụng bởi tên máy chủ của chúng. Thực tế là Windows 10 đang cố gắng phân giải tên máy chủ trong mạng cục bộ của bạn thông qua các máy chủ DNS được chỉ định trong cài đặt kết nối VPN.

Tôi đã tìm thấy một số khuyến nghị về cách tắt giao thức IPv6 cho giao diện cục bộ (LAN) của bạn và sẽ hữu ích nếu bạn muốn sử dụng chế độ Force-Tunneling.

Nếu bạn đang sử dụng Split Tunneling (“ Sử dụng cổng mặc định trên mạng từ xa ”Không được chọn) đối với kết nối VPN của bạn, bạn có thể truy cập Internet từ mạng cục bộ của mình, nhưng bạn không thể phân giải các địa chỉ DNS trong mạng VPN từ xa (tắt IPv6 không hữu ích ở đây).

Bạn phải hiểu rằng Windows sẽ gửi một truy vấn DNS từ giao diện mạng, giao diện này có mức ưu tiên cao nhất (giá trị thấp hơn của chỉ số giao diện). Ví dụ:kết nối VPN của bạn hoạt động ở chế độ Split Tunneling (bạn muốn truy cập Internet từ mạng LAN và các tài nguyên công ty của mình qua VPN).

Kiểm tra các giá trị của tất cả các chỉ số giao diện mạng từ PowerShell:

Get-NetIPInterface | Sort-Object Interfacemetric

Phân giải DNS qua VPN không hoạt động trên Windows 10

Ảnh chụp màn hình ở trên cho thấy kết nối Ethernet cục bộ có chỉ số thấp hơn (25) so với giao diện VPN (100). Vì vậy, lưu lượng DNS đi qua giao diện có giá trị số liệu thấp hơn. Nó có nghĩa là các yêu cầu DNS của bạn được gửi đến các máy chủ DNS cục bộ của bạn thay vì các máy chủ DNS cho kết nối VPN. Trong cấu hình này, bạn không thể phân giải các tên trong mạng VPN bên ngoài được kết nối.

Ngoài ra, một tính năng mới của máy khách DNS cho Windows 8.1 và Windows 10 cũng nên được đề cập ở đây. Độ phân giải tên nhiều ngôi nhà thông minh (SMHNR) đã được thêm vào trong các phiên bản hệ điều hành này để đáp ứng nhanh hơn các yêu cầu DNS. Theo mặc định, SMHNR gửi các yêu cầu DNS đồng thời đến tất cả các máy chủ DNS mà hệ thống đã biết và sử dụng phản hồi mà nó nhận được trước tiên (các truy vấn LLMNR và NetBT cũng được gửi). Nó không an toàn vì các máy chủ DNS bên ngoài (được chỉ định cho kết nối VPN của bạn) có khả năng nhìn thấy lưu lượng DNS của bạn (rò rỉ các yêu cầu DNS của bạn). Bạn có thể tắt SMHNR trong Windows 10 thông qua GPO:Cấu hình máy tính -> Mẫu quản trị -> Mạng -> Máy khách DNS-> Tắt tính năng phân giải tên nhiều tầng thông minh =Đã bật.

Phân giải DNS qua VPN không hoạt động trên Windows 10

Hoặc bạn có thể tắt SMHNR bằng các lệnh sau (trong Windows 8.1):

Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows NT\DNSClient" -Name DisableSmartNameResolution -Value 1 -Type DWord
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters" -Name DisableParallelAandAAAA -Value 1 -Type DWord

Trong Windows 10 Creators Update (1709) và mới hơn, từng yêu cầu DNS được gửi đến tất cả các máy chủ DNS đã biết (không song song). Bạn có thể tăng mức độ ưu tiên của một DNS cụ thể nếu bạn làm cho các chỉ số của nó thấp hơn.

Vì vậy, việc thay đổi chỉ số giao diện cho phép bạn gửi các yêu cầu DNS qua kết nối (LAN hoặc VPN) trong đó độ phân giải tên là ưu tiên nhất đối với bạn.

Do đó, giá trị của chỉ số giao diện càng thấp thì mức độ ưu tiên của kết nối càng cao. Windows tự động chỉ định số liệu của giao diện IPv4 tùy thuộc vào tốc độ và kiểu của chúng. Ví dụ:kết nối mạng LAN có tốc độ> 200 Mbit / s có giá trị chỉ số bằng 10 và kết nối Wi-Fi với tốc độ 50-80 Mbit / s có giá trị là 50 (xem bảng https:/ /support.microsoft.com/en-us/help/299540/an-explanation-of-the-automatic-metric-feature-for-ipv4-routes).

Bạn có thể thay đổi số liệu giao diện từ Windows GUI, PowerShell hoặc sử dụng netsh lệnh.

Ví dụ:bạn muốn các yêu cầu DNS được gửi qua kết nối VPN. Bạn phải tăng số liệu của các kết nối LAN của mình để giá trị của chúng vượt quá 100 (trong ví dụ của tôi).

Đi tới Bảng điều khiển -> Mạng &Internet -> Kết nối mạng , mở thuộc tính của kết nối Ethernet của bạn, chọn thuộc tính TCP / IPv4 và đi tới Cài đặt TCP / IP nâng cao chuyển hướng. Bỏ chọn Số liệu tự động và thay đổi số liệu giao diện thành 120 .

Phân giải DNS qua VPN không hoạt động trên Windows 10

Bạn có thể thực hiện tương tự bằng cách sử dụng lệnh PowerShell sau (sử dụng chỉ mục của giao diện mạng LAN mà bạn có thể nhận được với lệnh ghép ngắn Get-NetIPInterface):

Set-NetIPInterface -InterfaceIndex 11 -InterfaceMetric 120

Hoặc sử dụng netsh (chỉ định tên kết nối mạng LAN của bạn):

netsh int ip set interface interface="Ethernet0" metric=120

Theo cách tương tự, bạn có thể giảm giá trị số liệu trong các thuộc tính của kết nối VPN của mình.

Phân giải DNS qua VPN không hoạt động trên Windows 10

Ngoài ra, bạn có thể thay đổi cài đặt của kết nối VPN của mình bằng cách thay đổi chế độ thành Split Tunneling và chỉ định hậu tố DNS cho kết nối bằng PowerShell:

Get-VpnConnection
Set-VpnConnection -Name "VPN_work" -SplitTunneling $True
Set-VpnConnection -Name "VPN_work" -DnsSuffix yourdomainname.com