Cách tự động tìm nạp máy chủ tên mới trên kết nối VPN


11

Tôi đang chạy Ubuntu xenial 16.04

Chúng tôi đang sử dụng openvpn để kết nối với đám mây riêng ảo. Đám mây đó có máy chủ DNS riêng (cũng như tuyến địa phương của chúng tôi - nhà hoặc văn phòng).

Khi tôi kết nối với VPN, tất cả các IP trong mạng đó đều khả dụng nhưng tôi không thể truy cập bất kỳ tên nào bằng tên máy chủ. Lý do rất đơn giản: tệp giải quyếtvv vẫn hiển thị máy chủ tên văn phòng địa phương của tôi. Nếu tôi tự ghi đè lên độ phân giải để có máy chủ tên chính xác thì tất cả đều tốt.

Vì vậy, làm cách nào tôi có thể khiến nó tự động cấu hình lại độ phân giải khi kết nối với VPN?

Tôi có thể tham gia vào một sự kiện hệ thống và thực thi một tập lệnh không?


1
Thông thường, có một tùy chọn cho phép VPN đẩy máy chủ DNS của chính nó. Bạn đang sử dụng ứng dụng khách nào trong đường hầm?
Ryder

Tôi đang sử dụng máy khách openvpn chính thức. Ở đâu đó tôi đọc được rằng quy trình VPN không thể cập nhật DNS.
Christian Bongiorno

Bạn đã thử --register-dnstùy chọn? Ngoài ra, có các tùy chọn phía máy khách mà bạn có thể đặt, như các tùy chọn dhcp (mặt trái của hướng dẫn ở đây openvpn.net/index.php/open-source/documentation/howto.html#dhcp )
Ryder

Câu trả lời:


8

Gói OpenVPN có một kịch bản cho việc này /etc/openvpn/update-resolv-conf. Bạn cần cấu hình nó với:

script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

Điều này sẽ tìm nạp các địa chỉ máy chủ DNS từ các dhcp-option DNStùy chọn được truyền bởi máy chủ / máy chủ OpenVPN và cấu hình resolvconftương ứng. Nó xử lý dhcp-option DOMAINlà tốt.

Tuy nhiên, nó không hoàn hảo, vì điều này sẽ đưa các máy chủ tên đó vào danh sách các máy chủ tên hiện có thay vì ghi đè lên danh sách các máy chủ tên. Nếu bạn đang sử dụng openresolv, -xcó thể được sử dụng để ghi đè lên cấu hình DNS thay vì trả trước nó.


Nếu bạn đang sử dụng systemd-resolved, bạn có thể sử dụng /etc/openvpn/update-systemd-resolvedmóc nối systemd-revolvedthay thế resolvconf.

script-security 2 
up /etc/openvpn/update-systemd-resolved
down /etc/openvpn/update-systemd-resolved
down-pre

Trên Debian, tập lệnh này nằm trong openvpn-systemd-resolved.


2
ở trên 2 dòng này, bạn cũng sẽ cần thêm script-security 2hoặc chạy openvpnvới--script-security 2
32r34wgf3e

0

Đây là giải pháp tôi đã đưa ra: Có một công tắc cho phép bạn chạy một kịch bản khi đường hầm hoạt động. Tôi sử dụng công tắc để ghi đè lên tập tin giải quyếtvvv với một cái tôi biết là chính xác. Đó là một hack hoàn toàn, tôi biết.

sudo openvpn --up reset-dns.sh --client client.ovpn

tập lệnh (reset-dns):

#!/bin/bash
cp ~/resolv.conf /etc/resolv.conf

Ngoài ra, đối với những người nói "OMG! Bạn đang chạy đường hầm đó với quyền root!" Nó sẽ không chạy theo bất kỳ cách nào khác; ngay cả trước khi hack DNS của tôi.

Tôi chắc chắn mở cho một cách tốt hơn. Trình quản lý mạng cho Ubuntu đơn giản là không hoạt động. Tôi đã cắt giảm vé cho Ubuntu trên này nhiều lần

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.