Openvpn client, buộc máy chủ DNS


9

Cấu hình Linux Ubuntu của chúng tôi có máy chủ DNS (Bind 9).
resolv.conf

  nameserver 127.0.0.1

Khi sử dụng openvpnmáy khách trên Linux đó, máy chủ tên không bị thay đổi (bởi máy chủ VPN) nhưng tôi muốn đặt nó - chỉ trong phiên VPN - sang một máy chủ DNS cụ thể khác x.y.z.t, bằng cách thay đổi cấu hình máy khách openvpn.

Sau đó, khi openvpnphiên kết thúc, máy chủ tên sẽ quay trở lại 127.0.0.1.

Có cách nào "sạch" (tức là một dòng trong tệp cấu hình máy khách openvpn) để làm điều đó không?

(Lưu ý: Không thể thay đổi cấu hình máy chủ VPN)

Câu trả lời:


17

Sau khi googling nhiều hơn, có thể tìm thấy câu trả lời - dưới đây nếu nó có thể giúp đỡ ai đó.

  • cài đặt độ phân giải có thể lưu và khôi phục resolv.conftập tin cấu hình
  • thêm một tập lệnh được chạy bởi openvpn , in /usr/share/openvpn, có tên update-resolv-conf. Kịch bản xác định cái gì sẽ là cái mới resolv.confvà cách khôi phục nó (xem liên kết bên dưới)
  • thêm vào

những dòng này

  script-security 2
  up /usr/share/openvpn/update-resolv-conf
  down /usr/share/openvpn/update-resolv-conf

trong tập tin cấu hình máy khách openvpn.

Đọc trên wiki này để biết thêm thông tin.


5
Các bản cài đặt mới hơn của OpenVPN bao gồm tập lệnh này với phần cài đặt. Thay vì tải xuống và cài đặt thủ công tại /usr/share/openvpn/update-resolv-conf, bạn có thể tìm thấy nó được cài đặt sẵn tại /etc/openvpn/update-resolv-conf.
Nate Lampton

Phiên bản OpenVPN nào đã bắt đầu bao gồm tệp này?
lanoxx

1
Đến bữa tiệc muộn một chút nhưng tôi đang sử dụng 2.4.6và nó đã được cài đặt cho tôi
Roshan Bhumbra

1

Cân nhắc sử dụng route-up/ route-downscript trên máy khách của bạn để thay đổi cấu hình của bạn khi thiết lập kết nối khi bạn thấy phù hợp. Xem tài liệu OpenVPN để biết chi tiết về cách thiết lập điều này và biến nào bạn có thể sử dụng trong các tập lệnh này.


+1, thú vị và hữu ích. Tuy nhiên, giải pháp độ phân giải thông qua lênxuống (trên hoặc dưới dep trên xếp hạng ..) tuy nhiên nhiều hơn, và, imo, sạch hơn.
Đổ chuông

@ ring0 Tôi sẽ khuyên bạn nên sử dụng route-upthay vì upđể giảm thiểu điều kiện cuộc đua. Khi uptập lệnh được thực thi, kết nối chưa được thiết lập và bạn không có cơ hội truy vấn trình giải quyết từ xa mà bạn đang đặt. Nếu bạn khởi động ứng dụng khách OpenVPN trong tình huống thiết lập kết nối không hoàn thành, bạn sẽ đặt bộ giải quyết của mình vào trạng thái không có chức năng trong một khoảng thời gian dài. Xem phần "Lệnh thực thi tập lệnh" trong trang man OpenVPN để biết chi tiết.
the-wợi

Tôi đã thực hiện một vài thử nghiệm và kịch bản lên được gọi đúng khi đạt đến "Trình tự khởi tạo hoàn thành", không phải trước đó. Btw không thể tìm thấy "tuyến đường xuống" trong người đàn ông.
Đổ chuông

1

Đây là thông tin hữu ích để giúp tôi khắc phục vấn đề này.

Tôi là người dùng linux arch và điều tôi thấy là khi máy khách Linux được sử dụng với Access Server, ứng dụng này không thể thay đổi cài đặt DNS trên máy khách được đề cập không giải quyết máy chủ vì nó đứng trên Tài liệu VPN OPEN

Tôi đã tạo một tập lệnh khắc phục sự cố và với một vài tham số bổ sung xử lý các kết nối openvpn thông qua dòng lệnh.

https://gist.github.com/android10/ee5c3e93dbcf9b7b31e6ee768cbfd477

Đây là lệnh chính đang được thực thi cho kết nối:

  nohup openvpn --config $OVPN_FILE_PATH --askpass $OVPN_PRIVATE_KEY_FILE_PATH \
  --script-security 2 \
  --setenv PATH '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' \
  --up /etc/openvpn/scripts/update-systemd-resolved \
  --down /etc/openvpn/scripts/update-systemd-resolved \
  --down-pre \
  &>/dev/null &

Bất kỳ thông tin phản hồi là nhiều hơn đánh giá cao nó.


-2

echo "nameerver = wxyz"> /etc/resolv.conf
echo "nameerver = 127.0.0.1" >> /etc/resolv.conf


2
Điều đó có vẻ không chính xác (nghĩ về đường dẫn tìm kiếm DNS và sự bền bỉ của máy chủ tên VPN), nhưng cũng không rõ bạn muốn anh ta đặt nó ở đâu.
Falcon Momot

Cần có một khoảng cách giữa 'máy chủ tên' và IP.
lorenzog
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.