Skip to main content

Cara Memasang dan Menggunakan SSH Stunnel di Openwrt

SSH atau dikenal juga sebagai Secure Shell adalah sebuah protokol jaringan yang memungkinkan untuk komunikasi data secara aman (secure) antar jaringan komputer. Pada openwrt sendiri fungsinya hampir mirip dengan VPN yaitu mengakses jaringan internet seakan-akan menggunakan jaringan pribadi sehingga dengan begitu koneksi yang kamu gunakan akan lebih secure lagi.

Untuk tutorial cara memasang Stunnel dan SSH-nya admin dapat dari artikel mbah rureka yaitu SSH SSL Stunnel di OpenWRT. Meskipun di artikel tersebut sudah lengkap, tapi disini admin akan coba menjelaskan kembali hal-hal yang belum sempat mbah Rureka jelaskan, sehingga nantinya artikel tersebut dapat dipahami dan semua tutorialnya dapat diterapkan dengan benar.

Sebelum itu pastikan kamu sudah mempunyai akun SSH SSL terlebih dahulu, apabila belum punya silakan buat akunnya di 5 Situs Penyedia Akun SSH, OpenVPN, Shadowsocks, WireGuard, dan V2Ray Secara Gratis. Serta tidak lupa juga telah memahami bagaimana cara menggunakan Terminal di Openwrt, untuk tutorialnya bisa dibaca di Cara Mengakses Router OpenWRT dari Aplikasi Termux Android, Cara Mengakses Router Openwrt dengan Putty di PC / Komputer, dan Cara Mengakses Router Openwrt dengan WinSCP di PC / Komputer.

Contoh Akun SSH SSL dari SSHOcean

Cara Memasang Stunnel dan SSH di Openwrt

Pada tahap ini paket yang harus dipasang ialah Stunel dan OpenSSH, adapun caranya yaitu dengan login dulu ke Openwrt melalui Terminal lalu masukan perintah berikut


opkg update && opkg install stunnel openssh-client

Setelah paketnya berhasil di pasang, langkah selanjutnya ialah mengatur Stunnel-nya agar dapat dijalankan pada direktori /root/ yaitu dengan memasukan perintah berikut di Terminal


/etc/init.d/stunnel disable

Setelah itu tinggal membuat konfigurasi Stunnel, pada tahap ini kamu wajib memiliki akun SSH SSL karena nantinya pada konfigurasi Stunnel akan dimasukan Hostname dan Port akun SSH SSL yang digunakan. Untuk membuat konfigurasinya masukan perintah berikut


nano ssh

Catatan: nama konfigurasi "ssh" dapat diganti dengan nama lain misalnya seperti openssh, namun nantinya pada konfigurasi stunnel juga harus disesuaikan sehingga awalan konfigurasinya menjadi [OPENSSH], untuk lebih jelasnya silakan lihat contoh konfigurasi Stunnel-nya di bawah.

Maka akan terbuka tampilan baru, selanjutnya masukan konfigurasi berikut


[SSH]
client = yes
accept = localhost:69
connect = ca02.sshocean.net:445
sni = google.com

Catatan:
- Port 69 pada localhost:69 dapat diganti dengan Port lain misalnya seperti 89, 7878 atau yang lainnya. Harap ingat baik-baik Port tersebut karena nantinya Port tersebut akan ditambahkan ke dalam konfigurasi SSH.
- ca02.sshocean.net:445 disesuaikan dengan Hostname dan Port SSL akun SSH yang kamu gunakan, untuk lebih jelasnya silahkan lihat akun SSH yang admin gunakan yang ada pada awal artikel lalu bandingkan dengan konfigurasi Stunnel tersebut.
- google.com pada sni = google.com dapat diganti dengan domain lain contohnya seperti yahoo.com, bing.com atau yandex.com.

Agar konfigurasinya tersimpan, tekan tombol CTRL lalu ketik X, nanti akan muncul konfirmasi Save modified buffer ketik Y, setelah itu akan muncul konfirmasi lagi File Name to Write tekan Enter untuk menyimpannya.

Cara Memasang dan Membuat Konfigurasi Redsocks gproxy di Openwrt

Setelah Stunnel-nya berhasil di pasang, selanjutnya tinggal membuat konfigurasi redsocks dan gproxy-nya. Adapun caranya yaitu masih menggunakan Terminal lalu masukan perintah berikut


opkg install redsocks

Setelah pemasangan redsocksnya selesai, backup terlebih dahulu konfigurasi bawaannya dengan cara memasukan berikut


mv /etc/redsocks.conf /etc/redsocks.conf.bak

Sekarang masukan perintah berikut untuk membuat konfigurasi redsocks-nya


nano redsocks.conf

Maka akan terbuka tampilan baru lalu masukan perintah berikut ini


base {
log_debug = off;
log_info = on;
daemon = on;
redirector = iptables;
}

redsocks {
local_ip = 0.0.0.0;
local_port = 12345;
ip = 127.0.0.1;
port = 1080;
type = socks5;
}

redudp {
local_ip = 127.0.0.1;
local_port = 10053;
ip = 127.0.0.1;
port = 1080;
dest_ip = 8.8.8.8;
dest_port = 53;

udp_timeout = 30;
udp_timeout_stream = 180;
}

dnstc {
local_ip = 127.0.0.1;
local_port = 5300;
}

Untuk menyimpan konfigurasinya, tekan tombol CTRL lalu ketik X, nanti akan muncul konfirmasi Save modified buffer ketik Y, setelah itu akan muncul konfirmasi lagi File Name to Write tekan Enter untuk menyimpannya.

Atau bisa juga mengunduh berkas redsocks.conf yang sudah jadinya melalui Terminal yaitu dengan memasukan perintah berikut


wget --no-check-certificate https://rawcdn.githack.com/e2phreaker/openwrt/4ede1c3fb39accfd0396693f061432e57899cea3/redsocks.conf -O /etc/redsocks.conf

Catatan: sebelum menjalankan perintah ini, pastikan kamu sudah menjalankan perintah untuk mem-backup konfigurasi redsocks.conf yaitu "mv /etc/redsocks.conf /etc/redsocks.conf.bak".

Langkah selanjutnya tinggal membuat konfigurasi gproxy, masukan perintah berikut di Terminal

 
nano /usr/bin/gproxy

Setelah itu masukan konfigurasi berikut


#!/bin/sh

case $1 in
"stop")
 iptables -t nat -F REDSOCKS
 iptables -t nat -F OUTPUT
 iptables -t nat -F PREROUTING
 echo "Internet Disconnected"
 killall redsocks
 exit
;;
esac

iptables -t nat -N REDSOCKS
#Ignore LANs and some other reserved addresses.
iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 10.10.1.0/22 -j RETURN
iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN
iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN
iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN
iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN
iptables -t nat -A REDSOCKS -d 202.152.240.50/32 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345
iptables -t nat -A PREROUTING -d 192.168.0.0/16 -j RETURN
iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-ports 12345
iptables -t nat -A OUTPUT -j REDSOCKS

redsocks -c /etc/redsocks.conf > /dev/null &
echo "Internet Connected"

Untuk menyimpan konfigurasinya, tekan tombol CTRL lalu ketik X, nanti akan muncul konfirmasi Save modified buffer ketik Y, setelah itu akan muncul konfirmasi lagi File Name to Write tekan Enter untuk menyimpannya.

Atau bisa juga mengunduh berkas gproxy yang sudah jadinya melalui Terminal yaitu dengan memasukan perintah berikut


wget --no-check-certificate https://rawcdn.githack.com/e2phreaker/openwrt/4ede1c3fb39accfd0396693f061432e57899cea3/gproxy -O /usr/bin/gproxy

Setelah itu agar konfigurasi gproxy dapat di execute, masukan perintah berikut


chmod 755 /usr/bin/gproxy

Cara Membuat Konfigurasi SSH di Openwrt

Setelah selesai mengatur konfigurasi stunnel, redsocks, dan gproxy pada tutorial sebelumnya. Sekarang waktunya untuk membuat konfigurasi SSH-nya. Adapun caranya yaitu buka Terminal lalu masukan perintah berikut


mkdir .ssh && nano .ssh/config

Maka akan terbuka tampilan baru, setelah itu masukan konfigurasi berikut


Host rureka*
PermitLocalCommand yes
LocalCommand gproxy %h
DynamicForward 1080
StrictHostKeyChecking no
ServerAliveInterval 10
TCPKeepAlive yes

Host rureka1
HostName 127.0.0.1
Port 69
User sshocean-akunku

Catatan:
- Host rureka* dan rureka1 dapat diganti dengan nama lain contohnya seperti openssh* dan openssh1.
- Port 69 disesuaikan dengan Port yang ada pada konfigurasi Stunnel yang telah kamu buat sebelumnya.
- sshocean-akunku disesuaikan dengan nama user akun SSH yang telah kamu buat sebelumnya.

Untuk menyimpan konfigurasinya, tekan tombol CTRL lalu ketik X, nanti akan muncul konfirmasi Save modified buffer ketik Y, setelah itu akan muncul konfirmasi lagi File Name to Write tekan Enter untuk menyimpannya.

Cara Menjalankan SSH Stunnel di Openwrt

Setelah semua konfigurasinya siap, sekarang saatnya untuk menjalankannya. Adapun perintah yang harus dimasukan di Terminal ialah


stunnel nama_konfigurasi_stunnel && ssh -N rureka1 &

Apabila diterapkan maka hasilnya akan terlihat seperti


stunnel ssh && ssh -N rureka1

Catatan:
- ssh pada stunnel ssh disesuaikan dengan nama konfigurasi stunnel yang telah dibuat sebelumnya, apabila sebelumnya kamu membuat konfigurasi stunnel dengan nama openssh maka perintahnya menjadi stunnel openssh.
- rureka1 pada ssh -N rureka1 disesuaikan dengan nama host yang ada pada konfigurasi SSH, apabila sebelumnya kamu menamai host tersebut dengan nama openssh1 maka perintahnya menjadi ssh -N openssh1.

Setelah menjalankan perintah tersebut maka nanti akan diminta untuk memasukan password SSH. Selanjutnya tinggal masukan password SSH sesuai dengan akun SSH yang kamu telah buat sebelumnya.

Apabila kamu ingin password SSH-nya dimasukan secara otomatis saat menjalankan SSH maka kamu perlu memasang sshpass terlebih dahulu. Sebelum itu pastikan paket yang akan di unduh sesuai dengan arsitektur openwrt yang digunakan, untuk mengeceknya masukan perintah berikut di Terminal


opkg print-architecture | awk '{print $2}'

Ketika perintahnya diterapkan maka contoh hasilnya akan terlihat seperti berikut


all
noarch
mipsel_24kc

Informasi jenis arsitektur Openwrt yang kamu gunakan ada pada baris ketiga, setelah itu unduh paket sshpass-nya sesuai dengan arsitektur Openwrt yang digunakan.

Kumpulan SSHPASS untuk Openwrt

Silakan pilih sshpass yang sesuai dengan Openwrt yang digunakan

aarch64_cortex-a53 = sshpass-1.06-aarch64_cortex-a53.ipk
mips_mips32 = sshpass-1.06-mips_mips32.ipk
mipsel_24kc = sshpass-1.06-mipsel_24kc.ipk
mips_24kc = sshpass-1.05-mips_24kc.ipk

Salin link sshpass di atas yang sesuai dengan arsitektur Openwrt yang kamu gunakan lalu masukan perintah berikut di Terminal untuk mengunduh dan memasang paket sshpassnya


wget --no-check-certificate link_paket_sshpass && opkg install *.ipk

Ketika diterapkan maka perintahnya akan terlihat seperti


wget --no-check-certificate https://github.com/e2phreaker/openwrt/raw/master/sshpass_1.06-Rureka.com_mipsel_24kc.ipk && opkg install *.ipk

Setelah paketnya terpasang, masukan perintah berikut untuk menjalankan stunnel, ssh dan sshpass-nya


stunnel nama_konfigurasi_stunnel && sshpass -p password_ssh ssh -N rureka1

Apabila perintahnya diterapkan maka hasilnya akan seperti berikut


stunnel ssh && sshpass -p vpn123 ssh -N rureka1 &

Catatan:
- ssh pada stunnel ssh disesuaikan dengan nama konfigurasi stunnel yang telah dibuat sebelumnya, apabila sebelumnya kamu membuat konfigurasi stunnel dengan nama openssh maka perintahnya menjadi stunnel openssh.
- vpn123 pada sshpass -p vpn123 disesuaikan dengan password akun SSH yang telah kamu buat sebelumnya.
- rureka1 pada ssh -N rureka1 disesuaikan dengan nama host yang ada pada konfigurasi SSH, apabila sebelumnya kamu menamai host tersebut dengan nama openssh1 maka perintahnya menjadi ssh -N openssh1.

Ketika SSH-nya berhasil dijalankan maka tampilannya akan seperti gambar berikut ini

Untuk menghentikan layanan Stunnel dan SSH-nya masukan perintah berikut


gproxy stop && killall stunnel

Apabila hanya ingin menghentikan layanan SSH-nya saja maka cukup masukan


gproxy stop

Untuk mengatasi masalah DNS Leak (Kebocoran DNS) pada Openwrt, silakan baca artikel Cara Memasang DNS over HTTPS (DOH) di Openwrt atau Cara Memasang DNSCrypt di Openwrt.

Demikianlah artikel Cara Memasang dan Menggunakan SSH Stunnel di Openwrt, apabila ada yang kurang jelas silakan tanyakan di kolom komentar.

Comment Policy: Silahkan tuliskan komentar Anda yang sesuai dengan topik postingan halaman ini. Komentar yang berisi tautan tidak akan ditampilkan sebelum disetujui.
Buka Komentar