주말 별장에 Raspberry Pi를 배포하고 싶습니다. Raspberry Pi는 온도를 기록하고 고정 IP를 가진 원격 서버로 전송하여 데이터를 저장하고 간단한 웹 사이트에 표시합니다.
그러나 Raspberry Pi에서 무언가를 변경하려는 상황이 발생할 수 있습니다. 예를 들어 시스템 업데이트 또는 데이터를 서버로 보내는 프로그램의 변경 등.
제안 된 설정으로 LAN 외부에서 Raspberry Pi에 연결할 수 없습니다.
참고 : 네트워크를 변경하고 싶지 않으며 기존 라우터에는 포트 전달, dynDNS 또는 VPN 기능이 없습니다.
최근에 UDP 홀 펀칭을 읽었습니다. 기본 아이디어는 클라이언트가 UDP 패키지를 알려진 서버 주소 (즉, 공용 IP 또는 dynDNS가 활성화 된 상태)로 전송한다는 것입니다. 클라이언트 A에 연결하려는 클라이언트 B는 서버에게 클라이언트 A의 공용 IP 및 포트 번호를 요청합니다.
그런 다음 동적 인 공용 IP 및 포트에서 클라이언트 A에 직접 연결할 수 있습니다. 클라이언트 A가 현재 사용 된 포트에서 서버에 처음 연결되었으므로 NAT는 패키지를 클라이언트 A로 전달합니다.
아이디어를 정확하게 요약했으면 좋겠다.
이 모든 것이 멋지게 들리지만, 문제는 라우터가 TCP 연결의 핸드 셰이크를 "이해"할 수 있고 올바르게 구축되지 않으면 앞으로 전달되지 않기 때문에 TCP 연결로 작동하도록 보장되지 않는다는 것입니다 패키지.
따라서 클라이언트 A가 dynDNS, 고정 공용 IP 또는 포트 전달 기능이있는 라우터 뒤에 있지 않고 클라이언트 B에서 클라이언트 A로 SSH 세션을 열려면 어떻게해야합니까? 공개, 고정 IP 또는 도메인 이름을 가진 중앙 서버의 사용은 어려울 수 있습니다.
-w
그러나 그는 tcp를 통해 udp라고 말했다. ssh로 udp를 전달하려는 시도가 포함됨), 대기 시간이 길고 더 이상 원하지 않는 항목의 재전송과 같은 문제가 포함됩니다. 그래도 시도하는 것이 여전히 흥미로운 것 같습니다. 나는 ssh와 -w를 통해이 VPN을 여기에서 언급했다. wiki.archlinux.org/index.php/VPN_over_SSH