Linux menyediakan sejumlah alat untuk pemilihan rute yang fleksibel.
Tabel routing tunggal
Dalam kasus yang paling sederhana, hanya ada satu tabel routing kernel dan tidak ada rute dengan atribut SRC. Tabel ini berisi sejumlah rute, yang ditempatkan di sana secara manual ( ip route add
), oleh daemon DHCP, atau dengan routing daemon. Dalam hal ini, kernel memilih:
- rute yang paling spesifik;
- jika ada beberapa rute yang sama spesifiknya, rute dengan metrik kernel terkecil.
Perhatikan bahwa metrik kernel (ditampilkan oleh ip route show
) dipilih oleh daemon routing, dan tidak harus terkait dengan metrik protokol routing tertentu. Misalnya, Quagga menggunakan metrik yang sama untuk semua rute yang diinstal di kernel, terlepas dari metrik protokol.
Rute khusus sumber
Linux juga mendukung rute dengan atribut SRC yang hanya cocok dengan paket dengan alamat sumber yang diberikan. SRC hanya berfungsi untuk IPv6, dan masih bermasalah hingga saat ini (3.11, jika ingatanku); Saya tidak menyarankan menggunakannya kecuali Anda tahu apa yang Anda lakukan.
Beberapa tabel routing
Jika Anda membutuhkan lebih banyak fleksibilitas daripada yang disediakan di atas, Anda harus bermain dengan beberapa tabel routing, dan menulis aturan untuk memilih satu tabel routing tertentu untuk setiap paket. Teknik yang umum adalah mengirim pada sumber-alamat untuk mensimulasikan rute spesifik sumber. Teknik lain adalah menjalankan setiap daemon perutean dalam tabel peruteannya sendiri, dan mensimulasikan "jarak administratif" Cisco. Semua ini dijelaskan secara rinci dalam Bab 4 LARTC .