4.Dapat diaktifkan/dinonaktifkan secara manual, dan statusnya akan diingat setelah reboot VPS.
Langkah 1: Buat Struktur Direktori yang Diperlukan
Sistem Operasi Ubuntu Server 20.04 lts s/d Ubuntu Server 24.04 lts
Instal conntrack (jika belum ada). Ini adalah alat penting untuk memutus koneksi secara paksa.
sudo apt update && sudo apt install conntrack -y
Pastikan tool kalkulasi (bc) terinstall (biasanya sudah ada, tapi ini untuk jaga-jaga):
sudo apt install bc -y
Jalan kan perintah berikut :
sudo mkdir -p /opt/udp-proxy/bin
sudo mkdir -p /opt/udp-proxy/log
Langkah 2: Membuat Skrip Utama Penjaga
1.Buat file skrip:
sudo nano /opt/udp-proxy/bin/enforcer_service.sh
2.Salin dan tempel seluruh skrip di bawah ini.
3.Simpan dan keluar (Ctrl+X, Y, Enter).
4.Berikan izin eksekusi:
sudo chmod +x /opt/udp-proxy/bin/enforcer_service.sh
Langkah 3: Membuat Layanan systemd
1.Buat file layanan:
sudo nano /etc/systemd/system/udp-enforcer.service
2.Salin dan tempel konfigurasi berikut:
[Unit]
Description=UDP Enforcer Service
After=network.target udp-custom.service
[Service]
Type=simple
ExecStart=/opt/udp-proxy/bin/enforcer_service.sh
Restart=always
RestartSec=5
User=root
[Install]
WantedBy=multi-user.target
3.Simpan dan keluar (Ctrl+X, Y, Enter).
Catatan :
Perintah di bawah ini hanya di gunakan untuk mengedit
Layanan systemd saja. Jika tidak , Jangan Gunakan !!! Lewati langkah ini dan lanjutkan ke
Langkah 4: Membuat Perintah Kontrol Manual (enforcer-on / enforcer-off) .
Perintah Untuk Mengedit Layanan systemd
sudo nano /etc/systemd/system/udp-enforcer.service
# Paste konfigurasi atau Edit konfigurasi, lalu Simpan dan keluar (Ctrl+X, Y, Enter)
# Jalan kan satu persatu perintah ini :
sudo systemctl daemon-reload
sudo systemctl enable udp-enforcer.service
sudo systemctl restart udp-enforcer.service
Langkah 4: Membuat Perintah Kontrol Manual (enforcer-on / enforcer-off)
Ini adalah kunci untuk kontrol yang "ber-ingat".
1.Buat perintah enforcer-on:
sudo nano /usr/local/bin/enforcer-on
Salin dan tempel:
#!/bin/bash
FLAG_FILE="/opt/udp-proxy/log/enforcer.enabled"
SERVICE_NAME="udp-enforcer.service"
echo "Mengaktifkan Penjaga Koneksi..."
# Buat direktori log jika belum ada untuk mencegah error
sudo mkdir -p "$(dirname "$FLAG_FILE")"
sudo touch "$FLAG_FILE"
sudo systemctl start "$SERVICE_NAME"
sudo systemctl enable "$SERVICE_NAME"
echo "Penjaga telah diaktifkan. Statusnya akan diingat setelah reboot."
2.Buat perintah enforcer-off:
sudo nano /usr/local/bin/enforcer-off
Salin dan tempel:
#!/bin/bash
FLAG_FILE="/opt/udp-proxy/log/enforcer.enabled"
SERVICE_NAME="udp-enforcer.service"
echo "Menonaktifkan Penjaga Koneksi..."
sudo systemctl stop "$SERVICE_NAME"
sudo rm -f "$FLAG_FILE"
echo "Penjaga telah dinonaktifkan. Statusnya akan diingat setelah reboot."
3.Berikan izin eksekusi pada kedua perintah:
sudo chmod +x /usr/local/bin/enforcer-on
sudo chmod +x /usr/local/bin/enforcer-off
5.Langkah 5: Finalisasi dan Aktivasi Awal
Langkah terakhir untuk menyelesaikan setup dan mengaktifkan Penjaga untuk pertama kalinya.
1.Muat ulang systemd untuk mengenali layanan baru:
sudo systemctl daemon-reload
2.Aktifkan layanan sekali saja
sudo systemctl enable udp-enforcer.service
3.Aktifkan Penjaga untuk pertama kalinya:
enforcer-on
4.Verifikasi statusnya:
sudo systemctl status udp-enforcer.service
Anda harus melihat Active: active (running).
Jalankan perintah-perintah ini secara manual untuk pengecekan urutan aturan:
sudo iptables -D INPUT -p udp --dport 36712 -j UDP_ENFORCER
sudo iptables -I INPUT 1 -p udp --dport 36712 -j UDP_ENFORCER
Sekarang, coba lagi perintah :
sudo iptables -L INPUT -n -v --line-numbers
Hasilnya harusnya terlihat seperti ini:
Chain INPUT (policy ACCEPT ...)
num pkts bytes target prot opt in out source destination
1 0 0 UDP_ENFORCER udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:36712
2 1355K 318M ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:36712
...
Sekarang
UDP_ENFORCER ada di posisi #1. Sistem blokir seharusnya sudah bekerja!
Restart layanan untuk menerapkan perubahan:
sudo systemctl restart udp-enforcer.service
Ringkasan Perintah Tanpa Panel/Manual
Mengaktifkan Penjaga
enforcer-on
Menonaktifkan Penjaga
enforcer-off
Cek Status Layanan
sudo systemctl status udp-enforcer.service
Lihat Log Aktivitas
sudo journalctl -u udp-enforcer.service -f --no-pager
Lihat IP yang Diblokir
sudo iptables -L UDP_ENFORCER -n -v
Lepas Semua Blokir
sudo iptables -F UDP_ENFORCER
Hapus File State (Reset)
echo "" > /opt/udp-proxy/log/enforcer_state.log