Самопальный DDNS

О том о сем
Аватара пользователя

Автор темы
di_mok
Сообщения: 4920
Зарегистрирован: 27 авг 2016, 16:06
Решено: 30
Откуда: Арзамас
Благодарил (а): 1260 раз
Поблагодарили: 1032 раза

Самопальный DDNS

Сообщение di_mok » 24 июл 2018, 07:12

Джентльмены, ищу если не реализацию, то идеи. Активно использую сервисы ddns (static IP не предлагать, т.к. по ряду причин это не возможно). Впринципе, жить можно, но у них вечно то зерновые не завезли, то зима.

Тут кольнуло: а что если всё это воспроизвести собственноручно. В наличии есть VDS, теоретически можно же сделать так, что-бы маршрутизатор отправлял IP полученный от провайдера на VDS через заданные промежутки времени, и при обращению к хосту тот перенаправлял куда нужно
Настоящая водка — это не пьянство, а ключ к своей совести, с нее-то и начинается настоящая мудрость. (c)
Изображение
Изображение

Аватара пользователя

Chocobo
Сообщения: 9148
Зарегистрирован: 27 авг 2016, 19:57
Решено: 198
Откуда: НН
Благодарил (а): 637 раз
Поблагодарили: 2614 раз

Самопальный DDNS

Сообщение Chocobo » 24 июл 2018, 07:35

Видится навскидку три варианта.
  • Изменение на клиентах. На вдс просто хранить строчку в текстовом файлике с отдачей по http, вида 1.2.3.4 your.some.domain , которую клиенты (планово или по запросу) стащат и обновят себе запись прям в /etc/hosts
  • мини-зона ДНС на вдске. на хосте куда будет отправляться запрос стоит днс сервер, с локальной зоной под этот домен, на который смотрят клиенты. bind например. А дальше по приходу информации обновить А-запись и релоаднуть сервис
  • Проксирование с вебсерва. на вдске вебсервер (nginx/apache) с проксированием. для nginx можно закинуть и обновлять в переменной (или в апстриме):

    Код: Выделить всё

    set  $dynamic_ip "1.2.3.4"
    server {
        listen 8080 default_server;
        location / {
            proxy_pass http://$dynamic_ip/;
        }
    }
    И обновлять айпишник в этом поле переменной, чтоб при обращении по адресу http://vds-ip-or-domain:8080/ - запрос перенаправлялся на известный ему ip.
Последний вариант можно наверн даже автоматизировать чутка, через cgi, завести локейшн вроде /ip-renew и по факту обращения считать адрес этого клиента в конфиг скриптом. Тогда стороне с динамикой останется просто слать GET-запрос на вдску к этому "api")
Изображение
   
Изображение

Аватара пользователя

Автор темы
di_mok
Сообщения: 4920
Зарегистрирован: 27 авг 2016, 16:06
Решено: 30
Откуда: Арзамас
Благодарил (а): 1260 раз
Поблагодарили: 1032 раза

Самопальный DDNS

Сообщение di_mok » 24 июл 2018, 07:43

Второй вариант наверное не очень, т.к. А-запись долго обновляется. А вот в сторону первого и третьего подумаю.
Настоящая водка — это не пьянство, а ключ к своей совести, с нее-то и начинается настоящая мудрость. (c)
Изображение
Изображение

Аватара пользователя

Chocobo
Сообщения: 9148
Зарегистрирован: 27 авг 2016, 19:57
Решено: 198
Откуда: НН
Благодарил (а): 637 раз
Поблагодарили: 2614 раз

Самопальный DDNS

Сообщение Chocobo » 24 июл 2018, 07:53

di_mok, Это если через белую днс зону гнать изменения - то да, пока они расползутся овер интернет)
А если будет у тебя клиентам прописан праймари днсом именно bind с vdsки - то пройдет шустро, т.к. он будет напрямую свои записи отдавать
Изображение
   
Изображение

Аватара пользователя

Автор темы
di_mok
Сообщения: 4920
Зарегистрирован: 27 авг 2016, 16:06
Решено: 30
Откуда: Арзамас
Благодарил (а): 1260 раз
Поблагодарили: 1032 раза

Самопальный DDNS

Сообщение di_mok » 24 июл 2018, 08:02

Понял, спасибо. Кстати, наткнулся на рецептик у соседей http://help.ubuntu.ru/wiki/%D0%B4%D0%B8 ... 0%BC%D0%B8
Настоящая водка — это не пьянство, а ключ к своей совести, с нее-то и начинается настоящая мудрость. (c)
Изображение
Изображение

Аватара пользователя

Chocobo
Сообщения: 9148
Зарегистрирован: 27 авг 2016, 19:57
Решено: 198
Откуда: НН
Благодарил (а): 637 раз
Поблагодарили: 2614 раз

Самопальный DDNS

Сообщение Chocobo » 24 июл 2018, 08:17

di_mok, Да, ка кобычно кто-то уже алгоритмизировал до нас, можно велосипедить по чужим стопам)
А суть та же почти получается, примерно - http+dns :)
Вот про nsupdate я был не в курсе, теперь найду где его применить у себя
Изображение
   
Изображение

Аватара пользователя

Автор темы
di_mok
Сообщения: 4920
Зарегистрирован: 27 авг 2016, 16:06
Решено: 30
Откуда: Арзамас
Благодарил (а): 1260 раз
Поблагодарили: 1032 раза

Самопальный DDNS

Сообщение di_mok » 07 сен 2018, 07:49

Решил пойти другим путём, но завяз. Может кто поможет с iptables?

Вводные данные:
Есть VDS c привязанным доменом
На VDS установлен OpenVPN сервер
На домашнем сервачке OpenVPN клиент

Как при обращении к домену с указанием порта пробросить на домашний сервак, на такой же порт по VPN?

VDS:

Код: Выделить всё

ens3      Link encap:Ethernet  HWaddr 
          inet addr:XXX.XXX.XXX.XXX  Bcast:194.67.223.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1077 errors:0 dropped:0 overruns:0 frame:0
          TX packets:817 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:123083 (123.0 KB)  TX bytes:98920 (98.9 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:183 errors:0 dropped:0 overruns:0 frame:0
          TX packets:183 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:15077 (15.0 KB)  TX bytes:15077 (15.0 KB)

tap0      Link encap:Ethernet  HWaddr 
          inet addr:10.8.1.1  Bcast:10.8.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:87 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:18357 (18.3 KB)  TX bytes:648 (648.0 B)

Домашний сервак

Код: Выделить всё

enp2s0    Link encap:Ethernet  HWaddr d0:27:88:b1:c3:9c  
          inet addr:192.168.1.99  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1362318025 errors:0 dropped:10093 overruns:0 frame:0
          TX packets:2223685453 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:410216418487 (410.2 GB)  TX bytes:3013692400335 (3.0 TB)

lo        Link encap:Локальная петля (Loopback)  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:64089652 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64089652 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:9809005757 (9.8 GB)  TX bytes:9809005757 (9.8 GB)

tap0      Link encap:Ethernet  HWaddr fa:8f:5b:01:d7:ff  
          inet addr:10.8.1.2  Bcast:10.8.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:116572 errors:0 dropped:0 overruns:0 frame:0
          TX packets:328867 errors:0 dropped:879 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:21418614 (21.4 MB)  TX bytes:199717454 (199.7 MB)
Настоящая водка — это не пьянство, а ключ к своей совести, с нее-то и начинается настоящая мудрость. (c)
Изображение
Изображение

В сети
Аватара пользователя

WWolf
Сообщения: 1221
Зарегистрирован: 13 фев 2018, 21:51
Решено: 5
Откуда: Краснодар
Благодарил (а): 427 раз
Поблагодарили: 282 раза

Самопальный DDNS

Сообщение WWolf » 11 сен 2018, 20:55

di_mok, настройки впн сервака ковырять? Вроде бы ж внешние соединения по дефолту блочаться в клиент

Вернуться в «Болталка: Оффтоп, разбор полетов»