Selain rute default, Anda juga dapat mengonfigurasi rute tambahan.
Misalnya, server Anda, Anda mungkin memiliki 2 antarmuka (eth0 dan eth1). Secara default, semua lalu lintas dirutekan melalui antarmuka eth0 terlepas dari alamat IP yang telah Anda konfigurasikan di eth1.
Untuk merutekan lalu lintas masuk dan keluar melalui eth1, selain rute default (eth0), Anda juga perlu menambahkan rute tambahan untuk eth1 .
Dalam tutorial ini, mari kita gunakan contoh berikut:
- eth0 telah dikonfigurasi dengan alamat IP 19.86.101.54 dengan netmask 255.255.255.0 dan gateway default 19.86.101.1
- eth1 telah dikonfigurasi dengan alamat IP 19.86.100.176 dengan netmask 255.255.255.0 dan alamat IP gatewaynya adalah 19.86.100.1
Anda dapat melihat alamat ip kartu antarmuka Anda saat ini menggunakan perintah ifconfig seperti yang ditunjukkan di bawah ini.
# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:50:56:8E:0B:EC inet addr:19.86.101.54 Bcast:19.86.101.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3735 errors:0 dropped:0 overruns:0 frame:0 TX packets:336 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:295679 (288.7 Kb) TX bytes:50312 (49.1 Kb) eth1 Link encap:Ethernet HWaddr 00:50:56:8E:27:0D inet addr:19.86.100.176 Bcast:19.86.100.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:14 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:840 (840.0 b) TX bytes:0 (0.0 b)
Juga, output perintah netstat menunjukkan bahwa gateway default menunjuk ke eth0,
# netstat -rn Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 0.0.0.0 19.86.101.1 0.0.0.0 UG 0 0 0 eth0 19.86.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 19.86.101.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
Dengan pengaturan di atas, Anda mungkin dapat melakukan ping ke kedua gateway dan berkomunikasi dengan perangkat lain tanpa masalah. Namun, ingat bahwa semua lalu lintas dirutekan melalui eth0 secara default.
Saat Anda melakukan ping ke alamat IP 19.86.100.176 dari luar jaringan, Anda mungkin menyadari bahwa alamat tersebut tidak dapat di-ping.
Untuk mengimplementasikan ini, Anda perlu membuat kebijakan baru di tabel perutean. Tabel perutean terletak di /etc/iproute2/rt_tables. File aturan awal sebelum konfigurasi mungkin terlihat seperti yang ditunjukkan di bawah ini.
# cat /etc/iproute2/rt_tables # # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep #
Untuk melihat semua aturan saat ini, gunakan perintah ip seperti yang ditunjukkan di bawah ini:
# ip rule show 0: from all lookup local 32766: from all lookup main 32767: from all lookup default
Pertama, buat cadangan rt_Tables sebelum membuat perubahan apa pun.
cd /etc/iproute2 cp rt_tables rt_tables.orig
Selanjutnya, buat entri tabel perutean kebijakan baru di file /etc/iproute2/rt_tables:
echo "1 admin" >> /etc/iproute2/rt_tables
Sekarang tambahkan entri perutean di tabel admin.
ip route add 19.86.100.0/24 dev eth1 src 19.86.100.176 table admin ip route add default via 19.86.100.1 dev eth1 table admin
Pada contoh di atas:
- Pada perintah ip pertama, kita menambahkan subnet 19.86.100.0 dengan netmask 255.255.255.0 dengan alamat IP sumber 19.86.100.176 &device eth1 ke tabel admin.
- Pada perintah ip kedua, kita menambahkan rute 19.86.100.1 ke tabel admin. Dengan cara ini semua aturan yang ditentukan dalam tabel admin merutekan lalu lintas melalui eth1 perangkat.
Setelah perintah di atas berhasil dijalankan, Anda perlu menginstruksikan OS cara menggunakan tabel ini.
Dalam "pertunjukan aturan ip" Anda mungkin melihat baris "32766:dari semua pencarian utama". Ini adalah baris yang menginstruksikan OS untuk merutekan semua lalu lintas yang ditentukan dalam tabel “utama” yang merupakan gateway default.
Semua aturan dieksekusi dalam urutan menaik. Jadi, kami akan menambahkan entri aturan di atas tabel “utama”.
ip rule add from 19.86.100.176/24 table admin ip rule add to 19.86.100.176/24 table admin ip route flush cache
Pada contoh di atas:
- Perintah pertama menambahkan aturan bahwa semua lalu lintas yang menuju IP eth1 harus menggunakan tabel perutean “admin”, bukan tabel “utama”.
- Perintah kedua menambahkan aturan bahwa semua lalu lintas keluar dari IP eth1 perlu menggunakan tabel perutean “admin”, bukan tabel “utama”.
- Perintah ketiga digunakan untuk melakukan semua perubahan ini pada perintah sebelumnya
Terakhir, verifikasi bahwa perubahan Anda telah dilakukan dengan benar menggunakan perintah berikut:
# ip rule show 0: from all lookup local 32764: from all to 19.86.100.176/24 lookup admin 32765: from 19.86.100.176/24 lookup admin 32766: from all lookup main 32767: from all lookup default
Pada titik ini, Anda seharusnya dapat melakukan ping ke alamat IP 19.86.100.176 dari jaringan luar dan melihat semua lalu lintas yang seharusnya menggunakan eth1 berfungsi seperti yang diharapkan.
Untuk membuat perubahan ini tetap ada saat reboot, Anda dapat menambahkan perintah ini ke /etc/init.d/boot.local (untuk SUSE Linux), atau /etc/rc.d/rc.local (untuk Redhat, CentOS).
Jika Anda ingin mengonfigurasi satu alamat IP lagi pada subnet yang berbeda, ulangi semua langkah di atas, tetapi gunakan nama tabel yang berbeda. Alih-alih tabel “admin”, gunakan tabel “admin-new”.