Tôi muốn triển khai một Raspberry Pi trong ngôi nhà cuối tuần của tôi. Raspberry Pi có mặt để ghi lại nhiệt độ và gửi chúng đến một máy chủ từ xa có ip cố định, lưu dữ liệu và hiển thị nó trên một trang web đơn giản.
Tuy nhiên, tình huống có thể phát sinh là tôi muốn thay đổi thứ gì đó trên Raspberry Pi. Ví dụ: cập nhật hệ thống hoặc thay đổi chương trình gửi dữ liệu đến máy chủ hoặc bất cứ điều gì.
Với thiết lập được đề xuất, tôi sẽ không thể kết nối với Raspberry Pi từ bên ngoài mạng LAN.
LƯU Ý: Tôi không muốn thay đổi mạng và bộ định tuyến hiện tại không có khả năng chuyển tiếp cổng, dynDNS hoặc VPN.
Gần đây tôi đã đọc về cú đấm lỗ UDP. Ý tưởng cơ bản là, máy khách gửi Gói UDP đến địa chỉ máy chủ đã biết (nghĩa là đã bật IP công khai hoặc dynDNS). Máy khách B muốn kết nối với máy khách A yêu cầu máy chủ cung cấp IP công cộng và số cổng của khách hàng A.
Sau đó, nó có thể kết nối trực tiếp với máy khách A trên IP công cộng và cổng động. Do máy khách A được kết nối lần đầu với máy chủ trên cổng hiện được sử dụng, NAT sẽ chuyển tiếp các gói tới máy khách A.
Tôi hy vọng tôi đã tóm tắt ý tưởng một cách chính xác, ít nhiều
Tất cả điều này nghe có vẻ hay, nhưng vấn đề là, điều này không được cách ly để hoạt động với kết nối TCP, vì bộ định tuyến có thể hiểu được cái bắt tay của kết nối TCP và nếu nó không được xây dựng chính xác, nó sẽ không chuyển tiếp các kiện hàng.
Vậy, làm cách nào tôi có thể mở Phiên SSH từ máy khách B sang máy khách A mà không cần máy khách A ngồi sau bộ định tuyến với dynDNS, IP công cộng sửa chữa hoặc khả năng chuyển tiếp cổng? Việc sử dụng một máy chủ trung tâm với một tên miền công cộng, sửa chữa có thể khó khăn.
-w
nhưng anh ta nói udp qua tcp (có lẽ bởi anh ta bao gồm mọi nỗ lực để chuyển tiếp udp với ssh), liên quan đến các vấn đề như độ trễ cao và truyền lại những thứ bạn không muốn nữa. Tôi đoán nó vẫn là một điều thú vị để thử mặc dù. Tôi thấy vpn này qua ssh và -w cũng được đề cập ở đây wiki.archlinux.org/index.php/VPN_over_SSH