Bagaimana cara membuat server web Raspberry Pi saya menjadi publik?

8

Jadi saya akhirnya mendapatkan server web, kecuali itu hanya tersedia untuk jaringan lokal saya, dan saya ingin membuatnya publik. Saya memiliki D-Link DIR-615 sebagai router, alamat IP Pi saya adalah 192.168.0.14 dan info IP publik saya terlihat seperti ini:

IP Information: xx.xx.xx.xx
ISP:    Xplornet Communications
Organization:   Xplornet Communications
Connection: Broadband
Services:   None Detected
City:   Sherwood Park
Region: Alberta
Country:    Canada

Semua terdengar bagus kecuali saya tidak tinggal di Sherwood Park, saya sekitar 2 jam perjalanan.

Apa yang harus saya lakukan untuk menjadikan server saya publik?

Router saya mendukung penerusan port, server virtual dan DMZ. Saya menggunakan server HTTP Apache.

Terima kasih, tetapi ini masih belum menyelesaikan masalah saya; Saya hanya ingin terhubung dari luar mungkin sekali maka saya akan mencari tahu DDNS dan semacamnya tetapi untuk sekarang tidak akan terhubung ke apa pun ketika saya mengetik alamat IP Xplornet saya.

Jim Jones
sumber

Jawaban:

13

Teruskan port 80 dari router Anda ke Pi Anda, dan jika Anda ingin SSH dari luar, port 22 juga. Ketahuilah bahwa dengan SSH dari luar siapa pun yang dapat masuk dapat ssh atau mengakses perangkat lain di jaringan Anda.

Setelah Anda siap, jika IP Anda tetap sama, Anda dapat menggunakan sesuatu seperti Cloudflare untuk mengarahkan domain ke sana. Jika berubah setiap hari, Anda akan memerlukan layanan seperti DynDNS.

George Pearce
sumber
K jadi saya mengatur router saya untuk meneruskan port 80 ke port 80 dengan alamat ip raspberry pi saya atau apa pun tetapi masih "habis" setiap kali saya mengetikkan alamat ip eksternal saya
Jim Jones
Coba akses dan tentukan port 80, seperti xx.xx.xx.xx: 80
George Pearce
@Spencer: Anda tidak dapat dengan andal menguji penerusan port dari dalam jaringan Anda karena tidak semua router mendukung "penataan rambut". Coba mengujinya dari luar LAN Anda. Misalnya menggunakan ponsel dengan WiFi mati dan menggunakan data seluler (3G, HCSD, dll) untuk koneksi non-LAN.
RedGrittyBrick
@SpencerKillen. Apakah Anda menguji dari luar? Banyak perangkat tidak akan menghapus ini untuk Anda jika Anda duduk di LAN yang sama dengan raspberry pi Anda dan mengakses IP publik dari router Anda. Jika Anda dapat mengakses server web di 192.168.0.14 dari LAN Anda, RPI atau Apache tidak bersalah, tetapi penerusan port tidak dilakukan dengan benar, atau router Anda memiliki firewall di suatu tempat juga.
nos
Jika penerusan port terlalu rumit, atau bukan opsi sama sekali (misalnya jika Anda berada di belakang router seluler), Anda dapat mencoba layanan relai seperti PageKite atau Yaler.net (Pengungkapan: Saya adalah pendiri Yaler)
tamberg
3

Ada beberapa hal yang perlu diingat.

Salah satunya adalah bahwa bahkan jika Anda memiliki port forwarding yang dikonfigurasi dengan benar di router Anda, Anda mungkin tidak dapat terhubung ke IP publik Anda dari rumah karena beberapa router hanya meneruskan koneksi yang datang dari "luar", bukan "dalam". Masalah umum lainnya adalah beberapa ISP tidak ingin penggunanya menjalankan server publik dan memblokir port masuk umum seperti port 80 atau 25.

Saya tidak tahu apakah salah satu dari ini berlaku dalam kasus Anda, tetapi mereka mungkin. Selain itu, saya akan mengatakan Anda berada di jalur yang benar, mengkonfigurasi router Anda dan solusi DNS dinamis adalah cara paling efisien untuk melakukan ini jika itu bekerja untuk Anda.

Namun, jika itu tidak berhasil karena suatu alasan, saya membuat solusi yang disebut PageKite ( http://pagekite.net/) untuk membantu menjadikan server publik dari balik firewall ketat atau pada perangkat yang sering berganti lokasi. Ini bekerja dengan membuat terowongan dari Raspberry Pi Anda ke server relay "front-end" yang meneruskan permintaan masuk Anda dan balasan di atas terowongan. Jadi, setiap saat Pi Anda memiliki koneksi Internet yang berfungsi dan dapat terhubung ke relai, server Anda akan terlihat (tidak perlu tweak router atau ddns diperlukan). Ini adalah perangkat lunak gratis, tetapi jika orang menggunakan layanan online kami untuk terhubung (alih-alih menjalankan relay sendiri di suatu tempat), kami meminta orang untuk membayar sedikit untuk mendapatkan hak istimewa. Ini mirip dengan saluran lokal yang disebutkan di tempat lain, kecuali PageKite dirancang dengan keandalan dan koneksi permanen, tidak hanya untuk pengujian sementara.

Semoga berhasil!

Bjarni Rúnar
sumber
Saya harus menyebutkan bahwa untuk keperluan menggunakan PageKite dengan Raspberry Pi, yang terbaik adalah mengikuti instruksi untuk Debian, di sini: pagekite.net/wiki/Howto/GNULinux/ConfigureYourSystem
Bjarni Rúnar
0

Anda akan membutuhkan layanan seperti DynDNS, atau mendapatkan IP statis untuk diri Anda sendiri. Jika tidak, Anda dapat mempertimbangkan VPN.

pengguna1945104
sumber
0

Itu tergantung apakah Anda ingin terus-menerus membagikan konten web Anda, atau Anda hanya perlu akses publik episodik. Untuk yang terakhir, tidak perlu melalui kerumitan menyiapkan akun DynDNS dan membuka port penerusan di router Anda.

Solusi yang cukup mudah adalah dengan menggunakan LocalTunnel , yang akan membuat server web Anda dapat diakses melalui nama domain seperti:

http://8bv2.localtunnel.com

Ini sangat berguna untuk berbagi kemajuan dari situs web yang Anda hosting di komputer Anda.

Mickaël Le Baillif
sumber
0

Solusi saya untuk beberapa sistem di bawah ip dinamis adalah sebagai berikut:

Saya memiliki domain dari pekerjaan cron godddy Entrydns 1 pada router saya yang mengunggah alamat ip saya ke entrydns dengan token (token yang disediakan oleh entrydns). Dan server dns saya di bawah domain gaduh saya diatur ke entrydns. Oh dan jangan lupa portforward :)

Jika perlu, saya bisa memberi Anda panduan langkah demi langkah yang lebih rinci, tetapi saya harap Anda bisa mengetahui proses mudah ini melalui google :)

pembuat kopi
sumber
1
mungkin lebih baik untuk menyediakan panduan langkah demi langkah yang lebih rinci, terutama jika itu membantu orang lain dengan masalah yang sama. Saya mengerti bahwa googling akan membantu, tetapi saya kira setiap pertanyaan dapat dijawab dengan google!
kolin