Lindungi resolv.conf Dari DHCP Pada FreeBSD 10

Sekiranya anda menggunakan penyelesai anda sendiri, atau ingin menggunakannya dari penyedia pihak ketiga, anda mungkin mendapati /etc/resolv.conffail anda ditimpa oleh DHCP. Terdapat beberapa cara untuk menyelesaikan masalah ini. Oleh kerana anda mungkin mahu melakukan reboot untuk memastikan bahawa perubahan anda tetap berlaku, dan kerana anda akan menjadi awal dengan tetapan rangkaian di tempat pertama, saya sangat menyarankan untuk melakukan ini pada contoh ujian dan / atau di luar puncak Jam.

Sekarang, berikut adalah tiga kaedah, dari yang paling teruk hingga yang terbaik. Perhatikan bahawa semua kaedah dalam panduan ini ditulis untuk FreeBSD 10. Pengguna Linux boleh merujuk panduan ini .

Kaedah 1: Gunakan tetapan antara muka statik

Dalam ujian terhad saya, ini menghasilkan masa boot yang sedikit lebih cepat kerana anda tidak perlu menunggu DHCP menetapkan tetapan rangkaian anda. Walau bagaimanapun, saya telah melihat sebutan di beberapa dokumen Vultr bahawa menggunakan tetapan antara muka statik tidak disukai dan anda harus berpegang pada DHCP. Saya menganggap mereka mempunyai alasan yang baik untuk ini dan oleh itu saya terus menggunakan DHCP sendiri. Walaupun begitu, sekiranya anda memutuskan untuk mengikuti jalan ini, ikuti langkah-langkah di bawah.

  • Tentukan IP pelayan anda, topeng rangkaian, dan IP gerbang.
  • Ubah suai /etc/rc.confuntuk menggunakan nilai-nilai ini dan bukannya DHCP.
  • But semula untuk menguji tetapan.

Tentukan IP / netmask / gateway

Dengan mengandaikan antara muka anda adalah vtnet0, lakukan perkara berikut:

ifconfig vtnet0 | grep inet

Ini akan memberikan anda alamat IP dan netmask untuk pelayan anda:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

FreeBSD suka menggunakan hex untuk netmask. Perkara di atas berubah menjadi 255.255.255.0jika anda ingin tahu. Anda boleh menemui jadual yang berguna di sini , tetapi jangan takut: anda boleh menyalin alamat hex ke dalam fail konfigurasi anda (atau menukarnya menjadi perpuluhan jika anda mahu).

Anda boleh menemui pintu masuk dengan beberapa cara. Inilah satu:

route get default | grep gateway akan mengembalikan sesuatu seperti:

gateway: 10.10.10.1

Ubah suai /etc/rc.confdengan nilai baru

Berbekalkan IP, netmask, dan gateway, kini saatnya untuk menambahkannya ke konfigurasi sistem. Saya sangat mengesyorkan membuat sandaran fail ini sebelum membuat perubahan, kerana akan menjadikannya lebih mudah untuk dibuat asal sekiranya anda merosakkan. Sekarang, buka /etc/rc.confeditor pilihan anda, dan buat perubahan berikut:

# Comment out this line:
# ifconfig_vtnet0="dhcp"

# Add these lines:
defaultrouter="10.10.10.1"
ifconfig_vtnet0="inet 10.10.10.10 netmask 0xffffff00"

Jelas sekali, anda harus mengganti IP, netmask, dan gerbang IP sebenar anda dengan palsu saya.

Reboot dan uji

Nyalakan semula pelayan anda menggunakan shutdown -r nowdan pastikan bahawa ia kembali dengan betul. Lakukan ujian apa sahaja yang anda fikirkan perlu untuk memastikan semuanya berjalan dengan baik. Sekiranya rangkaian tidak dapat diakses, log masuk melalui konsol dan kembalikan perubahan anda. Sekiranya semuanya baik-baik saja, pada ketika ini anda boleh memasukkan apa sahaja yang anda mahu resolv.conftanpa takut ia akan dihapuskan.

Sekiranya atas sebab apa pun anda tidak dapat reboot, ini mesti berfungsi, tetapi saya betul-betul melakukan reboot yang betul sekiranya saya adalah anda:

service netif restart && service routing restart

Kaedah 2: Membuat resolv.conftidak berubah

Ini adalah sedikit peretasan, tetapi ia adalah penyelesaian terpantas dengan mudah. Saya tidak mengesyorkannya kerana saya tidak dapat menjamin ini tidak akan menimbulkan keanehan pada masa akan datang apabila anda meningkatkan ke sistem operasi pelepasan baru, dan dhclient kemungkinan akan banyak mengadu. Yang mengatakan, sederhana chflags schg /etc/resolv.confadalah semua yang diperlukan. Fail kini dilindungi sepenuhnya oleh penulisan, walaupun dari root. Anda boleh mengesahkan seperti ini:

vultr [~]# chflags schg /etc/resolv.conf
vultr [~]# ls -ol /etc/resolv.conf
-rw-r--r--  1 root  wheel  schg 50 Nov 29 06:28 /etc/resolv.conf
vultr [~]# echo "so very untouchable" >> /etc/resolv.conf
/etc/resolv.conf: Operation not permitted.

Buat asal dengan: chflags noschg /etc/resolv.conf

Kaedah 3: Suruh FreeBSD dengan sopan untuk membiarkan tetapan anda sendiri

Ini adalah kaedah paling bersih dan paling tepat untuk menyelesaikannya. Terdapat dua pendekatan yang boleh anda lakukan:

Konfigurasikan dhclient

Mari kita ambil contoh dari atas, dan katakan semua yang anda mahu lakukan adalah memasukkan server nama khas anda resolv.confdan tidak mahu kehilangannya setiap kali DHCP melakukan perkara tersebut. Dalam kes saya, saya ingin menggunakan penyelesai caching yang saya pasang yang mendengarkan di localhost, jadi saya mengedit /etc/dhclient.conf(yang mungkin kosong selain dari komen) dan menambahkan yang berikut:

interface "vtnet0" {
    supersede domain-name-servers 127.0.0.1;
}

Ini akan membolehkan dhclient melakukan semua perkara lain yang anda perlu lakukan, tetapi apabila pelayan DHCP menghantarnya senarai nama nameserver untuk digunakan, anda akan menggantikan (seperti dalam, menggantikan sepenuhnya) yang ditawarkannya. Sekiranya anda lebih suka menambah (daripada mengganti) yang ditawarkan, anda boleh "menambah" atau "menambah" dan bukannya "menggantikan", jika sesuai.

Secara kebetulan, sekiranya anda memerlukan lebih daripada satu pelayan tersuai, tentukan mereka seperti ini:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

Setelah membuat perubahan anda, mulakan semula dhclientuntuk menjadikannya berkuat kuasa serta-merta:

service dhclient restart vtnet0

Periksa /etc/resolv.confdan anda mesti mendapati sekarang terdapat pelayan nama khas anda di dalamnya.

Pada penulisan ini, pelayan nama adalah satu-satunya perkara yang pernah dilampirkan oleh pelayan DHCP Vultr ke dalam saya resolv.conf, dan satu-satunya perkara yang saya ambil untuk disesuaikan. Walau bagaimanapun, jika anda perlu mengganti tetapan lain, rujuk manual yang sangat baik untuk senarai lengkap:

man 5 dhclient.conf

Terdapat contoh hebat di bahagian bawah yang harus memberi anda idea tentang apa yang boleh anda lakukan. Di bahagian atas kepala saya, saya dapat membayangkan anda mungkin ingin menambahkan sesuatu seperti supersede domain-name "example.com";jika anda biasanya mempunyai garis seperti itu di dalam anda resolv.conf. Sekali lagi, rujuk dokumen.

Konfigurasikan resolvconf

Ini adalah penyelesaian termudah jika anda hanya mahu anda resolv.confditinggalkan sendirian. Menurut manual:

resolvconf manages resolv.conf(5) files from multiple sources, such as DHCP and VPN clients

Konfigurasinya ada /etc/resolvconf.conf, yang kemungkinan tidak ada di sistem anda, jadi jangan ragu untuk membuatnya. Untuk menjadikan anda resolv.conftidak berubah, tambahkan ini:

# prevent all updates to resolv.conf:
resolv_conf="/dev/null"

Sekiranya anda menggunakan unboundsebagai penyelesai cache tempatan anda, itulah garis yang ditambahkannya (bersama dengan beberapa untuknya). Itu pada dasarnya menipu resolvconfuntuk memikirkan tempat anda /etc/resolv.confberada /dev/null. Sesuatu yang kurang bermakna, tetapi sama berkesan, adalah:

# disable resolvconf from running any subscribers:
resolvconf="NO"

Sekiranya anda ingin melakukan sesuatu yang lebih canggih daripada hanya mematikannya, halaman manual untuk resolvconfdan resolvconf.confmempunyai banyak maklumat.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut