Ketika saya terhubung ke jaringan VPN melalui Gnome Network-manager, saya kehilangan resolusi DNS dan dalam praktiknya, saya tidak dapat mengakses sumber daya di dalam jaringan VPN atau di luar.
Ketika saya menggunakan Ubuntu 16.04 dan saya menggunakan VPN, file " /etc/resolv.conf/
" akan berisi server DNS dari jaringan (VPN) yang saya sambungkan. Sekarang selalu berisi entri berikut:
nameserver 127.0.0.53
search myprovider.com
Dari apa yang saya mengerti 127.0.0.53
adalah alamat dari rintisan DNS yang digunakan oleh system-resolved
.
Saya menduga bahwa ini adalah bug karena VPN berfungsi dengan baik Ubuntu 16.04. Apakah ada cara saya dapat mengatur server DNS jaringan saya ketika saya menggunakan layanan VPN?
Memperbarui:
Saya mencoba menghubungkan ke jaringan OpenVPN dengan file konfigurasi yang dilampirkan di akhir posting, tetapi saya mendapatkan kesalahan berikut:
Authenticate/Decrypt packet error: cipher final failed
Saya telah memverifikasi bahwa server menggunakan kompresi lzo dan saya telah mengaktifkannya juga. Koneksi tetap aktif tetapi saya tidak dapat menavigasi ke halaman mana pun di dalam atau di luar VPN.
Dalam file konfigurasi yang tercantum di bawah ini, saya telah memasukkan solusi yang diposting di balasan
client
dev tun
proto udp
remote openvpn.bibsys.no 1194
remote my-server-2 1194
resolv-retry infinite
nobind
user myuser
group myuser
persist-key
persist-tun
ca ca-cert.pem
cert openvpn.crt
key openvpn.key
cipher AES-256-CBC
comp-lzo yes
script-security 2
up /etc/openvpn/scripts/update-systemd-resolved
down /etc/openvpn/scripts/update-systemd-resolved
down-pre
sumber
resolvectl status
danresolvectl help
mencari solusi spesifik saya.Jawaban:
Saya menemukan solusi di posting blog ini . Walaupun ada dua solusi yang disebutkan, saya lebih suka menggunakan yang kedua karena itu berarti DNS saya diatur oleh server OpenVPN (solusi pertama berarti saya menggunakan server DNS yang sama apakah saya terhubung ke server OpenVPN atau tidak).
Pendeknya:
sudo mkdir -p /etc/openvpn/scripts
sudo wget https://raw.githubusercontent.com/jonathanio/update-systemd-resolved/master/update-systemd-resolved -P /etc/openvpn/scripts/
sudo chmod +x /etc/openvpn/scripts/update-systemd-resolved
Kemudian edit file klien OpenVPN Anda (mis. Client.ovpn) dengan mengubah skrip naik / turun menjadi:
(Saya telah berkomentar keluar pengaturan asli atas / bawah).
sumber
config.ovpn
tidak "ditemukan" - ini adalah file konfigurasi klien yang digunakan untuk menghubungkan. Anda bisa membuatnya, atau dikeluarkan untuk Anda oleh penyedia OpenVPN Anda (dan itu mungkin tidak dipanggilconfig.ovpn
- bisa disebut apa saja, misalnyaclient.ovpn
).WARNING: Failed running command (--up/--down): external program fork failed
Masalah
File
/etc/resolv.conf
tidak diperbarui oleh/etc/openvpn/update-resolv-conf
skrip karenaresolvconf
tidak diinstal secara default di ubuntu 18.04.Bahkan, salah satu baris pertama dari skrip itu memeriksa
/sbin/resolvconf
eksekusi:Menginstal resolvconf via
apt-get
bukanlah solusi karena/etc/openvpn/update-resolv-conf
skrip memperbarui/etc/resolv.conf
file dengan entri DNS yang didorong tetapi perangkat tun tampaknya mengabaikannya.Larutan
Ubuntu 18.04 menggunakan
systemd-resolved
, jadi yang harus Anda lakukan adalah menginstal skrip pembantu openvpnsystemd-resolved
viaatau dengan instruksi GitHub ini
Perbarui
config.ovpn
file Anda dengan menambahkan baris ini:Itu bukannya menambah naik turun
/etc/openvpn/update-resolv-conf
ke conf.Untuk mencegah Kebocoran DNS, Anda harus menambahkan baris ini ke akhir
config.ovpn
file (sesuai dengan komentar masalah systemd ini ):sumber
script-security 2
itu masih diperlukan sebelum garis naik / turun, jika tidak, program akan jatuh karena kesalahan (OpenVPN 2.4.4)script-security 2
tidak perlu. Itu mungkin karena saya menjalankan klien openvpn sebagai root (dengan sudo)sudo apt-get install network-manager-openvpn-gnome
Maka Anda harus dapat mengimpor file konfigurasi .ovpn ke manajer jaringan gnome. askubuntu.com/questions/187511/... UI telah berubah dari waktu ke waktu, Anda seharusnya dapat menemukannya di pengaturan-> jaringan-> vpnSebenarnya, ada solusi yang jauh lebih mudah untuk masalah ini. Masalahnya adalah dengan lalu lintas DNS dan bagaimana Ubuntu 18 mengelola itu. Secara default IP forwarding dinonaktifkan yang merupakan kebutuhan OpenVPN untuk menyediakan jaringan yang tepat. Yang harus Anda lakukan adalah menjalankan perintah berikut:
Setelah file ini dibuka, cari baris yang berisi
net.ipv4.ip_forward
. Jika baris ini dikomentari, hapus tanda # di bagian depan baris (jika tidak dikomentari maka Anda memiliki masalah lain). Simpan file dan mulai kembali contoh server OpenVPN Anda.Perbaikan ini tidak memerlukan modifikasi apa pun pada klien atau kode OpenVPN setelah peningkatan ke Ubuntu 18. Diuji dan dikonfirmasi berfungsi.
Namun, ini jelas mengharuskan Anda dapat mengelola server. Dan sayangnya, bug itu ada untuk banyak orang yang baru saja terhubung dengan 18,04 ke server OpenVPN yang dikelola oleh orang lain ...
sumber
Ada perintah lain yang berguna untuk mengatur apa yang Anda butuhkan melalui baris perintah. Tetapi dalam kasus saya Anda dapat mengontrol koneksi VPN Anda baik dengan baris perintah dan GUI.
sudo nmcli connection add type vpn vpn-type openvpn con-name la.vpn.contoso.com ifname --
sudo nmcli connection modify la.vpn.contoso.com ipv4.dns 172.16.27.1 sudo nmcli connection modify la.vpn.contoso.com ipv4.dns-search int.contoso.com sudo nmcli connection modify la.vpn.contoso.com ipv4.never-default yes
Dan sentuhan terakhir yang jauh lebih menarik:
nmcli connection modify la.vpn.contoso.com vpn.data 'ca = /tmp/la.vpn.contoso.com/you/ca.crt, key = /tmp/you.key, dev = tun, cert = /tmp/you.crt, cert-pass-flags = 1, comp-lzo = adaptive, remote = la.vpn.contoso.com:1194, connection-type = tls'
Setelah itu Anda dapat mengontrol vpn dengan GUI atau menggunakan perintah berikut:
sudo nmcli --ask connection up la.vpn.contoso.com sudo nmcli connection down la.vpn.contoso.com
sumber
Saya juga terpengaruh. Dalam kasus saya, saya menggunakan OpenVPN dengan server nama internal (yang ada di dalam VPN). Itu bekerja sampai Ubuntu 17.10 (dengan "hosts: files dns" di /etc/nsswitch.conf).
/etc/resolv.conf telah diperbarui dengan benar oleh skrip openvpn (melalui panggilan ke / etc / openvpn / update-resolv-conf di file konfigurasi klien openvpn).
Namun, resolusi nama untuk host di dalam VPN tidak berfungsi lagi (atau setidaknya secara sporadis ... Saya kira cache DNS lokal memilih nama, tetapi setelah waktu yang agak lama).
Apa yang tampaknya membantu, atau bahkan menyelesaikan masalah (meskipun itu terlalu dini untuk dikatakan) adalah menginstal paket di bawah ini:
sudo untuk menginstal openvpn-systemd-diselesaikan
Dalam beberapa hari, saya akan memiliki lebih banyak pengalaman apakah ini memperbaiki masalah saya atau tidak.
Jika Anda terkena dampak juga, silakan coba ini dan kirim komentar!
Tepuk tangan,
Michael.
sumber