Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: DDNS - Серые ip, sh костыль для сверки ip HELP!  (Прочитано 867 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн TERMIN2010

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Доброго времени суток, собственно вопрос вот в чем.
Дано:
Сервер за натом
ISP который, периодически выдает блок серых ip,которые вносят коррективы в работу
OpenVPN сервер
ip адреса вымышленные
Использую DDNS (duckdns), с удаленной стороны у сотрудников настроены клиенты на адрес DDNS, аренда ip ~ 2 суток т.е. за рабочую неделю меняется 2-3 раза и если пул dhcp раздает 100 подсеть у меня сразу рассинхрон идет.
На внешнем tun один адрес  на 2ip.ru иной.Слышал что плохая идея использовать DDNS с серыми адресами.Но все же решил делать костыль.

#!/bin/sh
public="$(wget -q -O - http://www.ip-score.com/checkip/ | grep blacklist | awk '{print $1}'| sed 's/<.*>//')"
local="$(ifconfig tun0 | grep inet | awk '{print $2}')"
idproc="$(pgrep ppp)"
 if test $public = $local
   then
       echo "match!"
   else
       /bin/kill "$idproc"
       sleep 5
       ppp -ddial adsl
   fi
exit 0
В общем разобрался,суть такова, по крону  запускается скрипт, который получает внешний ip через проверку и парсится интерфейс смотрящий к ISP.Далее в переменные заносятся ip адреса полученные двумя способами, сравниваются если изменений нет то выходим с пометкой, если же не равны ищем id процесса (в моем случае ppp) делаем команду убиения, ждем 5 секунд и по новой поднимаем сессию

ТС не появлялся на Форуме более полугода по состоянию на 14/07/2019 (последняя явка: 31/01/2017). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 14 Июля 2019, 01:25:35 от zg_nico »

 

Страница сгенерирована за 0.014 секунд. Запросов: 19.