insights/content/tutorials/how-to-install-dante-socks-proxy-on-ubuntu/index.id.md
2023-11-10 20:37:01 +07:00

6 KiB

title description date lastmod draft noindex nav_weight series categories tags images authors
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. 2023-11-08T11:50:13+07:00 false false 1000
Privasi
Self-Hosted
SysAdmin
Networking
SOCKS
Proxy
Dante
jasmerah1966

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.

# membuat user baru
sudo useradd -r -s /bin/false myproxyuser
# mengubah password user baru tersebut
sudo 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:

sudo apt install dante-server
systemctl 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):

# konfigurasi log
logoutput: stderr

# danted service berjalan pada port 1080 di semua interface
internal: 0.0.0.0 port=1080

# interface mana yang akan digunakan untuk semua komunikasi keluar
external: eth0

clientmethod: none
socksmethod: username
user.privileged: root
user.unprivileged: nobody
user.libwrap: nobody

client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
}

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:

● danted.service - SOCKS (v4 and v5) proxy daemon (danted)
     Loaded: loaded (/lib/systemd/system/danted.service; enabled; preset: enabled)
     Active: active (running) since Thu 2023-11-09 16:51:01 WIB; 1 day 1h ago
       Docs: man:danted(8)
             man:danted.conf(5)
    Process: 885 ExecStartPre=/bin/sh -c        uid=`sed -n -e "s/[[:space:]]//g" -e "s/#.*//" -e "/^user\.privileged/{s/[^:]*://p;q;}" /etc/danted.conf`;     >
   Main PID: 935 (danted)
      Tasks: 21 (limit: 9304)
     Memory: 18.5M
        CPU: 2.701s
     CGroup: /system.slice/danted.service
             ├─    935 /usr/sbin/danted
             ├─    955 "danted: monitor"
             ├─1494108 "danted: io-chil"
             ├─1494116 "danted: io-chil"
             ├─1494127 "danted: request"
             ├─1495807 "danted: request"
             ├─1496272 "danted: negotia"
             ├─1496273 "danted: request"
             .... snip

Nov 09 16:51:01 aws-ec2 systemd[1]: Starting danted.service - SOCKS (v4 and v5) proxy daemon (danted)...
Nov 09 16:51:01 aws-ec2 systemd[1]: Started danted.service - SOCKS (v4 and v5) proxy daemon (danted).
Nov 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:

curl -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:

ufw allow proto tcp to any port 1080

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