
Routing adalah cara komputer berkomunikasi di jaringan lokal atau melalui internet. Untuk berkomunikasi melalui jaringan, komputer perlu mengetahui gateway mana yang harus mengirimkan lalu lintas. Sebuah gateway bisa menjadi router di jaringan Anda.
Perintah rute digunakan di Linux untuk menampilkan dan mengubah tabel perutean ip.
Dalam tutorial ini, saya akan menjelaskan cara menggunakan perintah rute untuk menambahkan rute statis melalui gateway untuk mengirim lalu lintas.
1) Tampilkan tabel perutean
Sebelum mengedit tabel perutean, ada baiknya melihat tabel default dengan rute yang ada di Kernel Linux Anda.
Gunakan perintah rute dengan -n
opsi untuk menampilkan tabel perutean IP kernel saat ini. Perintah ini membantu mengidentifikasi jaringan yang terhubung secara lokal dengan rutenya.
Perintah berikut menampilkan tabel perutean:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 eno1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1
172.16.20.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-707c8e2f7441
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 eno1
192.168.161.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
Anda juga dapat menggunakan netstat -nr
perintah untuk mencetak koneksi jaringan, tabel perutean, statistik antarmuka, koneksi penyamaran, dan keanggotaan multicast.
Tampilkan tabel perutean dengan perintah netstat:
$ netstat -nr
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eno1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eno1
172.16.20.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-707c8e2f7441
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eno1
192.168.161.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
Sekarang kita memiliki perintah ip untuk menampilkan rute
$ ip route show
2) Tambahkan rute baru
Seperti yang kami katakan di atas, untuk memanipulasi tabel perutean, kami menggunakan route add
perintah ( add adalah opsinya) untuk secara manual menunjukkan jalur statis yang akan digunakan paket melalui jaringan. Ini digunakan untuk menetapkan rute statis sementara yang akan berubah hanya jika administrator secara manual mengubah nilai rute baru.
Ada banyak kemungkinan untuk menggunakan tambahan rute perintah.
Kami harus menunjukkan jaringan tujuan, subnet mask jaringan, dan gateway yang akan digunakan.
route add -net <network_address> gw <gateway> <interface_name>
Atau, sekarang Anda dapat menggunakan ip route
perintah, sintaks sebagai berikut:
ip route add <network_address> via <gateway> dev <interface_name>
Misalnya, mari tambahkan jaringan rute baru 10.0.0.0/8 dan melalui alamat IP gateway 192.168.1.1:
# route add -net 10.0.0.0/8 gw 192.168.1.1 eno1
Sekarang kita dapat menampilkan tabel routing menggunakan route -n
:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 eno1
10.0.0.0 192.168.1.1 255.0.0.0 UG 0 0 0 eno1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1
172.16.20.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-707c8e2f7441
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 eno1
192.168.161.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
Anda dapat menambahkan netmask
opsi jika Anda ingin menambahkan nilai netmask. Jika tidak disediakan, maka perintah rute akan menemukan nilai netmask secara otomatis.
# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.100 eth0
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 192.168.1.100 255.255.255.0 UG 0 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
10.0.0.0 192.168.1.254 255.0.0.0 UG 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
Untuk menambahkan rute ke host tertentu gunakan -host
pilihan. Kami hanya harus menunjukkan gateway yang akan digunakan.
route add -host <host_IP_address> gw <gateway>
Misalnya, mari tambahkan host tertentu '10.0.0.10' lalu tampilkan tabel perutean
# route add -host 10.0.0.10 gw 192.168.1.1 eno1
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 eno1
10.0.0.0 192.168.1.1 255.0.0.0 UG 0 0 0 eno1
10.0.0.10 192.168.1.1 255.255.255.255 UGH 0 0 0 eno1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1
172.16.20.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-707c8e2f7441
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 eno1
192.168.161.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
Dalam contoh di atas, kolom bendera memiliki nilai yang berbeda dan itu tidak dapat dipahami.
Kemungkinan flag dan definisinya:
U
- rute sudah habis
H
- targetnya adalah tuan rumah
G
- gunakan gerbang
R
- memulihkan rute untuk perutean dinamis
D
- diinstal secara dinamis oleh daemon atau redirect
M
- dimodifikasi dari daemon perutean atau pengalihan
A
- diinstal oleh addrconf
C
- entri cache
!
- tolak rute
3) Tolak dan Hapus rute
Kita dapat memanipulasi tabel routing tidak hanya untuk menambahkan rute statika tetapi juga untuk menghapus atau menolak rute yang kita masukkan lebih awal.
Untuk menghapus jaringan tujuan dari tabel perutean gunakan route del
perintah:
route del -net <network_address> gw <gateway> <interface_name>
Misalnya untuk menghapus rute ke jaringan 10.0.0.0/8 kami:
# route del -net 10.0.0.0/8 gw 192.168.1.1 eno1
Keluaran
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 eno1
10.0.0.10 192.168.1.1 255.255.255.255 UGH 0 0 0 eno1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1
172.16.20.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-707c8e2f7441
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 eno1
192.168.161.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
Untuk melarang alamat IP tetapi masih ada di tabel perutean. Perhatikan bahwa kita masih menggunakan parameter opsi tambah tetapi di akhir perintah, kita harus menggunakan reject
pilihan. Kami dapat menyimpan gateway kami atau tidak, tetapi kami tidak menyebutkan antarmuka keluaran.
route add -host <host_IP_address> reject
Dalam perintah berikut kami akan menolak host kami '10.0.0.10':
# route add -host 10.0.0.10 reject
Tampilkan tabel perutean setelah perubahan:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 eno1
10.0.0.10 - 255.255.255.255 !H 0 - 0 -
10.0.0.10 192.168.1.1 255.255.255.255 UGH 0 0 0 eno1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eno1
172.16.20.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet8
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
172.18.0.0 0.0.0.0 255.255.0.0 U 0 0 0 br-707c8e2f7441
192.168.1.0 0.0.0.0 255.255.255.0 U 600 0 0 eno1
192.168.161.0 0.0.0.0 255.255.255.0 U 0 0 0 vmnet1
Rute yang ditambahkan menggunakan perintah di atas tidak persisten selama reboot, jadi kami telah menambahkan rute statis ke file konfigurasi agar tetap permanen.
Untuk menambahkan rute statis persisten untuk distribusi Linux apa pun, Anda dapat menggunakan file generik /etc/rc.local.
Untuk Ubuntu dan Debian gunakan file bernama '/etc/network/interfaces' dan di RHEL/CentOS gunakan '/etc/sysconfig/network-scripts/route-ethX'.
Kesimpulan
Dalam tutorial ini, kita belajar bagaimana menambahkan rute statis di Linux menggunakan perintah route add. Kami harus mencatat bahwa dengan metode itu, rute tidak akan berubah kecuali Anda memodifikasinya. Penting untuk menghapus rute yang tidak kita butuhkan.
Related Read: How to Permanently add Static Route in Linux