Mempergunakan tinc untuk melayani akses website pada VirtualBox
Saya memiliki sebuah server dari WinnerVPS dengan lokasi di Indonesia, dan juga sebuah BlockExplorer untuk Indocoin yang dijalankan pada VirtualBox pada komputer. Bagaimana caranya agar program BlockExplorer tersebut bisa diakses oleh umum? Ada beberapa contoh solusi sebagai berikut :
- Mempergunakan layanan No-IP atau dinamic dns
- Mempergunakan tinc dan proxy Nginx
Kali ini, saya akan membuat tutorial supaya website atau aplikasi yang dijalankan secara lokal dapat diakses secara umum memakai tinc. Secara konsep, pengunjung membuka alamat indocoin.ddns.net, yang diset di no-ip memakai IP dari WinnerVPS, kemudian diteruskan kepada VirtualBox.
URL --- VPS --- Local Server indocoin.ddns.net --- VPS (tinc server) --- Local Server (tinc client)
Dalam konsep ini, kita mempergunakan aplikasi tinc, karena koneksi antar server dapat terjadi secara langsung, tanpa diperlukan port forwarding untuk keperluan akses port. Untuk keperluan nama domain, saya memakai no-ip karena gratis, jadi kita tidak perlu membeli sebuah domain (kecuali memang sengaja ingin memakai domain sendiri).
- Konfigurasi No-IP
Silakan isi Hostname sesuai keinginan, dan IPv4 Address dengan IP VPS
- Konfigurasi tinc server di VPS
Edit /etc/tinc/tinc-up :
#!/bin/sh ifconfig $INTERFACE 10.0.0.1 netmask 255.255.255.0
Edit /etc/tinc/tinc-down :
#!/bin/sh ifconfig $INTERFACE down
Edit /etc/tinc/tinc.conf :
Name = winnervps AddressFamily = ipv4 Interface = tun1
Edit /etc/tinc/hosts/winnervps
Subnet = 10.0.0.1/32 Address = 103.236.255.255 -----BEGIN RSA PUBLIC KEY----- Gu7KXPZymIPXDfPcBJXmovJZCL234QtbWqvhEGoEQltyLOHQIWX0/umyHBvANmsQ akQUYoSHxXpXBzHE9IlYYJiTFjX3t+GICKgb/8YUZlHeFNBJ6EoPQi9ETRnCigHl VEF+dNDsjXCpf2UeqV8HT6kNlgnCIcntqtONSrEmhsR/J2eYd8ZduzG7be1ZMhRi YpFhJfpD4TCJpfk6BYlxVD89fioghOiJBbzQhC0e3vgmrTDznSiYcpRcr3qGEtjz -----END RSA PUBLIC KEY-----
Edit file /etc/nginx/sites-enabled/indocoin.conf
server { listen 80; server_name indocoin.ddns.net; location / { proxy_pass http://10.0.0.2:25000; # IP dan Port disesuaikan dengan Raspi proxy_set_header Host $host; proxy_buffering off; } }
- Konfigurasi tinc client di RaspberryPiEdit file /etc/tinc/tinc-up :
#!/bin/sh ifconfig $INTERFACE 10.0.0.2 netmask 255.255.255.0
Edit file /etc/tinc/tinc-down
#!/bin/sh ifconfig $INTERFACE down
Edit file /etc/tinc/tinc.conf :
Name = virtualbox AddressFamily = ipv4 Interface = tun1 ConnectTo = winnervps
Edit file /etc/tinc/hosts/virtualbox
Subnet = 10.0.0.2/32 -----BEGIN RSA PUBLIC KEY----- MIICCgKCAgEAyoRSK1A014PgLwIJj7VjdgGYyT0LIIyoHp6jx9dz9GFwMzP4qWFg /FG/ekMQh+GO5BQEYu2EN9HqB2PE+GCrHoru0MsFBREFVo4cAYGnfS6Yt0iNtN/E 27Z+XOVGbKM4StdAkSl6Z6SgxlLEk4/qfTyHUfmcdXNrrCSu58ynaeuoZqdFFkZG -----END RSA PUBLIC KEY-----
Blockexplorer dijalankan pada port 25000 di VirtualBox, misalnya kita ingin mengganti BlockExplorer dengan aplikasi lain, silakan saja sesuaikan portnya di file konfigurasi Nginx di VPS Supaya tinc server dan client dapat saling berkomunikasi, kita perlu mengcopy file yang ada di /etc/tinc/hosts ke masing-masing perangkat/server/raspi. Contoh penerapan tinc ini, tidak hanya untuk webserver, tapi bisa juga untuk cctv, dengan mengikuti contoh dan tinggal menyesaikan konfigurasinya. Untuk tutorial seting tinc di server dan client, ada banyak di internet, jadi saya hanya ambil garis besarnya saja disini . Semoga bermanfaat ya…
- Update 8September 2019:
Saya mempergunakan Raspberry PI yang terhubung pada sebuah VPS dari Hostforce dengan lokasi di Salem, North Carolina melalui tinc.
Raspberry PI ini digunakan untuk mendownload Torrent memakai Deluge dan Deluge Web, dengan domain memakai jasa ddns dari noip.com sehingga dapat diakses melalui web.
Semua request terhadap domain akan dilayani oleh Nginx di VPS, kemudian diteruskan kepada IP internal tinc Raspberry PI, tanpa perlu mengatur port forwarding Speedy.
Selain untuk download Torrent, Raspberry PI ini juga dipergunakan untuk mining Indocoin, jadi perlu dapat diakses dari luar jaringan internet di rumah untuk dikontrol sewaktu-waktu.
Member discussion