Đặt máy chủ DNS bằng tệp cấu hình máy khách OpenVPN


16

Làm cách nào tôi có thể đặt máy chủ DNS trên máy khách chỉ bằng cấu hình máy khách. Máy khách của tôi là một máy Windows và tôi muốn thay đổi máy chủ DNS khi máy khách kết nối và trở lại cấu hình ban đầu khi tôi ngắt kết nối với VPN.

Tất cả thông tin tôi tìm thấy cho đến nay đều đề cập đến việc đẩy cấu hình DNS cho máy khách bằng cách sử dụng cấu hình của máy chủ nhưng trong trường hợp này tôi không thể thay đổi cấu hình máy chủ và hiện đang thực hiện thủ công mỗi khi tôi kết nối với VPN. Tùy chọn cấu hình openvpn để đặt máy chủ DNS của máy cục bộ trong thời gian kết nối sẽ rất tuyệt.

Câu trả lời:


3

Bạn có thể sử dụng tập lệnh bó để làm điều này, đại loại như sau. Nó giả sử các máy chủ DNS gia đình của bạn là 1.1.1.1 và 2.2.2.2 và các máy chủ DNS VPN của bạn là 8.8.8.8 9.9.9.9:

vpn-connect.bat:

netsh interface ip set dns "Local Area Connection" static 8.8.8.8

netsh interface ip add dns "Local Area Connection" 9.9.9.9

vpn-disconnect.bat

netsh interface ip set dns "Local Area Connection" static 1.1.1.1

netsh interface ip add dns "Local Area Connection" 2.2.2.2

Tôi sẽ đưa vào các kịch bản phương thức kết nối và ngắt kết nối này, tuy nhiên tôi không thấy tùy chọn nào trong OpenVPN để ngắt kết nối thông qua dòng lệnh. Nếu bạn muốn tự động hóa kết nối, điều này sẽ hoạt động:

C:\Program Files\bin\openvpn.exe C:\Program Files\conf\client.ovpn


15

Bạn có thể thêm các mục sau vào tệp cấu hình máy khách.

dhcp-option DNS <dns_server_ip_address>

Về phía máy chủ, nó sẽ là:

push "dhcp-option DNS <dns_server_ip_address>"

Có vẻ như nó được sử dụng dhcp-optionở cả hai bên. Bạn có thể làm tương tự với route.


4
Điều này đã không làm việc cho tôi mặc dù có vẻ như nó nên. Tùy chọn không có trong client.ovpn được tạo. Khi tôi thêm nó, nó vẫn không hoạt động. Chạy từ Asus RT-N66U với firmware stock 3.0.0.4.376_3861
Arnshea

2
Tôi đã thêm tệp này vào tệp .ovpn của mình ngay trước thẻ <ca> và nó hoạt động rất tuyệt vời! Cảm ơn bạn! Tôi đã thử nghiệm điều này trên máy tính windows của mình với OpenVPN 2.4.4 Windows phiên bản 6.2
Michael Kargl

6

Rõ ràng có vấn đề với một trật tự ràng buộc bị lỗi trong Windows, ít nhất là bao gồm cả Windows 2000 / XP / 7. Điều này sẽ khiến các máy khách Windows OpenVPN sử dụng cài đặt DNS của bộ điều hợp mạng mặc định thay vì cài đặt của bộ điều hợp VPN.

Để khắc phục điều này, bạn cần đặt thiết bị VPN TUN hoặc TAP của bạn lên trên bộ điều hợp mạng cục bộ theo thứ tự liên kết:

  1. Xác định thiết bị VPN của bạn bằng cách nhìn vào đầu ra từ ipconfig. Đối với tôi đây là "Kết nối khu vực địa phương 2". Ghi nhớ địa chỉ IP của bạn cho bộ chuyển đổi này.
  2. Mở regedit.exe và tìm khóa HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfacesphù hợp với địa chỉ IP của bộ điều hợp VPN của bạn. Hãy nhớ GUID cho bộ chuyển đổi này.
  3. Đi đến HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkagevà nhấp đúp chuột vào Bind. Điều này sẽ chứa một danh sách GUID cho các bộ điều hợp. Cắt và dán dòng tương ứng với GUID của thiết bị VPN của bạn vào đầu danh sách và lưu danh sách.

Điều này sẽ khiến các mục DNS cho thiết bị VPN của bạn được sử dụng (và chỉ khi kết nối VPN được kích hoạt). Bạn có thể đặt chúng theo câu trả lời của @brunoqc. Trong khi bạn đang ở đó, có lẽ bạn cũng nên thêm tùy chọn openvpn block-outside-dns, để đảm bảo rằng các truy vấn DNS không bị rò rỉ.

Câu trả lời này dựa trên bài viết blog rất hữu ích này .


Điều đó đã làm việc khá tốt! Cảm ơn ngài đã viết hướng dẫn này
SeriousM

3

Ngoài một trong hai điều dưới đây:

dhcp-option DNS <dns_server_ip_address>          (add to client config)

hoặc là

push "dhcp-option DNS <dns_server_ip_address>"   (add to server config)

Thêm những thứ này vào cấu hình máy khách, để buộc Windows sử dụng DNS được cấu hình:

register-dns
block-outside-dns

Thứ nhất buộc Windows thích máy chủ DNS được cấu hình hơn bất kỳ máy chủ nào khác mà nó có thể đã nhận được từ DHCP. Thứ 2 ngăn chặn rò rỉ DNS đến bất kỳ máy chủ DNS nào ngoài máy chủ được cấu hình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.