All Products
Search
Document Center

:Pemecahan masalah jaringan atau kehilangan paket yang disebabkan oleh konfigurasi rp_filter yang salah

Last Updated:Jan 21, 2026

Deskripsi masalah

Dalam lingkungan dengan beberapa network interface controller (NIC) atau perutean jaringan kompleks—seperti yang menggunakan LVS load balancing, overlay networks, atau perutean asimetris—masalah berikut dapat terjadi:

  • Masalah akses layanan: Saat mengakses server backend melalui Server Load Balancer (SLB), Pemeriksaan kesehatan mungkin gagal atau akses layanan diblokir. Namun, Anda tetap dapat mengakses Port layanan secara normal saat login langsung ke server backend.

  • Timeout koneksi jaringan: Pada Instance ECS dengan beberapa NIC atau Perutean berbasis kebijakan yang dikonfigurasi, koneksi jaringan dalam beberapa arah mengalami timeout secara intermiten atau gagal sepenuhnya.

  • Kehilangan paket sistem: Saat menangkap paket menggunakan alat seperti tcpdump, Anda mungkin mengamati bahwa datagram memasuki NIC tetapi tidak diterima oleh Lapisan aplikasi.

Penyebab

Masalah ini biasanya terjadi ketika parameter kernel rp_filter diatur ke mode ketat (nilai 1) dalam lingkungan dengan perutean asimetris. Perutean asimetris berarti jalur inbound dan outbound suatu datagram berbeda. Ketika mode ketat untuk rp_filter diaktifkan, kernel melakukan validasi reverse path pada setiap paket yang diterima. Jika NIC ingress suatu paket bukan antarmuka egress optimal dalam tabel rute sistem, paket tersebut akan di-drop.

  • Penyebab 1: Perutean asimetris akibat beberapa NIC atau Perutean berbasis kebijakan: Pada Instance ECS dengan beberapa NIC, jika Perutean berbasis kebijakan dikonfigurasi, sebuah paket mungkin masuk melalui NIC eth0, tetapi paket responsnya dikirim keluar melalui NIC eth1 berdasarkan kebijakan perutean. Dalam kasus ini, mode ketat rp_filter menganggap jalur paket tidak valid dan menjatuhkan paket tersebut.

  • Penyebab 2: Perutean asimetris akibat load balancing (mode LVS-DR): Saat menggunakan Pendengar Lapisan 4 (TCP/UDP) untuk load balancer Alibaba Cloud, seperti Classic Load Balancer (CLB), server backend secara default menggunakan mode Direct Routing (DR). Dalam mode ini, paket permintaan klien melewati LVS menuju Instance ECS backend, tetapi paket respons dari Instance ECS melewati LVS dan kembali langsung ke klien. Ini merupakan skenario perutean asimetris khas bagi Instance ECS. Jika Instance ECS memiliki mode ketat rp_filter diaktifkan, permintaan paket dari LVS akan di-drop.

Solusi

Metode 1: Atur ke mode longgar (direkomendasikan)

Atur rp_filter ke mode longgar (nilai 2). Kernel hanya memeriksa apakah alamat IP sumber ada dalam tabel rute dan dapat dijangkau. Tidak diperlukan NIC ingress menjadi antarmuka egress optimal. Metode ini cocok untuk semua skenario perutean asimetris.

  1. Ubah sementara parameter kernel agar perubahan langsung berlaku.

    # Atur mode rp_filter untuk semua NIC ke mode longgar
    echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter
    echo 2 > /proc/sys/net/ipv4/conf/default/rp_filter
  2. Uji apakah layanan telah pulih. Jika masalah teratasi, lanjutkan ke langkah berikutnya untuk membuat perubahan permanen.

  3. Edit file /etc/sysctl.conf. Tambahkan atau ubah konfigurasi berikut agar tetap berlaku setelah restart sistem.

    # Edit file konfigurasi
    vi /etc/sysctl.conf
    
    # Tambahkan atau ubah dua baris berikut
    net.ipv4.conf.all.rp_filter = 2
    net.ipv4.conf.default.rp_filter = 2
  4. Jalankan perintah sysctl -p untuk menerapkan konfigurasi permanen.

    sudo sysctl -p

Metode 2: Nonaktifkan validasi untuk NIC tertentu

Jika hanya NIC tertentu, seperti eth0, yang menerima traffic dari LVS, nonaktifkan validasi reverse path hanya untuk NIC tersebut.

  1. Nonaktifkan sementara rp_filter untuk NIC eth0.

    echo 0 > /proc/sys/net/ipv4/conf/eth0/rp_filter
  2. Uji apakah layanan telah pulih. Jika masalah teratasi, lanjutkan ke langkah berikutnya untuk membuat perubahan permanen.

  3. Edit file /etc/sysctl.conf. Tambahkan atau ubah konfigurasi berikut.

    # Edit file konfigurasi
    vi /etc/sysctl.conf
    
    # Tambahkan atau ubah baris berikut
    net.ipv4.conf.eth0.rp_filter = 0
  4. Jalankan perintah sysctl -p untuk menerapkan konfigurasi permanen.

    sudo sysctl -p

Metode 3: Nonaktifkan validasi secara global

Metode ini sepenuhnya menonaktifkan validasi reverse path dan membuat sistem rentan terhadap risiko serangan IP spoofing.

  1. Ubah sementara parameter kernel.

    # Peringatan: Operasi ini mengurangi keamanan sistem. Gunakan dengan hati-hati.
    echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
    echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter
  2. Uji apakah layanan telah pulih. Jika masalah teratasi, lanjutkan ke langkah berikutnya untuk membuat perubahan permanen.

  3. Edit file /etc/sysctl.conf. Tambahkan atau ubah konfigurasi berikut.

    # Edit file konfigurasi
    vi /etc/sysctl.conf
    
    # Peringatan: Konfigurasi berikut membuat server rentan terhadap risiko serangan IP spoofing.
    net.ipv4.conf.all.rp_filter = 0
    net.ipv4.conf.default.rp_filter = 0
  4. Jalankan perintah sysctl -p untuk menerapkan konfigurasi permanen.

    sudo sysctl -p

Rekomendasi

Ikuti prinsip Hak istimewa minimal: Saat menyesuaikan parameter rp_filter, prioritaskan solusi dengan cakupan dampak paling minimal. Misalnya, menggunakan mode longgar (rp_filter=2) lebih baik daripada menonaktifkan fitur sepenuhnya (rp_filter=0). Mengubah konfigurasi untuk satu NIC juga lebih baik daripada mengubah konfigurasi global.