apa itu "rfc3442-classless-static-route" di /etc/dhcp/dhclient.conf

10

Saya mencoba men-debug DHCP di laptop saya (saya menggunakan dhcpingdan dhcdumpmelihat apa yang dikirim server DHCP kembali). Berikut ini adalah milik saya /etc/dhcp/dhclient.conf.

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;

send host-name = gethostname();

request subnet-mask, broadcast-address, time-offset, routers,
domain-name-servers, interface-mtu,
rfc3442-classless-static-routes;

Saya pikir, saya punya ide apa artinya semua opsi ini, kecuali untuk rfc3442-classless-static-routes. Juga, saya tidak melihat apa pun yang berkaitan dengan rfc3442-classless-static-routesbalasan DHCP.

Apa arti dari rfc3442-classless-static-routesdan dalam situasi apa saya akan memanfaatkannya?

( Dokumentasi tidak masuk akal sama sekali)

Thomas Keller
sumber

Jawaban:

19

Spesifikasi DHCP asli (RFC 2131 dan 2132 ) menetapkan opsi (33) yang memungkinkan administrator layanan DHCP untuk mengeluarkan rute statis ke klien jika diperlukan.

Sayangnya, desain orisinil itu cacat akhir-akhir ini karena mengasumsikan alamat jaringan classful , yang jarang digunakan.

The rfc3442-classless-static-routespilihan memungkinkan Anda untuk menggunakan alamat jaringan tanpa kelas (atau CIDR) sebagai gantinya.

CIDR membutuhkan subnet mask untuk secara eksplisit dinyatakan, tetapi opsi DHCP asli 33 tidak memiliki ruang untuk ini. Oleh karena itu, opsi ini (sebagaimana didefinisikan dalam RFC 3442) hanya memungkinkan opsi DHCP pengganti yang lebih baru (opsi 121) yang mendefinisikan rute statis menggunakan notasi CIDR.

Pada dasarnya, jika Anda perlu mengeluarkan rute statis ke perangkat Anda menggunakan DHCP dan rute statis ini menggunakan CIDR maka Anda perlu mengaktifkan opsi ini.

Rute statis dapat digunakan jika Anda telah membagi jaringan menjadi beberapa jaringan yang lebih kecil dan perlu memberi tahu setiap router tentang bagaimana lalu lintas berpindah dari satu ke yang lain tanpa menggunakan salah satu dari banyak protokol routing dinamis yang tersedia. Anda pada dasarnya mengatur setiap router dengan pernyataan untuk efek "untuk sampai ke jaringan abcd, mengirim lalu lintas melalui fghi" .

Jika rute yang Anda atur di router berkelas, maka Anda tidak perlu mengaktifkan opsi ini. Namun, jika rute tersebut adalah CIDR maka Anda harus mengaktifkan opsi ini. Untungnya, banyak jaringan rumah / kafe menggunakan 192.168.0.0jaringan dengan subnet 255.255.255.0(atau /24), yang merupakan jaringan Kelas-C yang sebenarnya, karena itu Anda dapat menghindari opsi ini.

Di sisi lain, beberapa jaringan rumah / kafe berjalan di 10.0.0.0jaringan. Ini adalah jaringan Kelas-A secara default. Jika Anda memecah ini menjadi banyak 10.0.x.0subnet misalnya, maka ini semua akan menjadi jaringan CIDR yang berarti Anda harus mengaktifkan opsi ini.

Di atas hanya benar jika Anda juga perlu mengeluarkan informasi perutean ini ke host Anda melalui DHCP. Apakah Anda perlu mengeluarkan informasi perutean statis ini ke host Anda ditentukan oleh desain jaringan Anda. Saya akan menebak bahwa jaringan rumah / kafe dasar tidak memerlukannya karena rute statis biasanya didefinisikan pada router.

Konfigurasi yang Anda miliki di atas hanya mendefinisikan opsi baru (ada banyak opsi yang dhclienttelah ditetapkan yang sudah mengerti) sebagai opsi 121 yang terdiri dari array 8 bilangan bulat yang tidak ditandatangani. Kemudian mengkonfigurasi klien untuk meminta opsi ini jika diatur pada server DHCP.

Jika server DHCP mengembalikan nilai untuk opsi ini, dhclientskrip hook keluar ( /etc/dhclient/dhclient-exit-hooks.d/rfc3442-classless-routes) membaca nilai dan mengkonfigurasi tabel routing yang sesuai.

garethTheRed
sumber
dijelaskan dengan indah.
Ted Feng