Korzystam z Ubuntu Xenial 16.04
Używamy openvpn do łączenia się z wirtualną chmurą prywatną. Ta chmura ma swój własny serwer DNS (podobnie jak nasza lokalna trasa - do domu lub biura).
Kiedy łączę się z VPN, wszystkie adresy IP w tej sieci są dostępne, ale nie mogę dotrzeć do żadnej nazwy hosta. Powód jest prosty: plik resolv.conf nadal pokazuje mój serwer nazw lokalnego biura. Jeśli ręcznie zastąpię plik resolv.conf, aby mieć prawidłowy serwer nazw, wszystko jest w porządku.
Jak mogę go automatycznie skonfigurować ponownie resolv.conf po połączeniu z VPN?
Czy mogę podłączyć się do zdarzenia systemowego i wykonać skrypt?
--register-dns
opcję? Alternatywnie istnieją opcje po stronie klienta, które można ustawić jako opcje dhcp (druga strona instrukcji tutaj openvpn.net/index.php/open-source/documentation/howto.html#dhcp )Odpowiedzi:
Pakiet OpenVPN ma w tym celu skrypt
/etc/openvpn/update-resolv-conf
. Musisz skonfigurować go za pomocą:Spowoduje to pobranie adresów serwera DNS z
dhcp-option DNS
opcji przekazanych przez peer / serwer OpenVPN iresolvconf
odpowiednie skonfigurowanie . Obsługujedhcp-option DOMAIN
również.Nie jest to jednak idealne, ponieważ spowoduje to zastąpienie tych serwerów nazw na liście istniejących serwerów nazw zamiast nadpisywania listy serwerów nazw. Jeśli używasz może być użyta do nadpisania konfigurację DNS zamiast preprending do niego.
openresolv
-x
Jeśli używasz
systemd-resolved
, możesz zamiast tego użyć/etc/openvpn/update-systemd-resolved
zaczepu .systemd-revolved
resolvconf
Na Debianie ten skrypt znajduje się w
openvpn-systemd-resolved
.źródło
script-security 2
lub uruchomić swojejopenvpn
z--script-security 2
Oto rozwiązanie, które wymyśliłem: Istnieje przełącznik, który pozwala uruchomić skrypt, gdy tunel jest uruchomiony. Używam przełącznika, aby zasadniczo zastąpić plik resolv.conf plikiem, o którym wiem, że jest poprawny. Wiem, że to totalny hack.
skrypt (reset-dns):
Również dla tych, którzy mówią „OMG! Prowadzisz ten tunel jako root!” Nie będzie działać w żaden inny sposób; nawet przed włamaniem się do DNS.
Jestem zdecydowanie otwarty na lepszy sposób. Menedżer sieci dla Ubuntu po prostu nie działa. Wielokrotnie odcinałem sobie bilety na ubuntu
źródło