Домашний веб-сервер и ДНС Яндекса

Обсуждаем сайт и форум.

Модератор: f0s

Александр
проходил мимо
Сообщения: 3
Зарегистрирован: 2013-10-17 22:48:51

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение Александр » 2013-11-19 14:54:19

Соглашусь, так как настроил на dhcp (наверно)
и как то беззаботно гуляя, провайдер замышлял очередную подлянку, пришла смс о недоступности....
естественно это "наверно" не сработало, да и бог на него, пусть крутится c перидотом 5мин.
Еще раз хочу поблагодарить за выполненные труды. Отлично что есть альтернатива всяким dyndns, NO-IP итд....

Я лично оч доволен)

vitoxa_ya
проходил мимо

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение vitoxa_ya » 2013-11-23 18:29:45

А как же команда "curl ifconfig.me" для определения ip за роутером.

Вячеслав
проходил мимо

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение Вячеслав » 2014-02-18 5:02:51

Для того чтобы смена ip происходила только в тот момент, когда реально ip шники не совпадают необходимы иные переменные!
Скрипт добавить в крон на выполнение каждую минуту смело!


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

#!/bin/sh
MYIP=`curl -s http://212.117.175.194/simple/`
NSIP=`host 1cru.ru | grep address | awk '{print $4}'`
if [ $MYIP != $NSIP ];
    then
       curl -s https://pddimp.yandex.ru/nsapi/edit_a_record.xml?token=1a2b3c4d5e6f7a8b9c10d11l12f13a14b15c&domain=1cru.ru&record_id=5099342&content=$MYIP
       curl -s "https://pddimp.yandex.ru/nsapi/edit_a_record.xml?token=2a2b3c4d5e6f7a8b9c10d11l12f13a14b15c&domain=1sru.ru&record_id=7099342&content=$MYIP"
    else
       echo IP not change
fi

TerAnYu
проходил мимо
Сообщения: 3
Зарегистрирован: 2014-03-10 22:54:03

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение TerAnYu » 2014-03-10 23:01:44

Хотелось бы запостить сюда скрипт для windows, баги возможны, но вроде работает. Ещё допиливать хочется, сделать цикл для проверки изменённого адреса и др.

P.S.
Необходим curl с поддержкой ssl, остальные утилиты отсюда.

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

@echo off
rem Основано на статье: http://www.lissyara.su/?id=2242
Setlocal enabledelayedexpansion
rem DNS токен
set DNS_TOKEN=
rem Имя домена
set DOMAIN=
rem ID домена
set DOMAIN_ID=
rem Имя поддомена
set SUB_DOMAIN=
rem ID поддомена
set SUB_DOMAIN_ID=
rem Файл логов
set LOG=yandex_ddns.log

rem Генерируем дату и время
set DT=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%%TIME:~0,-3%

rem Ищем публичный адрес
for /F "Delims=" %%P In ('curl -s http://pilo.tk/ip/') Do Set PUBIP=%%~P
echo Публичный адрес: %PUBIP%

rem Отправка запроса на изменение адреса для DOMAIN_ID
if "%DOMAIN_ID%" NEQ "" (curl -s -k "https://pddimp.yandex.ru/nsapi/edit_a_record.xml?token=%DNS_TOKEN%&domain=%DOMAIN%&record_id=%DOMAIN_ID%&content=%PUBIP%" | grep "<error>" | sed "s/   / %DT% %PUBIP% %DOMAIN%/g" | sed -e :a -e "s/<[^>]*>/ /g;/</N;//ba" >>%LOG% )

rem Отправка запроса на изменение адреса для SUB_DOMAIN_ID
if "%SUB_DOMAIN_ID%" NEQ "" (curl -s -k "https://pddimp.yandex.ru/nsapi/edit_a_record.xml?token=%DNS_TOKEN%&domain=%DOMAIN%&subdomain=%SUB_DOMAIN%&record_id=%SUB_DOMAIN_ID%&content=%PUBIP%" | grep "<error>" | sed "s/   / %DT% %PUBIP% %SUB_DOMAIN%.%DOMAIN%/g" | sed -e :a -e "s/<[^>]*>/ /g;/</N;//ba" >>%LOG% )

rem Очищаем переменные
set DNS_TOKEN=
set DOMAIN=
set DOMAIN_ID=
set SUB_DOMAIN_ID=
set LOG=
set DT=
set PUBIP=
:eof


Аватара пользователя
viris42
проходил мимо
Сообщения: 4
Зарегистрирован: 2014-07-23 15:20:44
Откуда: Новороссия ДНР
Контактная информация:

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение viris42 » 2014-07-23 15:42:28

Всем привет. Дабы не плодить разные тему то пишу здесь. Нужна ваша помощь. Есть регистрация на ChangeIP.com, есть ихний скрипт работает все нормально. Единственное, что запускать скрипт можно ни менее чем один раз в десять минут. Это конечно нормальное время проверки IP но есть одно но. Скрипт отработал а провайдер в это время сменил IP и сайт недоступен 10мин. В скриптах я полный ноль. И по этому прошу вас написать скриптик который будет запускаться по крону каждую минуту и в случае изменения IP он запустит мой скрипт который и произведет авторизацию на сервере ChangeIP.com
Трудно переспорить бородатого старика если у него в руках АК.
Debian 7 wheezy

lakhreev
проходил мимо
Сообщения: 6
Зарегистрирован: 2014-08-30 8:56:29

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение lakhreev » 2014-08-30 9:02:56

прошу помощи: установил на win 8.1 pro Denver, связал сайт с помощью DynDNS через Yandex API, т.е. динамический IP присваивается записи А в DNS.
Не могу понять, как сделать, чтобы локальный сайт соответствовал внешнему?

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение Bayerische » 2014-08-30 9:46:52

Не могу понять, как сделать, чтобы локальный сайт соответствовал внешнему?

Ещё раз.
Где, что и чему не соответствует.

lakhreev
проходил мимо
Сообщения: 6
Зарегистрирован: 2014-08-30 8:56:29

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение lakhreev » 2014-08-30 10:18:02

127.0.0.1 сайт работает
А вот чтобы ...ru не знаю как сделать.
То есть компьютер как хостмнг, динамический ip, хочу сделать так, чтобы по сайту ...ru можно было зайти на сайт на компьютере

Bayerische
капитан
Сообщения: 1820
Зарегистрирован: 2010-12-25 20:41:50
Откуда: Хлебная столица

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение Bayerische » 2014-08-30 11:58:57

В конфиге Апача перепишите локалхост на IP внешнего интерфейса.

lakhreev
проходил мимо
Сообщения: 6
Зарегистрирован: 2014-08-30 8:56:29

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение lakhreev » 2014-08-30 12:16:55

Так ip динамический.
Можете показать пример кода?

TerAnYu
проходил мимо
Сообщения: 3
Зарегистрирован: 2014-03-10 22:54:03

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение TerAnYu » 2014-08-30 18:51:45

Ну вот и напишите в конфиге апача, нечто вот такое:

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

ServerName sitename.com
ServerAlias site-name.com www.sitename.com  www.site-name.com

Вместо sitename.com, site-name.com, www.sitename.com, www.site-name.com - своё имя домена.

lakhreev
проходил мимо
Сообщения: 6
Зарегистрирован: 2014-08-30 8:56:29

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение lakhreev » 2014-08-30 19:03:26

Можешь удаленно посмотреть?

TerAnYu
проходил мимо
Сообщения: 3
Зарегистрирован: 2014-03-10 22:54:03

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение TerAnYu » 2014-08-31 15:10:07

Увы, разбираться с глюками денвера не хочется.

lakhreev
проходил мимо
Сообщения: 6
Зарегистрирован: 2014-08-30 8:56:29

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение lakhreev » 2014-08-31 16:22:44

Кто-то может помочь? Может я что-то не так настроил...

Аватара пользователя
viris42
проходил мимо
Сообщения: 4
Зарегистрирован: 2014-07-23 15:20:44
Откуда: Новороссия ДНР
Контактная информация:

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение viris42 » 2014-09-01 23:53:49

Если IP динамический то тебе надо зарегистрироваться на каком нибудь бесплатном сервере который предоставляет DNS имя для динамического IP у меня регистрация на https://www.changeip.com/ далее качаеш софтину DirectUpdate это если под виндой а если Linux то у них на сайте есть скрипт там уже разберешся. Далее просиш своего хостера переназначить твой домен на тот который зарегиш changeip и у тебя получится так sitename.ru>имя на changeip>твой комп. Ну вро де бы так.
Трудно переспорить бородатого старика если у него в руках АК.
Debian 7 wheezy

lakhreev
проходил мимо
Сообщения: 6
Зарегистрирован: 2014-08-30 8:56:29

Re: Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение lakhreev » 2014-09-02 14:40:52

вроде бы сделал (через DynDNS через Yandex API)
Если есть на форуме кто пользуется это программой, напишите мне. Есть вопрос...
Есть небольшая трудность...

maxbol
проходил мимо
Сообщения: 1
Зарегистрирован: 2017-03-20 16:22:32

Домашний веб-сервер и ДНС Яндекса

Непрочитанное сообщение maxbol » 2017-03-20 16:35:48

Приветствую, спасибо за хорошую идею, я тоже воспользовался.
Решил перетащить хостинг домой, т.к. ферма "манит" и постоянно включена, заодно ушел от "конского" регистратора rucenter. Теперь всего 87 р в год за доменное имя:-)))
Поднял виртуалку с сайтом, но проверку динамического адреса решил проверять на хостовой машине, она на Windows 7.
Для Винды, создать файл с расширением *.vbs
На windows7 работает нормально.

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

Option Explicit
Const strAddr = "c:\Temp\ipaddr.txt"
Const strLog=  "c:\Temp\log.log"
Dim objHTTP, FSO, strHTML, IPnew, colsym, File, IPsave, FLog
Set FSO = CreateObject("Scripting.FileSystemObject")
Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" )
On Error Resume Next
'отправляем запрос узнать свой ip адрес
    objHTTP.Open "GET", "http://ipv4.internet.yandex.net/internet/api/v0/ip", False
    objHTTP.Send
if Err.Number<>0 then
  MsgBox Err.Number &chr(13)+Err.Description
   Set FLog = FSO.OpenTextFile(strLog, 8, True)
    Flog.WriteLine  "Не удалось узнать IP адрес с ipv4.internet.yandex.net." & " Error: "&chr(32)&Err.Number&chr(32)&Err.Description
  FLog.Close
Wscript.Quit
end if
'WScript.Echo objHTTP.Status
'Обрабатываем ответ - Убираем кавычки перед и после полученного ip адреса
colsym = Len(objHTTP.ResponseText)
IPnew = Mid(objHTTP.ResponseText, 1,colsym-1)
colsym=Len(IPnew)
IPnew = Mid(IPnew, colsym-(colsym-2), colsym)
'WScript.Echo IPnew
'Файл c:\Temp\ipaddr.txt должен существовать и быть не пустым, считываем значения IP адреса из файла
Set File = FSO.OpenTextFile(strAddr,1)
IPsave = File.ReadLine
File.Close
'Если значение IP адреса в файле отличается от полученного в результате запроса на http://ipv4.internet.yandex.net/internet/api/v0/ip то записываем новый ip в DNS и в файл
If  IPsave<>IPnew then
objHTTP.Open "PUT", "https://pddimp.yandex.ru/nsapi/edit_a_record.xml?", False
objHTTP.SetRequestHeader "Content-Type","application/x-www-form-urlencoded"
objHTTP.Send "token=de166d3dc4ec3f9d8619e1fcf75ad9d7e8a437a77b&domain=sqladmin.ru&record_id=408141&content="&IPnew
if Err.Number<>0 then
  MsgBox Err.Number &chr(13)+Err.Description
  Set FLog = FSO.OpenTextFile(strLog, 8, True)
  Flog.WriteLine  "Не удалось записать новый IP адрес в DNS" & " Error: "&chr(32)&Err.Number&chr(32)&Err.Description
  FLog.Close
Wscript.Quit
end if
Set File = FSO.OpenTextFile(strAddr, 2)
File.Write IPnew
File.Close
'WScript.Echo (objHTTP.responseText)
'else WScript.Echo "IP не изменен"
end if
Последний раз редактировалось Alex Keda 2017-03-23 8:20:43, всего редактировалось 1 раз.
Причина: товарищщи, цените чужое время, юзайте кнопочку [code]...


Вернуться в «Про сайт»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя