
Eu tenho um Raspberrypi com um UMTS Stick E3531 conectado à Internet. Como o Rpi é headless eu queria disponibilizar a interface Web do Stick através do IP do Rpi.
O Stick constrói uma rede de 192.168.8.0/24 onde a interface possui o 192.168.8.1 e o Rpi sempre obtém o 192.168.8.100. A interface web é acessada através de http simples. O Rpi pode ser acessado através de um wiregurad vpn (construído sobre o stick) onde possui o 10.253.3.4/24 ou sua interface lan física eth0 de manutenção com 192.168.13.24/24. Idealmente, a interface da web deve ser acessível em ambos os sentidos.
Minha primeira abordagem foi que a interface LAN estava seguindo duas regras:
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
A primeira regra para encaminhar as solicitações http da eth0 do próprio Rpi para a interface web e a segunda para mascarar o endereço de origem da interface do stick (enx001e101f0000)
Infelizmente isso não funciona. Se eu acessar o Rpi em um navegador com
http://192.168.13.24
A solicitação será alterada para http://192.168.8.1/html/index.html?url=192.168.13.24
e o erro ERR_ADDRESS_UNREACHABLE
será mostrado.
O que estou perdendo aqui e de onde vem esse parâmetro de consulta "url"?
Agradeço antecipadamente
Responder1
Isso se deve à configuração do servidor http no stick, que você não pode alterar (pelo menos não permanentemente e sem modificar o firmware).
Uma opção para você é executar um proxy reverso e reescrever a URL retornada do stick.
A questão de nível superior é por que você precisa de três servidores DHCP em primeiro lugar. Considere desabilitar um deles para simplificar a configuração.