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
sudojika Anda bukan pengguna root
Untuk layanan website, lihat Memperoleh alamat IP asal permintaan.
Skenario yang didukung
| Scenario | Description |
|---|---|
| Anti-DDoS Proxy - Instance ECS | Server 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 ECS | Server 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 Anda | Server 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.
| Method | Supported operating systems | When to use |
|---|---|---|
| Metode 1: Muat modul VTOA melalui modprobe | Hanya Alibaba Cloud Linux 3 | Metode paling sederhana; tidak perlu kompilasi |
| Metode 2: Kompilasi dari kode sumber | CentOS, Ubuntu, Debian, dan distribusi Linux lainnya | Gunakan ketika Metode 1 atau Metode 3 tidak berlaku |
| Metode 3: Instal melalui RPM Package Manager (RPM) | Red Hat Linux, CentOS 6.x, CentOS 7.x | Disarankan untuk distribusi berbasis RPM |
Metode 1: Muat modul kernel VTOA melalui modprobe
Metode ini hanya berlaku untuk Alibaba Cloud Linux 3.
(Opsional) Backup modul kernel TOA bawaan. Jika terjadi kegagalan restart, Anda dapat memulihkan sistem operasi dengan kembali ke kernel asli.
Muat modul kernel VTOA.
modprobe vtoaVerifikasi bahwa modul VTOA telah dimuat.
lsmod | grep vtoaKonfigurasikan modul VTOA agar dimuat secara otomatis saat startup.
Buat file
/etc/sysconfig/modules/vtoa.modulesdengan konten berikut: ``bash #!/bin/bash modprobe vtoa > /dev/null 2>&1``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.
(Opsional) Backup modul kernel TOA bawaan. Jika terjadi kegagalan restart, Anda dapat memulihkan sistem operasi dengan kembali ke kernel asli.
Unduh paket kode sumber TOA. Server Anda harus memiliki akses Internet untuk mengunduh file ini. Pilih file sumber berdasarkan versi kernel Anda:
Versi kernel File sumber 2.x toa_kernel2.x3.x toa_kernel3.x4.x atau 5.x toa_kernel_commonInstal 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``
PentingJika 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.
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
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 filetoa.kotersedia di direktori saat ini.Untuk memuat modul kernel TOA pada server berbeda, salin file
toa.koke 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/ makeMuat 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.koVerifikasi bahwa modul TOA telah dimuat.
lsmod | grep toaKonfigurasikan modul TOA agar dimuat secara otomatis saat startup.
CentOS:
Buat file
/etc/sysconfig/modules/toa.modulesdengan 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``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.confdengan konten berikut: ``toa``
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
(Opsional) Backup modul kernel TOA bawaan. Jika terjadi kegagalan restart, Anda dapat memulihkan sistem operasi dengan kembali ke kernel asli.
Unduh file instalasi untuk sistem operasi Anda. Server Anda harus memiliki akses Internet untuk mengunduh file ini.
CentOS 7.x: kernel-3.10.0-957.21.3.el7.toa.x86_64.rpm
CentOS 6.x atau Red Hat Enterprise Linux (unduh kedua file):
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.rpmCatatanNote: Gunakan
yum localinstalluntuk menghindari masalah dependensi. Atau, jalankansudo 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.rpmCatatanNote:
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
--nodepspada perintahrpm.Jika versi kernel yang terinstal lebih baru daripada versi modul TOA, tambahkan opsi
--forceuntuk tetap menginstal.
Konfigurasikan modul TOA agar dimuat secara otomatis saat startup.
Buat file
/etc/sysconfig/modules/toa.modulesdengan 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``
Berikan izin eksekusi pada file tersebut. ``
bash sudo chmod +x /etc/sysconfig/modules/toa.modules``
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 toaJika modul TOA belum dimuat, jalankan perintah berikut untuk memuatnya secara manual.
modprobe toaSetelah 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.koUninstal modul kernel TOA:
rmmod toaVerifikasi bahwa modul kernel TOA telah diuninstal. Output
dmesgakan 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