Cara Install dan Mengkonfigurasi Dante SOCKS Private Proxy di Ubuntu

Artikel ini membantu Anda dalam melakukan setting dan mengkonfigurasi private SOCKS proxy menggunakan Dante di server Linux yang berbasis pada distribusi Debian.

Artikel ini membantu Anda dalam melakukan setting dan mengkonfigurasi private SOCKS proxy menggunakan Dante di server Linux yang berbasis pada distribusi Debian.


Dante adalah SOCKS proxy yang sudah sangat “mature” stabil yang didevelop oleh Inferno Nettverk A/S proxy. Di artikel ini adalah proses saya menginstall private SOCKS proxy menggunakan Dante dengan sistem authentikasi username dan password (pam).

Mempersiapkan Sistem

Sebelum memulai, ada beberapa prasyarat yang harus dipenuhi untuk mengikuti artikel ini:

  • Nyaman menggunakan Linux terminal.
  • Sebuah Linux server dengan Distro berbasis Debian.

Karena yang akan kita buat adalah private proxy yang memerlukan authentikasi username dan password dari akun user di sistem Linux, kita perlu membuat Linux user terlebih dahulu di server yang nantinya akan digunakan untuk proses authentikasi.

1# membuat user baru
2sudo useradd -r -s /bin/false myproxyuser
3# mengubah password user baru tersebut
4sudo passwd myproxyuser

Catatan: Ubah myproxyuser diatas dengan user yang ingin Anda gunakan untuk autentikasi.

Instalasi Dante Server

Karena Dante adalah SOCKS proxy yang sudah sangat “mature” dan populer, Anda bisa dengan mudah menginstall Dante server dengan package manager bawaan Debian atau Ubuntu:

1sudo apt install dante-server
2systemctl status danted.service

Setelah proses installasi selesai, system akan secara otomatis mencoba menjalankan danted.service, namun service tersebut tidak akan berjalan alias failed karena belum ada metode authentikasi yang wajib dikonfigurasi.

Konfigurasi Dante Server

File konfigurasi Dante berada di /etc/danted.conf. Didalamnya sudah ada contoh konfigurasi beserta keterangan yang sangat lengkap untuk apa parameter atau variabel konfigurasi tersebut digunakan.

Lakukan backup file konfigurasi bawaan tersebut dengan perintah sudo cp /etc/danted.conf /etc/danted.conf.bak kemudian ubah konfigurasi pada /etc/danted.conf dengan konfigurasi berikut (contoh):

 1# konfigurasi log
 2logoutput: stderr
 3
 4# danted service berjalan pada port 1080 di semua interface
 5internal: 0.0.0.0 port=1080
 6
 7# interface mana yang akan digunakan untuk semua komunikasi keluar
 8external: eth0
 9
10clientmethod: none
11socksmethod: username
12user.privileged: root
13user.unprivileged: nobody
14user.libwrap: nobody
15
16client pass {
17    from: 0.0.0.0/0 to: 0.0.0.0/0
18}
19
20socks pass {
21    from: 0.0.0.0/0 to: 0.0.0.0/0
22}

Dari contoh konfigurasi diatas, Dante akan listen di port 1080 dan semua traffic keluar akan dilewatkan melalui interface eth0.

Anda bisa mengubah port dan wajib menyesuaikan interface sesuai dengan interface yang ada di server Anda.

Setelah konfigurasi Dante selesai disesuaikan dengan kebutuhan, restart servicenya menggunakan perintah sudo systemctl restart danted.service.

Kemudian, lakukan pengecekan apakah danted.service sudah berjalan dengan baik dengan perintah sudo systemctl status danted.service:

 1● danted.service - SOCKS (v4 and v5) proxy daemon (danted)
 2     Loaded: loaded (/lib/systemd/system/danted.service; enabled; preset: enabled)
 3     Active: active (running) since Thu 2023-11-09 16:51:01 WIB; 1 day 1h ago
 4       Docs: man:danted(8)
 5             man:danted.conf(5)
 6    Process: 885 ExecStartPre=/bin/sh -c        uid=`sed -n -e "s/[[:space:]]//g" -e "s/#.*//" -e "/^user\.privileged/{s/[^:]*://p;q;}" /etc/danted.conf`;     >
 7   Main PID: 935 (danted)
 8      Tasks: 21 (limit: 9304)
 9     Memory: 18.5M
10        CPU: 2.701s
11     CGroup: /system.slice/danted.service
12             ├─    935 /usr/sbin/danted
13             ├─    955 "danted: monitor"
14             ├─1494108 "danted: io-chil"
15             ├─1494116 "danted: io-chil"
16             ├─1494127 "danted: request"
17             ├─1495807 "danted: request"
18             ├─1496272 "danted: negotia"
19             ├─1496273 "danted: request"
20             .... snip
21
22Nov 09 16:51:01 aws-ec2 systemd[1]: Starting danted.service - SOCKS (v4 and v5) proxy daemon (danted)...
23Nov 09 16:51:01 aws-ec2 systemd[1]: Started danted.service - SOCKS (v4 and v5) proxy daemon (danted).
24Nov 09 16:51:02 aws-ec2 danted[935]: Nov  9 16:51:02 (1699523462.105152) danted[935]: info: Dante/server[1/1] v1.4.2 running

Melakukan Testing

Setelah semua proses diatas selesai, saatnya mencoba menggunakan proxy server Anda. Salah satu contoh paling mudah untuk melakukan pengecekan adalah menggunakan curl melalui komputer Anda:

1curl -x socks5://myproxyuser:myproxy_password@server_ip:proxy_port http://ifconfig.me

Sesuaikan myproxyuser, myproxy_password, server_ip, dan proxy_port dengan authentikasi dan konfigurasi yang sudah Anda lakukan sebelumnya.

Dari perintah diatas, Anda seharusnya mendapatkan alamat IP server proxy Anda, bukan alamat IP dari ISP yang komputer Anda.

Troubleshooting

Jika Anda tidak bisa melakukan koneksi SOCKS5 ke proxy server Anda, pastikan port yang digunakan oleh Dante terbuka. jalankan perintah ufw berikut (untuk sistem yang berbasis pada Debian) untuk membuka port dari firewall:

1ufw allow proto tcp to any port 1080

Catatan: Ubah port 1080 dan sesuaikan dengan konfigurasi proxy server Anda.