Saya menggunakan klien VPN yang menambahkan dua server nama ke /etc/resolv.conf . Semua koneksi saya dikelola oleh Network-Manager.
Saya harus menggunakan klien VPN ini untuk VPN pekerjaan saya tetapi setelah Ubuntu pergi ke systemd-resolved di 16.10 saya mengalami masalah dengan koneksi dan DNS saya. Sepertinya systemd-resolved mengubah /etc/resolv.conf kembali ke server nama default untuk beberapa alasan yang membuat halaman internal tidak terselesaikan. Saya melihat ini lagi dan akhirnya mengganti resolvconf dengan openresolv . Itu banyak membantu, tetapi masih systemd-resolved mengatur ulang /etc/resolv.conf setelah VPN aktif beberapa saat.
Bisa saja saat koneksi sedang naik atau setelah beberapa menit atau terkadang tidak sama sekali. Saya kemudian menonaktifkan systemd-resolved dan systemd resolvconf.service dan hanya jalankan openresolv . Tampaknya semuanya berfungsi dengan baik.
Namun, ini semua sangat membingungkan. Apakah ada alasan untuk menggunakan systemd-resolved dengan salah satu dari yang lain? Itu diaktifkan di Ubuntu 16.10 jadi saya pikir pasti ada alasan untuk itu tetapi tampaknya menyebabkan perebutan /etc/resolv.conf .
Akan sangat bagus jika saya bisa menjalankan operesolv dan jelaskan ini. Saya telah membaca sedikit tentangnya tetapi saya masih tidak mengerti mengapa /etc/resolv.conf dikelola seperti itu, hanya itu ketika saya menggunakan systemd untuk itu saya tidak dapat menggunakan klien VPN saya.
Jawaban yang Diterima:
Saya berhasil mengubah skrip yang menangani item konfigurasi ini di OpenVPN di Ubuntu (diuji pada 18.04). Ini tambalan untuk itu:
--- /etc/openvpn/update-resolv-conf.orig 2019-03-13 19:14:16.163914424 +0400
+++ /etc/openvpn/update-resolv-conf 2019-03-13 19:29:30.380420708 +0400
@@ -15,7 +15,7 @@
# foreign_option_3='dhcp-option DOMAIN be.bnc.ch'
#
-[ -x /sbin/resolvconf ] || exit 0
+[ -x /usr/bin/systemd-resolve ] || exit 0
[ "$script_type" ] || exit 0
[ "$dev" ] || exit 0
@@ -43,16 +43,16 @@
fi
done
R=""
- [ "$SRCHS" ] && R="search $SRCHS
-"
+ for SRCH in $SRCHS ; do
+ R="${R}--set-domain=$SRCH "
+ done
for NS in $NMSRVRS ; do
- R="${R}nameserver $NS
-"
+ R="${R}--set-dns=$NS "
done
- echo -n "$R" | /sbin/resolvconf -a "${dev}.openvpn"
+ /usr/bin/systemd-resolve -i ${dev} ${R}
;;
down)
- /sbin/resolvconf -d "${dev}.openvpn"
+ echo "Doing nothing, interface disappears."
;;
esac
Anda perlu menambahkan item berikut ke file konfigurasi OpenVPN Anda:
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf