All Products
Search
Document Center

Anti-DDoS:Instal modul kernel TOA untuk memperoleh alamat IP asal permintaan

Last Updated:Apr 01, 2026

Saat Anda menambahkan layanan TCP ke Anti-DDoS Pro atau Anti-DDoS Premium untuk perlindungan, Anti-DDoS Proxy membersihkan lalu lintas masuk dan meneruskannya ke server origin Anda. Karena proxy berada di antara klien dan server Anda, server origin melihat alamat IP proxy, bukan alamat IP klien yang sebenarnya. Untuk memulihkan visibilitas terhadap alamat IP asal, instal modul kernel TCP Option Address (TOA) pada server origin Anda.

Topik ini mencakup server origin berbasis Linux. Tersedia tiga metode instalasi—pilih metode yang sesuai dengan sistem operasi Anda.

Prasyarat

Sebelum memulai, pastikan Anda memiliki:

  • Server origin yang menjalankan distribusi Linux yang didukung

  • Layanan non-website berbasis TCP yang ditambahkan ke Anti-DDoS Proxy menggunakan port (layanan berbasis UDP tidak didukung)

  • Akses Internet pada server origin untuk mengunduh paket instalasi

  • Izin sudo jika Anda bukan pengguna root

Untuk layanan website, lihat Memperoleh alamat IP asal permintaan.

Skenario yang didukung

ScenarioDescription
Anti-DDoS Proxy - Instance ECSServer origin dideploy pada instance Elastic Compute Service (ECS). Lalu lintas dibersihkan oleh Anti-DDoS Proxy dan diteruskan ke instance ECS.
Anti-DDoS Proxy - Instance Server Load Balancer (SLB) Lapisan 4 - Instance ECSServer origin dideploy pada instance ECS. Lalu lintas dibersihkan oleh Anti-DDoS Proxy, lalu instance SLB Lapisan 4 meneruskan lalu lintas ke instance ECS.
Anti-DDoS Proxy - Server di pusat data AndaServer origin dideploy di pusat data Anda. Lalu lintas dibersihkan oleh Anti-DDoS Proxy dan diteruskan ke server pusat data.

Pilih metode instalasi

Uji instalasi terlebih dahulu di lingkungan non-produksi. Jika lingkungan tetap stabil, lanjutkan ke lingkungan produksi.

MethodSupported operating systemsWhen to use
Metode 1: Muat modul VTOA melalui modprobeHanya Alibaba Cloud Linux 3Metode paling sederhana; tidak perlu kompilasi
Metode 2: Kompilasi dari kode sumberCentOS, Ubuntu, Debian, dan distribusi Linux lainnyaGunakan ketika Metode 1 atau Metode 3 tidak berlaku
Metode 3: Instal melalui RPM Package Manager (RPM)Red Hat Linux, CentOS 6.x, CentOS 7.xDisarankan untuk distribusi berbasis RPM

Metode 1: Muat modul kernel VTOA melalui modprobe

Metode ini hanya berlaku untuk Alibaba Cloud Linux 3.

  1. (Opsional) Backup modul kernel TOA bawaan. Jika terjadi kegagalan restart, Anda dapat memulihkan sistem operasi dengan kembali ke kernel asli.

  2. Muat modul kernel VTOA.

    modprobe vtoa
  3. Verifikasi bahwa modul VTOA telah dimuat.

    lsmod | grep vtoa
  4. Konfigurasikan modul VTOA agar dimuat secara otomatis saat startup.

    1. Buat file /etc/sysconfig/modules/vtoa.modules dengan konten berikut: ``bash #!/bin/bash modprobe vtoa > /dev/null 2>&1 ``

    2. Berikan izin eksekusi pada file tersebut. ``bash sudo chmod +x /etc/sysconfig/modules/vtoa.modules ``

Metode 2: Kompilasi dan muat modul kernel TOA dari kode sumber

Metode ini berlaku untuk sebagian besar distribusi Linux, termasuk CentOS, Ubuntu, dan Debian.

  1. (Opsional) Backup modul kernel TOA bawaan. Jika terjadi kegagalan restart, Anda dapat memulihkan sistem operasi dengan kembali ke kernel asli.

  2. Unduh paket kode sumber TOA. Server Anda harus memiliki akses Internet untuk mengunduh file ini. Pilih file sumber berdasarkan versi kernel Anda:

    Versi kernelFile sumber
    2.xtoa_kernel2.x
    3.xtoa_kernel3.x
    4.x atau 5.xtoa_kernel_common
  3. Instal lingkungan kompilasi (gcc, kernel-headers, dan kernel-devel).

    • CentOS: ``bash yum install gcc kernel-headers kernel-devel -y ``

    • Ubuntu atau Debian: ``bash apt-get install gcc linux-headers-$(uname -r) -y ``

    Penting

    Jika perintah di atas gagal di Debian, unduh header yang telah dikompilasi secara manual. Contoh berikut menggunakan Debian 11.11 64-bit dengan versi kernel 5.10.0-33-amd64.

    1. Unduh Debian_11.11_5.10.0-33-amd64.zip.

    2. Instal paket-paket tersebut secara berurutan:

      sudo dpkg -i linux-headers-5.10.0-33-common_5.10.226-1_all.deb
      sudo dpkg -i linux-kbuild-5.10_5.10.237-1_amd64.deb
      sudo dpkg -i linux-compiler-gcc-10-x86_5.10.237-1_amd64.deb
      sudo dpkg -i linux-headers-5.10.0-33-amd64_5.10.226-1_amd64.deb
  4. Kompilasi modul kernel TOA. Ekstrak paket kode sumber, masuk ke folder yang sesuai, lalu jalankan make. Jika tidak muncul peringatan atau error, kompilasi berhasil. Pastikan file toa.ko tersedia di direktori saat ini.

    Untuk memuat modul kernel TOA pada server berbeda, salin file toa.ko ke server tersebut dan ikuti langkah-langkah berikutnya di sana.
    # Masuk ke folder yang sesuai dengan versi kernel Anda:
    # Kernel 2.x: cd toa_kernel2.x/
    # Kernel 3.x: cd toa_kernel3.x/
    # Kernel 4.x atau 5.x: cd toa_kernel_common/
    cd toa_kernel3.x/
    make
  5. Muat modul kernel TOA.

    mv toa.ko /lib/modules/`uname -r`/kernel/net/netfilter/ipvs/toa.ko && depmod
    insmod /lib/modules/`uname -r`/kernel/net/netfilter/ipvs/toa.ko
  6. Verifikasi bahwa modul TOA telah dimuat.

    lsmod | grep toa
  7. Konfigurasikan modul TOA agar dimuat secara otomatis saat startup.

    • CentOS:

      1. Buat file /etc/sysconfig/modules/toa.modules dengan konten berikut: ``bash #!/bin/bash if [ -e /lib/modules/uname -r/kernel/net/netfilter/ipvs/toa.ko ] ; then insmod /lib/modules/uname -r/kernel/net/netfilter/ipvs/toa.ko > /dev/null 2>&1 fi ``

      2. Berikan izin eksekusi pada file tersebut. ``bash sudo chmod +x /etc/sysconfig/modules/toa.modules ``

    • Ubuntu atau Debian: Buat file /etc/modules-load.d/toa.conf dengan konten berikut: `` toa ``

  8. Restart sistem operasi.

    sudo reboot

Metode 3: Instal modul kernel TOA melalui RPM

Sistem operasi yang didukung:

  • Red Hat Linux

  • CentOS 6.x

  • CentOS 7.x

  1. (Opsional) Backup modul kernel TOA bawaan. Jika terjadi kegagalan restart, Anda dapat memulihkan sistem operasi dengan kembali ke kernel asli.

  2. Unduh file instalasi untuk sistem operasi Anda. Server Anda harus memiliki akses Internet untuk mengunduh file ini.

  3. Instal modul kernel TOA.

    • CentOS 7.x — masuk ke direktori yang berisi file yang telah diunduh, lalu jalankan:

      sudo yum localinstall kernel-3.10.0-957.21.3.el7.toa.x86_64.rpm
      Catatan

      Note: Gunakan yum localinstall untuk menghindari masalah dependensi. Atau, jalankan sudo rpm -ivh kernel-3.10.0-957.21.3.el7.toa.x86_64.rpm.

    • CentOS 6.x atau Red Hat Enterprise Linux — masuk ke direktori yang berisi file-file yang telah diunduh, lalu jalankan:

      sudo rpm -ivh kernel-firmware-2.6.32-696.13.2.el6.centos.plus.toa.x86_64.rpm
      sudo rpm -ivh kernel-2.6.32-696.13.2.el6.centos.plus.toa.x86_64.rpm
      Catatan

      Note:

      • Jika kernel-firmware sudah berada pada versi 2.6.32-696.13.2.el6.centos.plus.toa atau lebih baru, jalankan hanya perintah kedua.

      • Jika terjadi error dependensi, tambahkan opsi --nodeps pada perintah rpm.

      • Jika versi kernel yang terinstal lebih baru daripada versi modul TOA, tambahkan opsi --force untuk tetap menginstal.

  4. Konfigurasikan modul TOA agar dimuat secara otomatis saat startup.

    1. Buat file /etc/sysconfig/modules/toa.modules dengan konten sesuai versi OS Anda:

      • CentOS 7.x: ``bash #!/bin/bash if [ -e /lib/modules/uname -r/kernel/net/toa/toa.ko.xz ] ; then modprobe toa > /dev/null 2>&1 fi ``

      • CentOS 6.x atau Red Hat Enterprise Linux: ``bash #!/bin/bash if [ -e /lib/modules/uname -r/kernel/net/toa/toa.ko ] ; then modprobe toa > /dev/null 2>&1 fi ``

    2. Berikan izin eksekusi pada file tersebut. ``bash sudo chmod +x /etc/sysconfig/modules/toa.modules ``

  5. Restart sistem operasi.

    reboot

Hasil

Setelah modul kernel TOA diinstal, server dapat memperoleh alamat IP asal permintaan.

Jika server tidak dapat memperoleh alamat IP asal permintaan, jalankan perintah berikut untuk memeriksa apakah modul kernel TOA telah dimuat.

lsmod | grep toa

Jika modul TOA belum dimuat, jalankan perintah berikut untuk memuatnya secara manual.

modprobe toa

Setelah modul kernel TOA dimuat, tinjau log akses server Anda untuk memastikan bahwa server origin dapat memperoleh alamat IP asal permintaan.

Manage modul kernel TOA

  • Nonaktifkan sementara modul kernel TOA:

    rmmod toa.ko
  • Uninstal modul kernel TOA:

    rmmod toa
  • Verifikasi bahwa modul kernel TOA telah diuninstal. Output dmesg akan menampilkan "TOA unloaded" jika modul berhasil dihapus.

    dmesg -T

FAQ

Bagaimana modul kernel TOA memengaruhi kinerja jaringan?

Modul TOA berjalan dalam mode bypass, sehingga dampaknya terhadap kinerja jaringan sangat minimal.

Mengapa saya tidak bisa mendapatkan alamat IP asal setelah melakukan upgrade kernel Linux?

Setelah upgrade kernel, modul TOA yang ada tidak lagi cocok dengan kernel baru. Kompilasi ulang dan instal kembali modul TOA setiap kali Anda melakukan upgrade kernel Linux.

Langkah selanjutnya

Memperoleh alamat IP asal permintaan — untuk layanan website yang dilindungi oleh Anti-DDoS Pro atau Anti-DDoS Premium