Ставим пакеты 6in4
и curl
opkg update
opkg install 6in4 curl
В файле /etc/config/network прописываем
config interface 'wan6'
option proto '6in4'
option peeraddr '<SERVER IP>'
option ip6addr '<IPv6 CLIENT P2P>'
list ip6prefix '<IPv6 PD ADDRESS/64>'
Значения переменных берём на сайте 6in4.ru
Далее для динамического обновления IP WAN на сайте добавляем возможность выполнения скриптов при подключении к сети
Создаём директорию в hotplug.d
mkdir -p /etc/hotplug.d/iface
Добавляем скрипт
cat << "EOF" > /etc/hotplug.d/iface/90-online
if [ "${INTERFACE}" = "loopback" ]
then exit 0
fi
if [ "${ACTION}" != "ifup" ] \
&& [ "${ACTION}" != "ifupdate" ]
then exit 0
fi
if [ "${ACTION}" = "ifupdate" ] \
&& [ -z "${IFUPDATE_ADDRESSES}" ] \
&& [ -z "${IFUPDATE_DATA}" ]
then exit 0
fi
hotplug-call online
EOF
cat << "EOF" >> /etc/sysupgrade.conf
/etc/hotplug.d/iface/90-online
EOF
Далее создаём директорию online
mkdir -p /etc/hotplug.d/online
И туда добавляем скрипт в котором <API KEY>
и <TUNNEL ID>
меняем на свои значения с сайта
cat << "EOF" > /etc/hotplug.d/online/10-send-wan-ip-to-6in4ru
. /lib/functions/network.sh
network_flush_cache
network_find_wan WAN_IF
network_get_ipaddr WAN_ADDR "${WAN_IF}"
curl -v --request PUT \
--url https://6in4.ru/tunnel/<API KEY>/<TUNNEL ID> \
--header 'Content-Type: application/json' \
--data '{"ipv4remote": "'$WAN_ADDR'"}'
EOF
Проверяем командой hotplug-call online
Если IPv4 Client address в личном кабинете на сайте поменялся на ваш WAN IP значит всё сделали правильно.
Теперь при каждом подключении к сети IPv4 Client address будет обновляться на текущий
Информацию брал тут
https://openwrt.org/docs/guide-user/advanced/hotplug_extras
https://openwrt.org/docs/guide-developer/network-scripting#get_wan_address