Konfigurator Socks5 di Linux: Rutekan Aplikasi Melalui Proxy SOCKS5 dengan Proxychains
Linux tidak memiliki aplikasi konfigurator SOCKS5 tunggal, jadi panduan ini menyiapkan proxychains-ng dan redsocks untuk perutean SOCKS5 per perintah dan seluruh sistem, memverifikasi bahwa IP Anda benar-benar berubah, dan menjelaskan kapan terowongan WireGuard lebih cocok.
Ikhtisar
Pengguna Windows dan macOS mendapatkan jendela "konfigurator SOCKS5" grafis. Linux tidak menyertakannya, sehingga pekerjaan yang sama dilakukan dengan dua utilitas kecil yang Anda konfigurasi secara manual:
- proxychains-ng — membungkus satu perintah dan memaksa koneksi TCP keluarannya melalui proxy SOCKS5 Anda.
- redsocks — mengalihkan lalu lintas secara transparan melalui
iptables, yang lebih mendekati perilaku seluruh sistem.
Tutorial ini mencakup keduanya, menunjukkan cara membuktikan alamat IP Anda benar-benar berubah, dan menjelaskan situasi di mana SOCKS5 per aplikasi adalah alat yang salah dan terowongan WireGuard — misalnya gateway khusus dari NordLayer — lebih cocok.
Prasyarat
- Desktop atau server Linux. Perintah ditampilkan untuk Debian/Ubuntu, Fedora, dan Arch.
- Akses
sudountuk instalasi paket dan pengeditan konfigurasi. - Endpoint SOCKS5 yang berfungsi: host, port, dan nama pengguna/kata sandi jika penyedia memerlukan autentikasi.
curlterinstal untuk verifikasi (tersedia secara default di sebagian besar distribusi).
Langkah-langkah
1. Verifikasi endpoint SOCKS5 sebelum menyentuh sistem Anda
Selalu pastikan proxy berfungsi sendiri terlebih dahulu, agar Anda tidak men-debug dua hal sekaligus:
curl -x socks5h://YOUR_USERNAME:YOUR_PASSWORD@PROXY_HOST:1080 https://ifconfig.me/ip
Dua detail penting di sini:
socks5h://meminta proxy untuk menyelesaikan nama DNS untuk Anda.socks5://biasa menyelesaikannya secara lokal, yang dapat membocorkan nama host yang Anda kunjungi.- Jika kata sandi Anda berisi
@,:atau/, lakukan percent-encode, atau gunakancurl --proxy-useralih-alih menyematkannya di URL.
2. Instal proxychains-ng
Pilih perintah untuk distribusi Anda:
# Debian / Ubuntu
sudo apt update && sudo apt install -y proxychains4
# Fedora
sudo dnf install -y proxychains-ng
# Arch
sudo pacman -S proxychains-ng
Pastikan binary tersedia sebagai proxychains4 (Debian/Ubuntu) atau proxychains (Fedora/Arch):
proxychains4 -h || proxychains -h
3. Konfigurasikan rantai proxy
Buka file konfigurasi (jalurnya berbeda tergantung paket) dan edit blok [ProxyList]:
sudo nano /etc/proxychains4.conf # Debian / Ubuntu
sudo nano /etc/proxychains.conf # Fedora / Arch
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
socks5 203.0.113.10 1080 YOUR_USERNAME YOUR_PASSWORD
Catatan tentang pengaturan:
proxy_dnsmemaksa pencarian DNS melalui proxy alih-alih resolver lokal Anda.strict_chainmenggunakan setiap proxy secara berurutan. Gunakandynamic_chainjika Anda ingin hop yang gagal dilewati, ataurandom_chaindenganchain_lenuntuk merotasi di antara beberapa entri.- Ganti
203.0.113.10 1080dengan host dan port dari penyedia Anda, dan hapus argumen nama pengguna/kata sandi jika endpoint tidak memerlukan autentikasi.
4. Uji bahwa perintah sekarang keluar dari IP proxy
Bandingkan permintaan langsung dengan yang dibungkus:
curl -s https://ifconfig.me/ip # your normal IP
proxychains4 -q curl -s https://ifconfig.me/ip # should show the proxy IP
Flag -q menyembunyikan banner proxychains sehingga Anda hanya melihat responsnya. Anda dapat membungkus aplikasi GUI dengan cara yang sama:
proxychains4 -q chromium https://ifconfig.me/ip
Jika kedua perintah mengembalikan IP yang sama, berhenti di sini dan telusuri bagian pemecahan masalah sebelum melanjutkan.
5. Atur variabel lingkungan proxy untuk alat yang mendukung
Banyak alat baris perintah membaca variabel proxy standar, yang berguna ketika Anda tidak ingin memberi awalan pada setiap perintah:
export ALL_PROXY="socks5h://YOUR_USERNAME:YOUR_PASSWORD@PROXY_HOST:1080"
export HTTPS_PROXY="$ALL_PROXY"
export HTTP_PROXY="$ALL_PROXY"
curl, wget, git, pip, dan requests Python mematuhi ini secara default, tetapi banyak aplikasi lain mengabaikannya sepenuhnya. Anggap ini sebagai lapisan kenyamanan, bukan konfigurasi seluruh sistem.
6. Opsional: pengalihan transparan dengan redsocks
Jika Anda perlu aplikasi yang tidak mengetahui apa pun tentang proxy untuk dirutekan secara otomatis, redsocks plus aturan iptables dapat melakukannya. Buat konfigurasinya:
base {
log_debug = off;
log_info = on;
daemon = on;
redirector = iptables;
}
redsocks {
local_ip = 127.0.0.1;
local_port = 12345;
ip = 203.0.113.10;
port = 1080;
type = socks5;
login = "YOUR_USERNAME";
password = "YOUR_PASSWORD";
}
Mulai layanan dan tambahkan aturan pengalihan. Aturan pertama sangat penting: lalu lintas ke proxy itu sendiri tidak boleh dialihkan kembali ke proxy, atau Anda membuat loop.
sudo systemctl restart redsocks
sudo iptables -t nat -N REDSOCKS
sudo iptables -t nat -A REDSOCKS -d 203.0.113.10 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
sudo iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
sudo iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
sudo iptables -t nat -A OUTPUT -p tcp -j REDSOCKS
Redsocks hanya mengalihkan TCP. Lalu lintas UDP, ICMP, dan apa pun yang melewati iptables masih keluar melalui koneksi normal Anda, jadi ini tidak setara dengan VPN.
SOCKS5 di Linux vs. Gateway WireGuard
SOCKS5 per aplikasi dan terowongan WireGuard menyelesaikan masalah yang tumpang tindih dengan cara yang berbeda:
| Kebutuhan | SOCKS5 dengan proxychains/redsocks | Terowongan WireGuard (mis. gateway khusus) |
|---|---|---|
| Cakupan | Satu perintah atau aplikasi dalam satu waktu | Setiap aplikasi dan protokol di perangkat |
| Penanganan DNS | Bergantung pada socks5h dan proxy_dns |
Diselesaikan di dalam terowongan |
| UDP dan ICMP | Tidak dicakup oleh proxychains | Dibawa melalui terowongan |
| IP keluar | Apa pun yang ditetapkan penyedia SOCKS5 | IP gateway khusus yang stabil yang dapat Anda allowlist |
| Upaya konfigurasi | Rendah, tetapi diulang per aplikasi | Penyiapan terowongan sekali saja |
| Terbaik untuk | Perutean per perintah dan pengujian cepat | Privasi seluruh perangkat, akses tim, otomatisasi yang di-allowlist |
Pilih rute SOCKS5 ketika Anda hanya memerlukan satu alat untuk keluar dari IP lain. Pilih terowongan WireGuard ketika seluruh mesin — atau seluruh tim — memerlukan perutean terenkripsi yang konsisten. Opsi terkelola seperti NordLayer menyediakan terowongan WireGuard dengan gateway khusus, orientasi pengguna yang ditujukan untuk tim, dan penagihan bulanan tetap yang lebih mudah diprediksi daripada harga berdasarkan penggunaan.
Pemecahan Masalah
proxychains tidak berpengaruh pada binary tertentu
proxychains bekerja dengan memuat lebih awal pustaka bersama, sehingga tidak dapat mencegat program yang ditautkan secara statis, binary Go, atau executable setuid. Periksa dengan:
ldd $(which YOUR_APP)
Jika outputnya mengatakan "not a dynamic executable", gunakan redsocks sebagai gantinya — atau rutekan mesin melalui terowongan WireGuard, yang beroperasi di bawah lapisan aplikasi.
IP Anda masih tampak tidak berubah
- Pastikan Anda menggunakan
socks5h://atau telah mengaktifkanproxy_dns; URLsocks5://biasa menyelesaikan nama secara lokal. - Periksa apakah penyedia mengharapkan autentikasi dan apakah kredensial Anda benar.
- Uji ulang dengan
curlterlebih dahulu. Jikacurlmenunjukkan IP proxy tetapi aplikasi tidak, aplikasi tersebut melewati preload.
Koneksi timeout atau menggantung
- Tingkatkan
tcp_connect_time_outdi/etc/proxychains4.conf. - Pastikan host proxy dapat dijangkau pada port tersebut dari jaringan Anda (firewall keluar sering memblokir port non-standar).
- Kurangi jumlah hop dalam rantai — rantai strict yang panjang melipatgandakan latensi.
redsocks membuat loop atau menjatuhkan semuanya
Aturan RETURN Anda untuk IP proxy itu sendiri harus berada di awal rantai REDSOCKS. Bersihkan dan bangun ulang jika Anda mengedit aturan tidak berurutan:
sudo iptables -t nat -F REDSOCKS
Ringkasan
Linux menggantikan konfigurator SOCKS5 grafis dengan proxychains4 untuk perutean per perintah dan redsocks untuk pengalihan TCP transparan. Verifikasi endpoint dengan curl, aktifkan proxy_dns untuk menghindari kebocoran DNS, dan ingat bahwa tidak ada alat yang mencakup UDP atau binary yang ditautkan secara statis. Ketika Anda memerlukan setiap aplikasi dan protokol di perangkat untuk menggunakan satu IP keluar khusus yang stabil — terutama untuk tim — terowongan WireGuard, seperti gateway khusus dari NordLayer, adalah pilihan yang lebih sederhana dan andal.