Akses Server Lokal dari Internet Menggunakan Serveo

Posted by

Pada tulisan sebelumnya, sempat dibahas bagaimana melakukan akses pada private server/lokal server dari internet dengan bantuan ngrok. Selain metode tunnel ngrok, ternyata banyak metode yang serupa. Salah satunya adalah Serveo. Serveo adalah sebuah SSH server yang hanya berfungsi sebagai remote port forwarding. Ketika user melakukan koneksi pada Serveo, user mendapatkan public URL yang dapat diakses dari internet dan menampilkan server lokal.

Sebagai contoh. Laptop saya terinstall dengan Apache web server. Tampilan dari Apache web server ini ingin bisa diakses dari internet. Saya hanya memiliki koneksi internet. Namun tidak memiliki ip public static. Dengan bermodalkan koneksi internet dan tunneling pada Serveo, tampilan Apache web server lokal saya dapat diakses dari internet. Kelebihan dari Serveo adalah tidak dibutuhkannya aplikasi yang harus didownload. Cukup SSH client yang defaultnya sudah tersedia pada Linux. Cukup jalankan perintah berikut pada komputer yang hendak diexpose portnya ke internet. Maka akan muncul public url yang bisa diakses dari internet

ssh -R 80:localhost:80 serveo.net

Contoh tampilan ketika menjalankan perintah diatas

user@ahmad:~> ssh -R 80:localhost:80 serveo.net
Hi there
Forwarding HTTP traffic from https://prae.serveo.net
Press g to start a GUI session and ctrl-c to quit.

Public url yang dihasilkan adalah https://prae.serveo.net. Public URL tersebut yang harus diakses dari internet agar bisa menampilkan apache web server lokal yang sudah disetup.

Tampilannya kurang lebih seperti ini

Akses langsung localhost dari laptop dan dari public url internet tampilannya sama.

Jika port webserver yang hendak diexpose ke internet itu 8080, maka perintahnya seperti ini :

ssh -R 80:localhost:8080 serveo.net

Jika ingin tetap akses dari internet menggunakan port 8080, maka port yang didepan diganti menjadi 8080 juga. Seperti ini :

ssh -R 8080:localhost:8080 serveo.net

Jika ada beberapa port yang hendak diexpose ke internet, bisa dijalankan dalam satu baris perintah seperti berikut :

ssh -R 80:localhost:80 -R 8080:localhost:8080 serveo.net

Jika port yang hendak diexpose ke internet tidak listen pada localhost, maka ganti localhost dengan IP atau hostname dimana port tersebut listen. Misalnya port 8080 listen pada IP 192.168.1.11, namun tidak listen pada localhost. Maka perintahnya menjadi seperti berikut :

ssh -R 8080:192.168.1.11:8080 serveo.net

Public URL yang diakses juga dapat dicustom sesuai keinginan. Misalnya memberikan nama opensuse

ssh -R opensuse:80:localhost:80 serveo.net

Maka public URL yang akan muncul adalah opensuse.serveo.net.

Selain webserver, port yang lain juga dapat diexpose ke internet. Misalnya port SSH

ssh -R 1223:localhost:22 serveo.net

Catatan : Port 1223 adalah port custom yang dapat diakses dari intenet. Sedangkan port 22 adalah port local SSH.
Contoh tampilan ketika menjalankan perintah diatas

user@ahmad:~> ssh -R 1223:localhost:22 serveo.net
Hi there
Forwarding TCP connections from serveo.net:1223
Press g to start a GUI session and ctrl-c to quit.

Untuk akses SSH dari internet, bisa akses pada public URL yang diberikan

ssh -l user serveo.net -p 1223

Berikut adalah contoh tampilan ketika berhasil login SSH dari internet

[root@relay ~]# ssh -l user serveo.net -p 1223
Password: 
Last login: Tue Nov 27 11:20:30 2018 from 127.0.0.1
Have a lot of fun...
user@ahmad:~> 

Jika port default SSH 22 di blok oleh provider internet, bisa gunakan port 443 untuk tunneling ke Serveo. Perintahnya menjadi seperti berikut :

ssh -p 443 -R 1223:localhost:22 serveo.net
ssh -p 443 -R 80:localhost:8080 serveo.net

Secara default, akses SSH akan terputus apabila tidak ada aktivitas akses terhadap server tunnel. Agar akses tunnel tetap tersambung meskipun tidak ada aktivitas, tambahkan parameter ServerAliveInterval

ssh -o ServerAliveInterval=60 -R 80:localhost:8080 serveo.net

Selain cara diatas, bisa juga install aplikasi autossh. Kemudian jalankan perintah berikut :

autossh -M 0 -R 80:localhost:8080 serveo.net

Kesimpulan :
Tunneling menggunakan Serveo cukup membantu bagi saya apabila hendak melakukan expose port tertentu dari private server/local server. Sehingga dapat diakses dari internet. Serveo cukup mudah digunakan dan menjadi alternatif akses remote selain dari Teamviewer, Anydesk, Zoho Assist dan Ngrok yang selama ini saya gunakan. Serveo juga menyediakan binary installer apabila hendak membuat server tunneling sendiri. Informasi lebih jelasnya, bisa langsung akses websitenya : https://serveo.net/

2 comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.