Исходя из вашей истории, я предполагаю, что у вашего оператора есть прокси-сервер для оптимизации скорости мобильных данных (например, что уменьшает размеры изображений). Это означает, что ваш HTTP-трафик будет проходить через прокси на стороне оператора, который вполне может быть преобразован в NAT.
Одним из способов избежать этого является отправка явного IP-адреса noip (из их документации ):
curl http://username:password@dynupdate.no-ip.com/nic/update?hostname=mytest.example.com&myip=1.2.3.4
Это может быть легко интегрировано в скрипт оболочки:
#!/bin/bash IP=$(/sbin/ip -4 a l wwan0 | grep 'inet ' | grep -oP '(?<=inet\s)\d+(\.\d+)') curl "http://username:password@dynupdate.no-ip.com/nic/update?hostname=mytest.example.com&myip=$"
Сделайте этот скрипт исполняемым и запускайте его cron
каждые 10 минут или около того:
chmod 755 /home/user/update_noip.sh crontab -e # Add: */10 * * * * /home/user/update_noip.sh >/dev/null 2>&1