GNU/Linux >> Belajar Linux >  >> Linux

Cara Menambahkan Beberapa Rute di Linux Menggunakan Contoh Perintah ip

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”.


Linux
  1. Cara Menavigasi Baris Perintah Linux Menggunakan Keybinding (Contoh Perintah Ctrl Linux)

  2. Cara Mempercepat Proses Boot Linux menggunakan Contoh Perintah Startpar

  3. Contoh penggunaan perintah dmsetup di Linux

  1. Cara Reboot Linux Menggunakan Command Line

  2. Bagaimana cara mematikan proses di Linux menggunakan perintah?

  3. 5 Contoh Perintah Fuser Linux Praktis

  1. Cara Menggunakan Perintah IP di Linux dengan Contoh

  2. Perintah alias Linux:Cara Menggunakannya Dengan Contoh

  3. Cara Menggabungkan Ping dan Traceroute Di Linux Menggunakan Contoh Perintah MTR