Raspberry를 통해 HTTP 스트림을 LAN1에서 LAN2로 리디렉션/터널하는 방법이 있습니까?

Raspberry를 통해 HTTP 스트림을 LAN1에서 LAN2로 리디렉션/터널하는 방법이 있습니까?

여러 장치가 있는 일반적인 로컬(192.168.1.x) 네트워크와 인터넷에 연결된 라우터가 있습니다.

장치 중 하나는 WiFi를 통해 연결된 Raspberry(192.168.1.2)입니다. 또한 다른 IP(LAN IP 192.168.4.1)를 사용하여 이더넷을 통해 IP 카메라(192.168.4.2)에 연결되며, 기본적으로 아래 그림과 같이 2개의 네트워크가 있습니다.

스케치

네트워크 카메라에는 HTTP 라이브 스트리밍 기능이 있습니다(위치:http://192.168.4.1)은 Raspberry에서 액세스할 수 있지만 라우터 네트워크의 장치에서는 액세스할 수 없는 것으로 보입니다.

Raspberry를 통해 IP 카메라 페이지에 액세스할 수 있는 방법이 있나요? 예를 들어,http://192.168.1.2라우터 네트워크의 모든 장치에서 내부 네트워크에서 IP 카메라 웹 페이지로 터널링/리디렉션됩니까?

답변1

이를 달성하는 방법에는 여러 가지가 있습니다. 네트워크의 나머지 부분을 고려하더라도 역방향 프록시를 사용하면 그다지 이점이 없을 것입니다.아마도일단 구성되면 다른 방법보다 훨씬 어렵지 않고 훨씬 더 많은 유연성을 제공하며 웹캠과 같은 장치를 인터넷에 노출하는 모든 사람에게 확실히 시작점이 되어야 합니다.

사용할 수 있는 우수한 http 프록시 소프트웨어가 많이 있습니다. 나는 Apache httpd보다 haproxy보다 nginx를 선호합니다. OTOH 이미 Squid를 순방향 프록시로 실행하고 있다면 이 작업도 수행할 수 있습니다.

nginx 구성은 간단할 수 있습니다...

server {
  listen 80;
  listen [::]:80;

  server_name _;

  location / {
      proxy_pass http://182.168.1.2/;
  }
}

하지만 네트워크에 비우호적인 접근이 발생할 가능성이 있는 경우에는 인증, TLS, 화이트리스트 보안 URL을 추가해야 합니다.

답변2

한 가지 방법은 RasPi에서 192.168.4.0/24 네트워크에 대한 고정 경로를 만드는 것이고, 다른 방법은 라우터가 카메라 트래픽을 보낼 위치를 알 수 있도록 라우터에 고정 경로를 만드는 것입니다.

RasPi에서는 다음 명령을 사용할 수 있습니다.

ip route add 192.168.4.0/24 dev eth1

... eth1카메라 인터페이스로 대체되었습니다.

라우터 설정 어딘가에 고정 경로를 구성하는 옵션이 있습니다. 아래 이미지는 TP-Link 라우터에서 가져온 이미지입니다. 표시되는 이미지는 약간 다르게 보일 수 있지만 동일한 요소를 가지고 있습니다.

라우터 1

라우터 2

192.168.4.1을 대상으로 설정할 수도 있습니다. 이후 내부 네트워크의 장치는 간단히 카메라에 액세스할 수 있습니다.http://192.168.4.1.

라우터에 고정 경로가 없으면 다음과 같은 일이 발생합니다.

  • 클라이언트가 192.168.4.1에 액세스하려고 시도합니다.
  • 다른 네트워크에 있기 때문에 라우터인 게이트웨이로 패킷을 보냅니다.
  • 라우터는 192.168.4.0/24 네트워크에 연결하는 방법을 모르기 때문에 다른 라우터에 경로를 알고 있는지 묻는 메시지를 보냅니다.
  • 다른 라우터가 응답하지 않아 패킷을 삭제합니다.

또는 모든 트래픽을 192.168.1.2 포트 80에서 192.168.4.1로 전달하도록 RasPi에 대한 전달 규칙을 구성할 수 있습니다. 그러면 내부 클라이언트가 192.168.1.2로 이동하여 카메라에 액세스할 수 있습니다.

관련 정보