Debian의 VPN 네트워크에 있는 Iptables 포트 전달 체인

Debian의 VPN 네트워크에 있는 Iptables 포트 전달 체인

네트워크 설정에 문제가 있습니다. 거의 작동하지만... 완전히는 아닙니다 :)

시골에 있는 건물에 있는 카메라에 접근하고 싶습니다. 공인 IP 없이 인터넷에 접속할 수 있어서 VPN을 만들기로 했습니다. 시골집에는 IP 카메라와 함께 연결된 RaspberryPI(VPN 클라이언트)와 LTE 라우터(Huawei B315)가 있습니다. 공용 IP 모뎀이 있는 집에는 또 다른 RPI(VPN 서버)가 있습니다. VPN이 라우팅 모드에 있습니다(RPI가 별도의 네트워크를 생성함).

요약하면 다음과 같습니다.

  1. 게이트웨이 - 우리집 모뎀
  2. RPI1 - 우리 집 모뎀에 연결된 VPN 서버 (IP: eth0-192.168.0.6(로컬 네트워크), tun0-10.8.0.1(VPN 네트워크))
  3. PRI2 - 상대방 집 모뎀에 연결된 VPN 클라이언트 (IP: eth0-192.168.0.100, tun0-10.8.0.2)
  4. 카메라 - Planet ICA-4150(active-x 웹 인터페이스 포함) - 다른 집 모뎀에 연결됨(IP: 192.168.0.10)

VPN이 작동합니다. 두 RPI를 서로 핑할 수 있고 집에서 RPI1, RPI2로 SSH를 통해 연결할 수 있습니다.

example.ddns.net:9000과 같이 카메라의 웹 인터페이스를 열 수 있기를 원합니다. DDNS가 설정되어 작동합니다.

우리 집 모뎀에서는 포트 9000을 외부에서 로컬 IP 192.168.0.6:9000(RPI1)으로 전달했습니다.

내 iptables 설정: RPI1:

iptables -A PREROUTING -t nat -p tcp --dport 9000 -j DNAT --to-destination 10.8.0.2:9000
iptables -A PREROUTING -t nat -p udp --dport 9000 -j DNAT --to-destination 10.8.0.2:9000
iptables -A FORWARD -p tcp -d 10.8.0.2 --dport 9000 -j ACCEPT
iptables -A FORWARD -p udp -d 10.8.0.2 --dport 9000 -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

RPI2:

iptables -A PREROUTING -t nat -p tcp --dport 9000 -j DNAT --to-destination 192.168.0.10:80
iptables -A PREROUTING -t nat -p udp --dport 9000 -j DNAT --to-destination 192.168.0.10:80
iptables -A FORWARD -p tcp -d 192.168.0.10 --dport 80 -j ACCEPT
iptables -A FORWARD -p udp -d 192.168.0.10 --dport 80 -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

브라우저에 올바른 주소를 입력하면 웹 인터페이스는 보이지만 로그인이 되지 않습니다. 물론 노트북이 카메라와 로컬로 연결되어 있어야 로그인이 가능합니다. 그리고 집에 있는 LAN에 카메라를 연결하고 집 모뎀의 포트 하나를 카메라로 직접 내보내는 실험도 했습니다. 이 방법도 작동하지만 TCP와 UDP 포트를 모두 리디렉션하는 경우에만 가능합니다. 집 로컬 네트워크의 브라우저에 192.168.0.6:9000을 입력해도 로그인할 수 없습니다.

또한 포트 9000을 24000으로 변경하려고 시도했지만 운이 없었습니다.

내가 뭘 잘못하고 있는지 아는 사람이 있나요? 어쩌면 iptables에서 뭔가를 놓친 것일까요?

답변1

이는 브라우저의 9000 포트에서 웹페이지를 가져오지만 서버를 호스팅하는 카메라는 포트 80에서 요청을 보기 때문이라고 생각합니다. 따라서 절대 URL을 입력하는 경우 게시 작업은 포트 80으로 전송됩니다. 이를 확인할 수 있습니다. 브라우저의 네트워크 탭. 이 경우 대상 IP 및 dport 80에 대해 iptable dnat를 추가하십시오.

관련 정보