Untuk pengguna DHCP, mungkin ada kalanya anda perlu mengedit /etc/resolv.conf
untuk menggunakan server nama lain. Kemudian, setelah jangka masa tertentu (atau setelah sistem dihidupkan semula), anda mendapati bahawa perubahan anda /etc/resolv.conf
telah dikembalikan.
Tutorial ini menunjukkan tiga kaedah untuk menghentikan DHCP daripada menukar /etc/resolv.conf
Debian atau Ubuntu.
Kaedah 1: Ubah tetapan antara muka menjadi statik
- Pada cloud vps, saya tidak mencadangkan penggunaan kaedah ini.
- Sekiranya anda menggunakan kaedah ini, anda mungkin mendapati pemprosesan but semula (sehingga anda boleh log masuk melalui ssh) memerlukan masa lebih lama.
Pertama, kita perlu mendapatkan IP / netmask / gateway pelayan. Jalankan arahan berikut.
ifconfig | grep "inet addr" | head -n 1 | awk '{print $2, $4}'
Ini menyediakan IP pelayan dan netmask. Melihat output contoh ...
addr:1.2.3.4 Mask:255.255.254.0
... alamat IP pelayan adalah 1.2.3.4 dan topeng adalah 255.255.254.0 .
Untuk mendapatkan alamat gerbang, jalankan arahan berikut.
netstat -rn | grep '^0.0.0.0' | awk '{print $2}'
Dalam contoh ini, saya akan menggunakan alamat gerbang 1.2.3.1 .
Sekarang kita mempunyai IP / netmask / gateway , edit /etc/network/interfaces
.
vim /etc/network/interfaces
Buat suntingan berikut:
# Comment out this line
# iface eth0 inet dhcp
# Add these contents
iface eth0 inet static
address 1.2.3.4
mask 255.255.254.0
gateway 1.2.3.1
Ingat, anda mesti mengganti nilai-nilai ini dengan IP / netmask / gateway pelayan yang sesuai.
Simpan dan keluar, kemudian but semula.
Kaedah 2: Tulis melindungi pelayan nama anda
Tukar pelayan nama anda dengan menyunting /etc/resolv.conf
. Setelah anda membuat pengeditan, tulis lindungi fail tersebut.
chattr +i /etc/resolv.conf
The +i
pilihan (sifat) menulis melindungi /etc/resolv.conf
fail pada Linux supaya tiada siapa yang boleh mengubah suai ia - tidak pengguna root.
Sekiranya anda perlu membuang atribut protect write, gunakan arahan berikut.
chattr -i /etc/resolv.conf
Kaedah 3: Gunakan cangkuk DHCP
Ini adalah kaedah yang paling saya cadangkan menggunakan.
Edit /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
.
vim /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
Buat suntingan berikut:
#!/bin/sh
make_resolv_conf(){
:
}
Simpan dan keluar.
Kemas kini kebenaran pada nodnsupdate
fail.
chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
Nyalakan semula pelayan anda. Anda kini boleh mengemas kini pelayan nama dengan mengedit /etc/resolv.conf
tanpa perlu bimbang tentang pengunduran.