
인터넷에 연결되는 E3531 UMTS 스틱이 있는 Raspberrypi가 있습니다. Rpi는 헤드리스이므로 Rpi의 IP를 통해 Stick의 웹 인터페이스를 사용할 수 있게 만들고 싶었습니다.
Stick은 인터페이스에 192.168.8.1이 있고 Rpi는 항상 192.168.8.100을 가져오는 192.168.8.0/24의 네트워크를 구축합니다. 웹 인터페이스는 간단한 http를 통해 액세스됩니다. Rpi는 10.253.3.4/24가 있는 wiregurad VPN(스틱 위에 구축) 또는 192.168.13.24/24가 있는 유지 관리 eth0 물리적 LAN 인터페이스를 통해 액세스할 수 있습니다. 이상적으로는 웹 인터페이스가 양방향으로 액세스 가능해야 합니다.
나의 첫 번째 접근 방식은 LAN 인터페이스가 두 가지 규칙을 따르는 것이었습니다.
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.8.1:80
iptables -t nat -A POSTROUTING -o enx001e101f0000 -j MASQUERADE
Rpi 자체의 eth0에 대한 http 요청을 웹 인터페이스로 전달하는 첫 번째 규칙과 스틱 인터페이스의 소스 주소를 가장하는 두 번째 규칙(enx001e101f0000)
불행히도 작동하지 않습니다. http://192.168.13.24
요청이 다음으로 변경된 브라우저에서 Rpi에 액세스하면
http://192.168.8.1/html/index.html?url=192.168.13.24
오류 ERR_ADDRESS_UNREACHABLE
가 표시됩니다.
여기서 내가 놓치고 있는 것은 무엇이며 이 "url" 쿼리 매개변수는 어디에서 오는 것입니까?
미리 감사드립니다
답변1
이는 변경할 수 없는(적어도 영구적으로 펌웨어 수정 없이는) 스틱의 http 서버 구성 때문입니다.
한 가지 옵션은 역방향 프록시를 실행하고 스틱에서 반환된 URL을 다시 작성하는 것입니다.
더 높은 수준의 질문은 왜 처음에 세 개의 DHCP 서버가 필요한가입니다. 설정을 단순화하려면 그 중 하나를 비활성화하는 것이 좋습니다.