Làm cách nào để đặt máy chủ web Raspberry Pi của tôi ở chế độ công khai?


8

Vì vậy, cuối cùng tôi đã có một máy chủ web hoạt động, ngoại trừ nó chỉ có sẵn cho mạng cục bộ của tôi và tôi muốn công khai nó. Tôi có D-Link DIR-615 làm bộ định tuyến, địa chỉ IP của Pi của tôi là 192.168.0.14 và thông tin IP công khai của tôi trông như thế này:

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

Tất cả đều tốt trừ khi tôi không sống ở Công viên Sherwood, cách đó khoảng 2 giờ.

Tôi cần làm gì để công khai máy chủ của mình?

Bộ định tuyến của tôi hỗ trợ chuyển tiếp cổng, máy chủ ảo và DMZ. Tôi đang sử dụng máy chủ HTTP Apache.

Cảm ơn, nhưng điều này vẫn không giải quyết được vấn đề của tôi; Tôi chỉ muốn kết nối từ bên ngoài có thể một lần sau đó tôi sẽ tìm ra DDNS và như vậy nhưng bây giờ nó sẽ không kết nối với bất cứ điều gì khi tôi nhập địa chỉ IP Xplornet của tôi vào.

Câu trả lời:


13

Chuyển tiếp cổng 80 từ bộ định tuyến sang Pi của bạn và nếu bạn muốn SSH từ bên ngoài, cổng 22 cũng vậy. Xin lưu ý rằng với SSH từ bên ngoài, bất kỳ ai có thể truy cập đều có thể ssh hoặc truy cập các thiết bị khác trên mạng của bạn.

Khi bạn đã thiết lập, nếu IP của bạn vẫn giữ nguyên, bạn có thể sử dụng một cái gì đó như Cloudflare để trỏ tên miền vào đó. Nếu nó thay đổi hàng ngày, bạn sẽ cần một dịch vụ như DynDNS.


Vì vậy, tôi đã đặt bộ định tuyến của mình để chuyển tiếp cổng 80 sang cổng 80 bằng địa chỉ IP raspberry pi của tôi hoặc bất cứ điều gì nhưng nó vẫn chỉ "hết thời gian" mỗi khi tôi nhập địa chỉ IP bên ngoài của mình
Jim Jones

Hãy thử truy cập vào nó và chỉ định cổng 80, như xx.xx.xx.xx: 80
George Pearce

@Spencer: Bạn không thể kiểm tra chuyển tiếp cổng một cách đáng tin cậy từ bên trong mạng của mình vì không phải tất cả các bộ định tuyến đều hỗ trợ "kẹp tóc". Hãy thử kiểm tra nó từ bên ngoài mạng LAN của bạn. Ví dụ: sử dụng điện thoại di động tắt WiFi và sử dụng dữ liệu di động (3G, HCSD, v.v.) để kết nối không phải mạng LAN.
RedGrittyBrick

@SpencerKillen Bạn đang thử nghiệm từ bên ngoài? Nhiều thiết bị sẽ không NAT cho bạn nếu bạn đang ngồi trên cùng mạng LAN với raspberry pi và truy cập IP công cộng của bộ định tuyến. Nếu bạn có thể truy cập máy chủ web tại 192.168.0.14 từ mạng LAN của mình, RPI hoặc Apache không có lỗi, nhưng việc chuyển tiếp cổng không được thực hiện chính xác hoặc bộ định tuyến của bạn cũng có tường lửa ở đâu đó.
số

Nếu chuyển tiếp cổng quá cồng kềnh hoặc hoàn toàn không phải là một tùy chọn (ví dụ: nếu bạn đứng sau bộ định tuyến di động), bạn có thể thử dịch vụ chuyển tiếp như PageKite hoặc Yaler.net (Tiết lộ: Tôi là người sáng lập của Yaler)
tamberg

3

Có một vài điều cần lưu ý.

Một là ngay cả khi bạn có cổng chuyển tiếp được cấu hình chính xác trong bộ định tuyến của mình, bạn không thể kết nối với IP công cộng từ nhà vì một số bộ định tuyến chỉ chuyển tiếp kết nối đến từ "bên ngoài", chứ không phải "bên trong". Một vấn đề phổ biến khác là một số ISP không muốn người dùng của họ chạy các máy chủ công cộng và chặn các cổng đến phổ biến như cổng 80 hoặc 25.

Tôi không biết liệu một trong hai điều này có áp dụng trong trường hợp của bạn không, nhưng chúng có thể. Ngoài ra, tôi sẽ nói rằng bạn đang đi đúng hướng, định cấu hình bộ định tuyến của bạn và một giải pháp DNS động là cách hiệu quả nhất để làm điều này nếu nó hoạt động cho bạn.

Tuy nhiên, nếu nó không hoạt động vì một số lý do, tôi đã tạo một giải pháp có tên là PageKite ( http://pagekite.net/) để giúp đặt máy chủ công khai từ phía sau tường lửa nghiêm ngặt hoặc trên các thiết bị thay đổi vị trí thường xuyên. Nó hoạt động bằng cách tạo một đường hầm từ Raspberry Pi của bạn đến một máy chủ chuyển tiếp "mặt trước" để chuyển tiếp các yêu cầu đến và trả lời của bạn qua đường hầm. Vì vậy, bất cứ khi nào Pi của bạn có kết nối Internet hoạt động và có thể kết nối với rơle, máy chủ của bạn sẽ hiển thị (không cần chỉnh sửa bộ định tuyến hoặc ddns). Đó là phần mềm miễn phí, nhưng nếu mọi người sử dụng dịch vụ trực tuyến của chúng tôi để kết nối (thay vì chạy tiếp sức của chính họ ở đâu đó), chúng tôi yêu cầu mọi người trả một chút cho đặc quyền. Điều này tương tự với localtunnel đã được đề cập ở nơi khác, ngoại trừ PageKite được thiết kế với độ tin cậy và kết nối vĩnh viễn, không chỉ để thử nghiệm tạm thời.

Chúc may mắn!


Tôi nên đề cập rằng với mục đích sử dụng PageKite với Raspberry Pi, cách tốt nhất là làm theo hướng dẫn cho Debian, tại đây: pagekite.net/wiki/Howto/GNULinux/ConfigureYourSystem
Bjarni Rúnar


0

Nó phụ thuộc vào việc bạn muốn liên tục chia sẻ nội dung web của mình hay bạn chỉ cần truy cập công khai theo từng đợt. Sau này, không cần phải trải qua rắc rối khi thiết lập tài khoản DynDNS và mở các cổng chuyển tiếp trong bộ định tuyến của bạn.

Một giải pháp khá dễ dàng là sử dụng LocalTunnel , điều này sẽ giúp máy chủ web của bạn có thể truy cập thông qua một tên miền như:

http://8bv2.localtunnel.com

Nó rất hữu ích để chia sẻ tiến trình của một trang web bạn đang lưu trữ trên máy tính của bạn.


0

Giải pháp của tôi cho một số hệ thống dưới ip động là như sau:

Tôi có một tên miền từ godaddy Entrydns 1 cron job trên bộ định tuyến của tôi đang tải địa chỉ IP của tôi lên entrydns bằng mã thông báo (mã thông báo mà entrydns cung cấp). Và máy chủ dns của tôi dưới tên miền godaddy của tôi được đặt thành entrydns. Oh và đừng quên portforward :)

Nếu bạn cần tôi có thể cung cấp cho bạn hướng dẫn từng bước chi tiết hơn, nhưng tôi hy vọng bạn có thể tìm ra quy trình dễ dàng này thông qua google :)


1
có thể tốt hơn để cung cấp hướng dẫn từng bước chi tiết hơn, đặc biệt là nếu nó giúp những người khác có vấn đề tương tự. Tôi hiểu rằng việc googling sẽ giúp ích, nhưng tôi đoán mọi câu hỏi đều có thể được trả lời bằng google!
kolin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.