Jump to content
stakp

Автообновление IPv6 тоннеля при смене IPv4

Recommended Posts

Добрый вечер.

Решил заморочиться с автообновлением тоннеля 6in4 от Hurricane Electric. Роутер соединяется с провайдером через PPPoE соединение, соответственно раз в сутки провайдер рвёт сессию, поднятый туннель 6in4 становится нерабочим. Предлагаю скрипт:
 

#!/bin/bash
sleep 5
EXTERNAL_IPV4=`ifconfig ppp0 |grep "inet addr:"|cut -f 2 -d ':'|cut -f 1 -d ' '`;
HEUSER='your.username'     # The username you use to login at tunnelbroker.net
HEKEY='32f325019357278d'   # This 'Update Key' can be found on the 'Advanced' tab of the tunnel details page.
HETUNNEL='12356'           # The 'Tunnel ID' from the tab IPv6 tunnel on the tunnel details page.
[ "$interface" = "ppp0" ] && curl -k -s "https://ipv4.tunnelbroker.net/nic/update?username=$HEUSER&password=$HEKEY&hostname=$HETUNNEL&myip=$EXTERNAL_IPV4"

Скрипт закидываем в /opt/etc/ndm/wan.d  

Обзываем типа 010-tun6.sh и даём разрешения на выполнение

chmod +x /opt/etc/ndm/wan.d/010-tun6.sh

Жду критики :)

Share this post


Link to post
Share on other sites
9 минут назад, stakp сказал:

Добрый вечер.

Решил заморочиться с автообновлением тоннеля 6in4 от Hurricane Electric. Роутер соединяется с провайдером через PPPoE соединение, соответственно раз в сутки провайдер рвёт сессию, поднятый туннель 6in4 становится нерабочим. Предлагаю скрипт:
 


#!/bin/bash
sleep 5
EXTERNAL_IPV4=`ifconfig ppp0 |grep "inet addr:"|cut -f 2 -d ':'|cut -f 1 -d ' '`;
HEUSER='your.username'     # The username you use to login at tunnelbroker.net
HEKEY='32f325019357278d'   # This 'Update Key' can be found on the 'Advanced' tab of the tunnel details page.
HETUNNEL='12356'           # The 'Tunnel ID' from the tab IPv6 tunnel on the tunnel details page.
[ "$interface" = "ppp0" ] && curl -k -s "https://ipv4.tunnelbroker.net/nic/update?username=$HEUSER&password=$HEKEY&hostname=$HETUNNEL&myip=$EXTERNAL_IPV4"

Скрипт закидываем в /opt/etc/ndm/wan.d  

Обзываем типа 010-tun6.sh и даём разрешения на выполнение


chmod +x /opt/etc/ndm/wan.d/010-tun6.sh

Жду критики :)

Адрес передается в скрипт в переменной $address

почему бы ей не воспользоваться?

Edited by r13

Share this post


Link to post
Share on other sites
11 минуту назад, r13 сказал:

Адрес передается в скрипт в переменной $address

почему бы ей не воспользоваться?

Видимо, потому, что я не знаю как .:?

Share this post


Link to post
Share on other sites
41 минуту назад, stakp сказал:

Видимо, потому, что я не знаю как .:?

Просто вписать её в вызове curl вместо вашей 

$EXTERNAL_IPV4

Вы же такую же переменную $interface инициализируемую прошивкой уже используете в своем скрипте. 

Типа так:

#!/bin/bash
[ "$interface" != "ppp0" ] && exit
sleep 5
HEUSER='your.username'     # The username you use to login at tunnelbroker.net
HEKEY='32f325019357278d'   # This 'Update Key' can be found on the 'Advanced' tab of the tunnel details page.
HETUNNEL='12356'           # The 'Tunnel ID' from the tab IPv6 tunnel on the tunnel details page.
curl -k -s "https://ipv4.tunnelbroker.net/nic/update?username=$HEUSER&password=$HEKEY&hostname=$HETUNNEL&myip=$address"

 

Edited by r13

Share this post


Link to post
Share on other sites
4 часа назад, stakp сказал:

Предлагаю скрипт

зачем? не проще настроить ddns?

Share this post


Link to post
Share on other sites
9 часов назад, r13 сказал:

Типа так:

Скрытый текст

 



#!/bin/bash
[ "$interface" != "ppp0" ] && exit
sleep 5
HEUSER='your.username'     # The username you use to login at tunnelbroker.net
HEKEY='32f325019357278d'   # This 'Update Key' can be found on the 'Advanced' tab of the tunnel details page.
HETUNNEL='12356'           # The 'Tunnel ID' from the tab IPv6 tunnel on the tunnel details page.
curl -k -s "https://ipv4.tunnelbroker.net/nic/update?username=$HEUSER&password=$HEKEY&hostname=$HETUNNEL&myip=$address"

 

 

 

Не работает

Edited by stakp

Share this post


Link to post
Share on other sites
25 минут назад, stakp сказал:

Dyndns позволяет вписать свой произвольный url(то что у вас curl вызывает). Эффект будет такой же. Только по форуму надо поискать синтаксис подстановки своего ip.

ЗЫ на чем падает? 

Share this post


Link to post
Share on other sites
36 минут назад, stakp сказал:

Не работает

Работает.

10 часов назад, stakp сказал:

Решил заморочиться с автообновлением тоннеля 6in4 от Hurricane Electric.

Через WebUI не хотите обновлять?

Share this post


Link to post
Share on other sites
45 минут назад, r13 сказал:

на чем падает? 

Непонятно, при выполнении в /ndm/wan.d сообщения в консоль не выдаёт, а в /etc ругается access denied

P.S. после обновления прошивки pppoe поменял название на ppp1

Share this post


Link to post
Share on other sites
17 минут назад, Александр Рыжов сказал:

Через WebUI не хотите обновлять?

Хотим :)

Share this post


Link to post
Share on other sites
1 час назад, stakp сказал:

как?

настраиваешь в разделе ddns. выбираешь использовать сервис "другой" и там вбиваешь данные опять таки с турбоброкера. адрес сервиса: https://ipv4.tunnelbroker.net/nic/update доменное имя, имя пользователя, пароль это все оттуда. ставишь галку определять мой ip автоматически. выбираешь интерфейс, у меня pppoe. вот и все.

Edited by Goblin
  • Thanks 2

Share this post


Link to post
Share on other sites

А с Dyndns профилем что делать?

Добавил второй профиль, но срабатывает только _WEBADMIN

Edited by stakp

Share this post


Link to post
Share on other sites
20 минут назад, stakp сказал:

А с Dyndns профилем что делать?

забить? и пользовать keendns? или просить в хотелках(развитие) пересмотреть поведение и не ограничиваться одним сервисом. а дать возможность настроить два, три, четыре... в общем сколько надо.

upd: и кстати управление keendns тоже можно перенести на вкладку ddns.

Edited by Goblin

Share this post


Link to post
Share on other sites
8 часов назад, Goblin сказал:

забить? и пользовать keendns? или просить в хотелках(развитие) пересмотреть поведение и не ограничиваться одним сервисом. а дать возможность настроить два, три, четыре... в общем сколько надо.

Создаём ещё один профиль в DynDNS и привязываем его на интерфейс (PPPoE).

upd: не прокатило

Edited by stakp

Share this post


Link to post
Share on other sites
13 часа назад, Goblin сказал:

просить в хотелках(развитие) пересмотреть поведение и не ограничиваться одним сервисом. а дать возможность настроить два, три, четыре... в общем сколько надо

Было бы очень полезно. Столкнулся с той же проблемой, в итоге туннель обновляю роутером, а для динднс пришлось ставить клиента на комп.

Share this post


Link to post
Share on other sites
В 16.12.2017 в 01:47, Lyle сказал:

Столкнулся с той же проблемой, в итоге туннель обновляю роутером, а для динднс пришлось ставить клиента на комп.

См. DNS-o-Matic.

Share this post


Link to post
Share on other sites
2 часа назад, Александр Рыжов сказал:

См. DNS-o-Matic.

лишнее это все. роутер сам в состоянии все это проделать. осталось только допилить до нужной кондиции.

Share this post


Link to post
Share on other sites
В ‎17‎.‎12‎.‎2017 в 10:05, Александр Рыжов сказал:

См. DNS-o-Matic.

Спасибо за полезный ресурс!

Ситуация пока не кажется безвыходной, провайдер рвет соединение раз в 7 дней, комп включен постоянно. Но на заметку возьму.

 

И небольшой оффтопик: было бы очень здорово сделать так, как на ubiquiti edgerouter - там прямо в веб-интерфейсе можно навешивать на разные интерфейсы (у меня используется конфигурация 2 WAN) несколько провайдеров динамического DNS.

Share this post


Link to post
Share on other sites

по поводу

В 14.12.2017 в 23:50, stakp сказал:

Добрый вечер.

Решил заморочиться с автообновлением тоннеля 6in4 от Hurricane Electric. Роутер соединяется с провайдером через PPPoE соединение, соответственно раз в сутки провайдер рвёт сессию, поднятый туннель 6in4 становится нерабочим. Предлагаю скрипт:
 


#!/bin/bash
sleep 5
EXTERNAL_IPV4=`ifconfig ppp0 |grep "inet addr:"|cut -f 2 -d ':'|cut -f 1 -d ' '`;
HEUSER='your.username'     # The username you use to login at tunnelbroker.net
HEKEY='32f325019357278d'   # This 'Update Key' can be found on the 'Advanced' tab of the tunnel details page.
HETUNNEL='12356'           # The 'Tunnel ID' from the tab IPv6 tunnel on the tunnel details page.
[ "$interface" = "ppp0" ] && curl -k -s "https://ipv4.tunnelbroker.net/nic/update?username=$HEUSER&password=$HEKEY&hostname=$HETUNNEL&myip=$EXTERNAL_IPV4"

Скрипт закидываем в /opt/etc/ndm/wan.d  

Обзываем типа 010-tun6.sh и даём разрешения на выполнение


chmod +x /opt/etc/ndm/wan.d/010-tun6.sh

Жду критики :)

Файл создан, права назначены. в логе

Opkg::Manager: process /opt/etc/ndm/wan.d/010-tun6.sh: failed to start.

в ssh

~ # /opt/etc/ndm/wan.d/010-tun6.sh
-sh: /opt/etc/ndm/wan.d/010-tun6.sh: not found

содержимое файла:

#!/bin/bash
sleep 5
[ "$interface" = "ppp1" ] && curl -k -s "https://User:XXXXXXXXXXXXXXXX@ipv4.tunnelbroker.net/nic/update?hostname=452662"

файл находится по указанному пути 100%

Edited by Geont

Share this post


Link to post
Share on other sites
27 минут назад, Geont сказал:

Файл создан, права назначены.

в ssh


~ # /opt/etc/ndm/wan.d/010-tun6.sh
-sh: /opt/etc/ndm/wan.d/010-tun6.sh: not found

файл находится по указанному пути 100%

А какие права и на какого пользователя?

Share this post


Link to post
Share on other sites
32 минуты назад, stakp сказал:

А какие права и на какого пользователя?

эмм... права 755, а на какого пользователя - как посмотреть?

Share this post


Link to post
Share on other sites
sed -i '1c\#!/opt/bin/sh' /opt/etc/ndm/wan.d/010-tun6.sh

 

Share this post


Link to post
Share on other sites
2 часа назад, TheBB сказал:

sed -i '1c\#!/opt/bin/sh' /opt/etc/ndm/wan.d/010-tun6.sh

BusyBox v1.25.1 () built-in shell (ash)

~ # sed -i '1c\#!/opt/bin/sh' /opt/etc/ndm/wan.d/010-tun6.sh
~ #
~ # /opt/etc/ndm/wan.d/010-tun6.sh
'leep: invalid number '5
~ #
~ # /opt/etc/ndm/wan.d/010-tun6.sh
-sh: /opt/etc/ndm/wan.d/010-tun6.sh: not found
~ #

 

Share this post


Link to post
Share on other sites
dos2unix -u /opt/etc/ndm/wan.d/010-tun6.sh

 

  • Upvote 1

Share this post


Link to post
Share on other sites
28 минут назад, TheBB сказал:

dos2unix -u /opt/etc/ndm/wan.d/010-tun6.sh

заработало)

Edited by Geont

Share this post


Link to post
Share on other sites

Еще вопрос: у меня два соединения: основное и резервное. Оба PPPoE, интерфейсы, соответственно, ppp0 и ppp1. как сделать, чтобы обновление брокера происходило при поднятии основного подключения?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...