Interface IP em alcance público, IP incorreto enviado para noip

0

RPi3 está conectado à internet via dongle 3G. wwan0 IP da interface está em alcance público, é acessível de fora e não mudou desde que recebi o SIM. Até aí tudo bem, né?

O que me preocupa é que um IP provavelmente com NAT é enviado para o noip, não para a interface, tornando o site servido pelo RPi inacessível, a menos que o IP seja conhecido. Existe uma maneira de enviar o IP "correto" da interface wwan0 para o noip?

A segunda preocupação é que quando o RPi for movido para fora do local (para medir temperatura interna), o dongle usará um mastro móvel diferente e provavelmente o IP do wwan0 iface irá mudar. Meu medo é que eu tenha que fazer um script personalizado para notificar o noip sobre o IP da interface quando o IP mudar ou algum tipo de outra notificação.

Qualquer comentário é apreciado!

    
por krg 16.01.2018 / 07:52

1 resposta

0

Com base em sua história, meu palpite é que sua operadora tem um proxy para otimização da velocidade de dados móveis (algo que reduz o tamanho das imagens, por exemplo). Isso significa que seu tráfego HTTP passará por um proxy no lado do operador, o que poderia ser NAT.

Uma maneira de evitar isso é enviar um IP explícito para o noip (de sua documentação ):

curl http://username:[email protected]/nic/update?hostname=mytest.example.com&myip=1.2.3.4

Isso pode ser facilmente integrado em um script de shell:

#!/bin/bash

IP=$(/sbin/ip -4 a l wwan0 | grep 'inet ' | grep -oP '(?<=inet\s)\d+(\.\d+){3}')

curl "http://username:[email protected]/nic/update?hostname=mytest.example.com&myip=${IP}"

Torne este script executável e execute-o a partir de cron a cada 10 minutos ou mais:

chmod 755 /home/user/update_noip.sh
crontab -e
# Add:
*/10 * * * * /home/user/update_noip.sh >/dev/null 2>&1
    
por 16.01.2018 / 08:48