Jika Anda menjalankan server lokal di rumah Anda di laptop atau PC lama—seperti server Plex Media, server file, server web, atau server lainnya—Anda dapat membukanya ke internet dengan menggunakan opsi penerusan porta di router. Namun, tidak aman dan tidak disarankan untuk mengakses server seperti itu di lingkungan produksi.
Kami akan menunjukkan cara mengekspos server lokal Anda secara aman dengan koneksi HTTPS ke internet menggunakan layanan Cloudflare Tunnel gratis—tanpa mengungkapkan IP publik Anda.
Apa itu Terowongan Cloudflare?
Terowongan Cloudflare, sebelumnya dikenal sebagai Terowongan Argo, membantu pengguna untuk mengekspos sumber daya mereka dengan aman, seperti server lokal, ke internet tanpa alamat IP publik atau harus mengaktifkan port forwarding di router. Saat Anda menyiapkan Terowongan Cloudlfare di sistem Windows, macOS, atau Linux, terowongan ringan daemon (cloudflared) diinstal dan berada di antara sumber daya Anda (server lokal) dan Cloudflare jaringan. Dengan Cloudflare Tunnel, Anda dapat dengan aman mengekspos dan menghubungkan server web HTTP lokal, desktop jarak jauh, server SSH, atau berbagai protokol lainnya ke internet.
Di bawah, petunjuk bertahap kami menunjukkan cara menyiapkan daemon tunneling cloudflared di Windows, macOS, Linux, dan Raspberry Pi untuk mengekspos server lokal ke internet.
Sebelum kamu memulai
Untuk menginstal dan menyiapkan daemon tunneling cloudflared di sistem Anda, Anda harus memenuhi prasyarat berikut:
- Daftarkan nama domain. Anda dapat membelinya dari penyedia layanan, seperti GoDaddy, atau Anda bisa mendapatkan domain gratis dari freenom.com.
- Setelah mendaftarkan nama domain, buat akun Cloudflare dan tambahkan domain Anda—lihat Pengaturan cloudflare.
- Kemudian ubah atau perbarui server nama domain ke server nama Cloudflare—lihat Dokumentasi cloudflare. Pengaturan ini tersedia di portal tempat Anda mendaftar atau membeli domain.
Setelah persyaratan ini terpenuhi, Anda dapat mengikuti langkah-langkah di bawah ini untuk menyiapkan Terowongan Cloudflare di komputer Windows, macOS, Linux, atau Raspberry Pi Anda.
Instal Terowongan Cloudflare di Windows
Menyiapkan Cloudflare Tunnel pada sistem Windows mengharuskan Anda menginstal daemon sisi server yang ringan. Pergi rilis cloudflare halaman dan unduh versi yang benar untuk versi Windows Anda:
- Windows 32-bit: cloudflared-windows-386.exe
- Windows 64-bit: cloudflared-windows-amd64.exe
Setelah mengunduh pengaturan daemon cloudflared, buka folder tempat pengaturan berada dan ganti nama file menjadi cloudflared.exe. Kemudian buka Command Prompt dan navigasikan ke lokasi di mana daemon cloudflared berada menggunakan CD memerintah. Contohnya:
CD C:\Users\Ravi Singh\Downloads\Programs
Kemudian jalankan perintah berikut untuk memeriksa versi dan menginstal pembaruan terbaru.
cloudflare.exe--Versi: kapan
cloudflare.exememperbarui
Jika Anda melihat output seperti yang ditunjukkan pada tangkapan layar di bawah, Anda siap melakukannya.
Anda harus memeriksa pembaruan cloudflared sesekali, agar penyiapan tetap diperbarui dan menghindari masalah konektivitas.
Instal Terowongan Cloudflare di macOS
Di macOS, Anda dapat menggunakan aplikasi Terminal untuk mengunduh dan menginstal daemon cloudflared, lalu menggunakan perintah untuk membuat terowongan yang aman dan membuka server lokal ke internet.
Untuk mengunduh cloudflared, jalankan perintah berikut di Terminal:
buatan Install cloudflare/cloudflare/cloudflare
Atau, Anda dapat menjalankan perintah ini untuk mengunduh cloudflared:
buatan Install cloudflare
Instal Terowongan Cloudflare di Linux
Berdasarkan sistem operasi Linux yang Anda gunakan, unduh paket cloudflared. Kemudian buka aplikasi Terminal, navigasikan ke lokasi tempat paket diunduh, dan instal. Atau, tergantung pada distro Linux Anda, Anda dapat menggunakan salah satu dari perintah berikut untuk mengunduh dan menginstal cloudflared.
Instal DEB
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && dpkg -i cloudflared-linux-amd64.deb
Pemasangan RPM
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-x86_64.rpm
Arch Linux
Di Arch Linux, gunakan alat pacman untuk menginstal cloudflared.
pacman -Syu cloudflared
Instal Cloudflared Tunnel di Raspberry Pi
Tidak ada build atau repositori cloudflared resmi untuk Raspberry Pi Zero, 2, 3, atau 4. Namun, Anda dapat menginstal dan menggunakan build tidak resmi ARMv6 untuk Raspberry Pi untuk menyiapkan terowongan cloudlfared di Raspberry Pi OS. Kami telah membahas beberapa tutorial, seperti pengelola kata sandi BitWarden yang dihosting sendiri di Raspberry Pi Zero, di mana kami telah menggunakan build tidak resmi untuk mengekspos server lokal kami ke internet dengan koneksi HTTPS melalui Terowongan Cloudflare.
Untuk menginstal cloudflared di Raspberry Pi OS Bullseye (atau versi lain), jalankan perintah berikut di Terminal.
sudo wget https://hobin.ca/cloudflared/releases/2022.8.2/cloudflared_2022.8.2_arm.tar.gz
sudoter-xvzfcloudflared_2022.8.2_lengan.ter.gz
sudo cp ./cloudflared /usr/lokal/bin
sudo chmod +x /usr/lokal/bin/cloudflared
cloudflared -v
Untuk memeriksa versi tidak resmi terbaru untuk Raspberry Pi, lihat Halaman pembuatan ARMv6.
Buat dan Siapkan Terowongan Cloudflare
Setelah daemon cloudflared diunduh dan diinstal di Windows, macOS, Linux, atau Raspberry Pi Anda, Anda dapat membuat Cloudflare Tunnel dengan menggunakan perintah berikut di aplikasi Terminal atau Command Prompt:
login cloudflare
Di Windows, macOS, atau Linux, ini akan membuka halaman login Cloudflare di browser web default Anda. Jika jendela browser tidak terbuka secara otomatis, salin URL yang ditampilkan di output perintah lalu tempelkan ke browser web dan masuk ke akun Cloudflare Anda.
Setelah masuk, pilih domain yang Anda tambahkan ke akun Cloudlfare dan klik Mengizinkan.
Setelah diotorisasi, Anda akan melihat pesan "Anda telah berhasil masuk…". Ini juga akan menghasilkan a cert.pem file dan simpan di lokasi direktori cloudflared default:
- Jendela: %USERPROFILE%\.cloudflared
- macOS: ~/.cloudflared
- Linux: /etc/cloudflared,
- RaspberryPi: /usr/local/etc/cloudflared
Selanjutnya, kita perlu membuat terowongan dengan menggunakan perintah berikut:
terowongan cloudflared buat <NamaTerowongan Anda>
Anda dapat menamai terowongan Anda apa pun yang Anda suka. Misalnya, kami menghosting situs WordPress di laptop lama dan menggunakan nama situs sebagai nama terowongan; ini membuatnya mudah diingat.
Perintah tersebut akan membuat terowongan dan juga file JSON dengan UUID terowongan alfanumerik yang unik. Salin jalur file JSON dan terowongan UUID, tempel di Notepad atau Notes List, dan simpan dengan aman karena kita memerlukannya untuk membuat file konfigurasi.
Untuk membuat file konfigurasi di macOS, Linux, atau Raspberry Pi OS, jalankan perintah berikut,
sudonano~/.cloudflared/config.yml
Di editor, rekatkan kode berikut.
terowongan: <TunnelUUID>
kredensial-file: /root/.cloudflared/<TuinnelUUID>.json
jalan masuk:
-nama host: rumah saya.smartghar.org
layanan: http://192.168.0.1
-melayani: http_status:404
Pastikan untuk mengganti TunnelUUID dan jalur file JSON di kredensial-file baris kode. Tekan CTRL + X atau Perintah + X (macOS) dan kemudian Y kunci diikuti oleh Memasuki untuk menyimpan perubahan di config.yml mengajukan.
Di Windows, Anda dapat menggunakan File Explorer dan menavigasi ke lokasi berikut:
C:\Pengguna\Nama profilmu\.cloudflared
Kemudian klik kanan, pilih Baru > Dokumen Teks, dan rekatkan blok kode yang disebutkan di atas.
Klik Melihat di File Explorer dan aktifkan Ekstensi nama file pilihan.
Kemudian edit dokumen teks bernama config.yml.
Anda dapat menambahkan beberapa nama host dan layanan di file konfigurasi untuk mengaksesnya melalui internet melalui Terowongan Cloudlfare. Cukup, salin dua baris pertama di bawah jalan masuk: baris kode dan rekatkan sebelum -layanan: http_status: 404. Ganti nama host dan IP server lokal untuk meneruskan lalu lintas dari internet ke server lokal tertentu. Lihat contoh di bawah ini.
Contoh untuk beberapa nama host dan layanan:
terowongan: <TunnelUUID>
kredensial-file: /root/.cloudflared/<TuinnelUUID>.json
jalan masuk:
-nama host: rumah saya.smartghar.org
layanan: http://192.168.0.1
-nama host: kompleks.smartghar.org
layanan: http://192.168.0.136
-melayani: http_status:404
Simpan perubahan lalu buat catatan CNAME di Cloudflare DNS menggunakan perintah berikut.
dns rute terowongan cloudflared <Nama Terowongan><nama host>
Contohnya:
cloudflareterowonganrutednssmartgharrumah saya.smartghar.org
Setelah CNAME ditambahkan, Anda dapat memulai terowongan untuk mengakses server lokal Anda melalui internet menggunakan nama host yang Anda tetapkan.
lari terowongan cloudflared <Nama Terowongan>
Jika Anda melihat keluaran yang serupa seperti pada tangkapan layar di atas, terowongan telah berhasil dimulai. Anda sekarang dapat membuka browser web di perangkat apa pun yang terhubung ke internet dan mengunjungi nama host. Untuk kasus ini, itu myhome.smartghar.org.
Karena kami ingin nama host memuat halaman konfigurasi router kami, kami menambahkan IP 192.168.0.1, yang sebaliknya hanya dapat diakses melalui jaringan lokal.
Anda harus mengaktifkan opsi SSL/TLS ke Fleksibel atau Penuh (mana saja yang cocok untuk Anda) untuk mengaktifkan koneksi HTTPS yang aman dengan instans lokal Anda.
Kemungkinan Tanpa Batas
Dengan Cloudlfare Tunnel, Anda dapat mengakses pengaturan server apa pun di rumah Anda melalui internet secara gratis. Anda dapat menggunakan layanan ini untuk menghosting situs web di sistem lokal dan mengujinya sebelum menerapkannya di server web atau mengizinkan akses ke publik. Anda juga dapat menggunakannya untuk mengakses smart home lokal Anda dengan aman di Home Assistant atau server lain melalui internet.
Kami telah menyiapkan layanan Terowongan Cloudflare di Raspberry Pi Zero W, yang lebih kecil tapak, mengkonsumsi lebih sedikit daya, dan bekerja dengan sangat baik, memungkinkan kami untuk mengakses semua server lokal kami dari jarak jauh.