Saat data ditransmisikan di dalam virtual private cloud (VPC) atau antara VPC dengan jaringan lainnya, tabel rute digunakan untuk merutekan paket. Konfigurasi perutean yang tepat memastikan bahwa elastic network interfaces (ENI) dapat mengirim dan menerima data sesuai harapan. Saat Anda mengikat ENI ke instance Elastic Compute Service (ECS), rute default secara otomatis dikonfigurasikan untuk ENI tersebut. Topik ini menjelaskan cara mengonfigurasi tabel rute dan aturan untuk memastikan bahwa rute yang ada memenuhi persyaratan bisnis Anda.
Konfigurasikan rute berbasis kebijakan untuk ENI
Perutean berbasis kebijakan adalah metode jaringan yang membuat keputusan perutean berdasarkan aturan yang telah ditentukan sebelumnya, bukan hanya rute default dalam tabel rute. Anda dapat mengonfigurasi tabel rute dan aturan untuk mengimplementasikan kebijakan perutean yang berbeda serta meneruskan lalu lintas melalui antarmuka jaringan tertentu. Dengan cara ini, Anda dapat mengontrol dan mengelola lalu lintas jaringan secara lebih terperinci.
Skenario
Komunikasi dalam lingkungan multi-antarmuka jaringan: Jika Anda menggunakan ENI sekunder bersama dengan EIP atau gateway NAT, lalu lintas arah keluar akan diprioritaskan melalui ENI utama karena rute default dari ENI utama memiliki prioritas lebih tinggi daripada rute default dari ENI sekunder. Akibatnya, setelah instance ECS menerima lalu lintas data pada ENI sekunder, instance tersebut mungkin mengirim balasan lalu lintas data dari ENI utama, yang menyebabkan masalah komunikasi. Dalam hal ini, Anda dapat mengonfigurasi rute berbasis kebijakan untuk merutekan lalu lintas data masuk dan keluar melalui ENI yang sama berdasarkan prinsip sumber masuk-sumber keluar.
Pembagian beban lalu lintas: Dalam lingkungan multi-antarmuka jaringan, setiap antarmuka jaringan mungkin terhubung ke jaringan yang berbeda atau melayani tujuan yang berbeda. Akibatnya, rute default mungkin tidak cukup. Dalam hal ini, Anda dapat mengonfigurasi rute berbasis kebijakan untuk antarmuka jaringan. Misalnya, Anda dapat mengonfigurasi rute berbasis kebijakan untuk mendistribusikan dan menyeimbangkan lalu lintas arah keluar di berbagai antarmuka jaringan berdasarkan aturan.
Kontrol akses: Tentukan aturan perutean berdasarkan alamat sumber, alamat tujuan, atau parameter lainnya untuk membatasi jenis lalu lintas tertentu ke antarmuka atau jalur tertentu guna mencapai isolasi jaringan.
Prasyarat
ENI harus diikat ke instance ECS.
Untuk informasi lebih lanjut, lihat bagian Mengikat ENI ke instance ECS dari topik "Buat dan kelola ENI".
ENI harus berlaku dalam sistem operasi instance ECS.
Untuk informasi lebih lanjut, lihat bagian Konfigurasikan ENI agar berlaku dalam instance ECS dari topik "Buat dan kelola ENI".
Prosedur
Dalam bagian ini, ENI sekunder bernama eth1 digunakan. Ganti informasi ENI, seperti pengenal antarmuka jaringan dan alamat IP, dengan nilai aktual.
Instansi Linux
Jalankan perintah berikut untuk membuat tabel rute untuk ENI dan tambahkan aturan rute ke tabel rute:
ip -4 route add default via <Gateway of eth1> dev eth1 table 1001 ip -4 rule add from <IP address of eth1> lookup 1001Sebagai contoh, jalankan perintah berikut untuk membuat tabel rute bernama 1001 untuk ENI sekunder eth1 dan tambahkan aturan rute untuk paket yang berasal dari 172.16.20.193 ke tabel rute. Ini memastikan bahwa paket yang berasal dari 172.16.20.193 dikirim melalui eth1.
ip -4 route add default via 172.16.20.253 dev eth1 table 1001 ip -4 rule add from 172.16.20.193 lookup 1001Konfigurasikan instance ECS untuk secara otomatis memperbarui informasi perutean saat startup instance dan izinkan konfigurasi untuk tetap berlaku secara permanen.
Setelah Anda mengonfigurasi rute default untuk eth1, tambahkan perintah terkait ke file konfigurasi instance untuk secara otomatis memperbarui informasi perutean saat startup instance. Jika tidak, konfigurasi rute default menjadi tidak valid setelah instance di-restart. Jika Anda melakukan tes menggunakan rute default, lewati langkah ini.
Jalankan perintah berikut untuk membuka file
/etc/rc.local:vim /etc/rc.localTekan tombol
iuntuk masuk ke mode Sisip, tambahkan perintah yang Anda jalankan di langkah sebelumnya ke file, lalu tekan tombolEscuntuk keluar dari mode Sisip. Masukkan:wqdan tekan tombol Enter untuk menyimpan dan menutup file.CatatanDalam perintah, ganti informasi terkait, seperti pengenal antarmuka jaringan dan alamat gateway, dengan nilai aktual.
Jalankan perintah berikut untuk memberikan izin eksekusi pada file
/etc/rc.local:sudo chmod +x /etc/rc.local
Jalankan perintah berikut untuk memeriksa apakah tabel rute dibuat dan aturan rute ditambahkan ke tabel rute:
ip route list table 1001 && \ ip rule listKeluaran perintah berikut menunjukkan bahwa tabel rute dibuat dan aturan rute ditambahkan ke tabel rute.

Instansi Windows
Jalankan perintah berikut untuk membuat rute berbasis kebijakan untuk ENI:
route add -p <Destination network> mask <Subnet mask> <Gateway> if <Interface index> metric <Route priority>Dalam contoh ini, ENI bernama Ethernet 2 digunakan. Jalankan perintah berikut untuk mengonfigurasi rute yang meneruskan semua paket yang berasal dari 172.16.12.76 melalui gateway di
172.16.12.253.route add -p 0.0.0.0 mask 0.0.0.0 172.16.12.253 if 6 metric 1Catat parameter berikut:
-p: membuat rute permanen. Rute permanen tetap valid setelah restart sistem. Secara default, parameter
-ptidak ditentukan, yang berarti bahwa rute bersifat sementara.Jaringan tujuan: Dalam banyak kasus, nilai
0.0.0.0menunjukkan rute default, yang digunakan ketika tidak ada rute spesifik yang cocok.Subnet mask dan gateway: Subnet mask dan gateway dari ENI. Jalankan perintah
ipconfiguntuk melihat subnet mask dan gateway dari ENI, seperti yang ditunjukkan pada gambar berikut.
Indeks antarmuka: indeks dari ENI. Jalankan perintah
netsh interface ipv4 show interfacesuntuk melihat indeks dari ENI, seperti yang ditunjukkan pada gambar berikut.
Prioritas rute: prioritas dari rute. Tentukan nilai dalam format metric <n>. Nilai yang lebih kecil menunjukkan prioritas yang lebih tinggi.
Jalankan perintah
route printuntuk memeriksa apakah rute yang dibuat muncul dalam daftar rute.
Contoh
Bagian ini menjelaskan cara mengonfigurasi rute berbasis kebijakan untuk memastikan bahwa instance ECS menerima paket melalui ENI sekunder bernama eht1 dan mengirim balasan paket melalui ENI utama bernama eth0. Dalam contoh ini, instance ECS yang menjalankan Alibaba Cloud Linux 3.2 digunakan. Jika Anda memiliki persyaratan ketat untuk arah lalu lintas data, seperti ketika daftar putih alamat IP sumber dalam kebijakan keamanan Anda hanya mencakup alamat IP dari antarmuka jaringan tertentu, pengikatan jalur lalu lintas yang salah dapat menyebabkan permintaan sah ditolak. Masalah ini terjadi karena ketidaksesuaian antara alamat IP sumber dan antarmuka jaringan dan mengakibatkan kegagalan konektivitas jaringan. Untuk menyelesaikan masalah ini, Anda dapat mengonfigurasi rute berbasis kebijakan.
Siapkan lingkungan.
Buat instance ECS.
Untuk informasi tentang cara membuat instance ECS, lihat Buat instans pada tab Peluncuran Kustom.
Ikat ENI sekunder ke instance ECS.
Untuk informasi tentang cara mengikat ENI sekunder ke instance ECS, lihat Mengikat ENI sekunder.
Ajukan alamat IP elastis (EIP) dan asosiasikan EIP dengan ENI sekunder bernama eht1 yang diikat ke instance ECS dalam mode NAT.
Untuk informasi lebih lanjut, lihat Asosiasikan EIP dengan ENI sekunder.

Siapkan klien uji.
Anda dapat menggunakan instance ECS lain yang memiliki akses Internet atau komputer lokal sebagai klien uji.
Tambahkan aturan arah masuk yang mengizinkan akses dari alamat IP publik klien uji ke grup keamanan instance ECS yang Anda buat di Langkah a. Kemudian, Anda dapat menjalankan perintah ping <EIP> pada klien uji untuk ping EIP yang Anda asosiasikan di Langkah c dan mengakses instance ECS.

Untuk informasi lebih lanjut, lihat bagian Kasus 4: Izinkan hanya lalu lintas protokol tertentu untuk mengakses instance ECS dari topik "Panduan penggunaan grup keamanan dan studi kasus".
Jalankan perintah berikut pada klien uji untuk mengirim paket ke instance ECS:
ping 47.xx.xx.109Dalam perintah sebelumnya, ganti alamat IP dengan EIP yang diasosiasikan dengan ENI sekunder eth1.
Monitor paket Internet Control Message Protocol (ICMP) pada ENI utama bernama eth0 dan ENI sekunder eth1 pada instance ECS.
Jalankan perintah berikut untuk menangkap paket ICMP pada
eth0ENI utama:tcpdump -i eth0 icmpBuka jendela baru dan jalankan perintah berikut untuk menangkap paket ICMP pada
eth1ENI sekunder:tcpdump -i eth1 icmp
Lihat hasilnya.
Rute berbasis kebijakan tidak dikonfigurasi
Gambar berikut menunjukkan bahwa paket masuk melalui eth1 dan paket balasan yang sesuai keluar melalui eth0. Instance ECS menerima permintaan melalui eth1 dan mengirim respons melalui eth0.

Rute default eth0 memiliki prioritas 100, yang lebih tinggi daripada prioritas rute default eth1. Akibatnya, paket dikirim dari eth0.

Rute berbasis kebijakan dikonfigurasi
Konfigurasikan rute berbasis kebijakan untuk instance ECS. Untuk informasi lebih lanjut, lihat bagian Konfigurasikan rute berbasis kebijakan untuk ENI dari topik ini.
ip -4 route add default via 172.16.20.253 dev eth1 table 1001 ip -4 rule add from 172.16.20.177 lookup 1001Jalankan perintah
ping <EIP>pada klien uji.Monitor paket ICMP pada ENI instance ECS.
Gambar berikut menunjukkan bahwa paket masuk melalui eth1 dan paket balasan yang sesuai keluar melalui eth1. Instance ECS menerima permintaan dan mengirim respons melalui eth1 berdasarkan prinsip sumber masuk-sumber keluar.

Konfigurasikan rute default untuk ENI
Saat Anda mengikat ENI ke instance ECS, rute default secara otomatis dikonfigurasikan untuk ENI. Pada versi sistem operasi tertentu sebelum Ubuntu 18, seperti Ubuntu 16, rute default mungkin tidak secara otomatis dikonfigurasikan untuk ENI sekunder. Jika rute default tidak dikonfigurasikan, masalah konektivitas jaringan mungkin terjadi saat Anda menggunakan ENI untuk komunikasi eksternal. Untuk mengonfigurasi rute default untuk ENI, lakukan langkah-langkah berikut.
Dalam contoh ini, Ubuntu16 dan ENI sekunder eth1 digunakan.
Jalankan perintah berikut untuk melihat informasi ENI:
ip a
Keluaran perintah sebelumnya menunjukkan bahwa eth1 berlaku dalam sistem operasi instance ECS.
Jalankan perintah berikut untuk melihat informasi rute:
route -nKeluaran perintah berikut menunjukkan bahwa eth1 hanya memiliki rute untuk komunikasi internal dan tidak memiliki rute arah keluar.

Jalankan perintah berikut untuk mengonfigurasi rute default untuk eth1:
ip -4 route add default via 172.16.20.253 dev eth1 metric 200-4: hanya berlaku untuk alamat IPv4.172.16.20.253: alamat gateway eth1.metric 200: menetapkan nilai metrik (prioritas) rute menjadi 200. Nilai metrik yang lebih kecil menunjukkan prioritas yang lebih tinggi. Rute dengan nilai metrik terkecil digunakan saat beberapa rute ke tujuan yang sama ada.
Konfigurasikan instance ECS untuk secara otomatis memperbarui informasi perutean saat startup instance dan izinkan konfigurasi untuk tetap berlaku secara permanen.
Setelah Anda mengonfigurasi rute default untuk eth1, tambahkan perintah terkait ke file konfigurasi instance untuk secara otomatis memperbarui informasi perutean saat startup instance. Jika tidak, konfigurasi rute default menjadi tidak valid setelah instance di-restart. Jika Anda melakukan tes menggunakan rute default, lewati langkah ini.
Jalankan perintah berikut untuk membuka file
/etc/rc.local:vim /etc/rc.localTekan tombol
iuntuk masuk ke mode Sisip, tambahkan perintah yang Anda jalankan di langkah sebelumnya ke file, lalu tekan tombolEscuntuk keluar dari mode Sisip. Masukkan:wqdan tekan tombol Enter untuk menyimpan dan menutup file.CatatanDalam perintah, ganti informasi terkait, seperti pengenal antarmuka jaringan dan alamat gateway, dengan nilai aktual.
Jalankan perintah berikut untuk memberikan izin eksekusi pada file
/etc/rc.local:sudo chmod +x /etc/rc.local
Jalankan perintah berikut untuk melihat rute yang ditambahkan untuk eth1:
route -n

