Страница 2 из 2

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

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

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

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

Добавлено: 2013-11-23 18:29:45
vitoxa_ya
А как же команда "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

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

Добавлено: 2014-03-10 23:01:44
TerAnYu
Хотелось бы запостить сюда скрипт для 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


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

Добавлено: 2014-07-23 15:42:28
viris42
Всем привет. Дабы не плодить разные тему то пишу здесь. Нужна ваша помощь. Есть регистрация на ChangeIP.com, есть ихний скрипт работает все нормально. Единственное, что запускать скрипт можно ни менее чем один раз в десять минут. Это конечно нормальное время проверки IP но есть одно но. Скрипт отработал а провайдер в это время сменил IP и сайт недоступен 10мин. В скриптах я полный ноль. И по этому прошу вас написать скриптик который будет запускаться по крону каждую минуту и в случае изменения IP он запустит мой скрипт который и произведет авторизацию на сервере ChangeIP.com

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

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

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

Добавлено: 2014-08-30 9:46:52
Bayerische
Не могу понять, как сделать, чтобы локальный сайт соответствовал внешнему?
Ещё раз.
Где, что и чему не соответствует.

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

Добавлено: 2014-08-30 10:18:02
lakhreev
127.0.0.1 сайт работает
А вот чтобы ...ru не знаю как сделать.
То есть компьютер как хостмнг, динамический ip, хочу сделать так, чтобы по сайту ...ru можно было зайти на сайт на компьютере

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

Добавлено: 2014-08-30 11:58:57
Bayerische
В конфиге Апача перепишите локалхост на IP внешнего интерфейса.

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

Добавлено: 2014-08-30 12:16:55
lakhreev
Так ip динамический.
Можете показать пример кода?

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

Добавлено: 2014-08-30 18:51:45
TerAnYu
Ну вот и напишите в конфиге апача, нечто вот такое:

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

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 - своё имя домена.

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

Добавлено: 2014-08-30 19:03:26
lakhreev
Можешь удаленно посмотреть?

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

Добавлено: 2014-08-31 15:10:07
TerAnYu
Увы, разбираться с глюками денвера не хочется.

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

Добавлено: 2014-08-31 16:22:44
lakhreev
Кто-то может помочь? Может я что-то не так настроил...

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

Добавлено: 2014-09-01 23:53:49
viris42
Если IP динамический то тебе надо зарегистрироваться на каком нибудь бесплатном сервере который предоставляет DNS имя для динамического IP у меня регистрация на https://www.changeip.com/ далее качаеш софтину DirectUpdate это если под виндой а если Linux то у них на сайте есть скрипт там уже разберешся. Далее просиш своего хостера переназначить твой домен на тот который зарегиш changeip и у тебя получится так sitename.ru>имя на changeip>твой комп. Ну вро де бы так.

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

Добавлено: 2014-09-02 14:40:52
lakhreev
вроде бы сделал (через DynDNS через Yandex API)
Если есть на форуме кто пользуется это программой, напишите мне. Есть вопрос...
Есть небольшая трудность...

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

Добавлено: 2017-03-20 16:35:48
maxbol
Приветствую, спасибо за хорошую идею, я тоже воспользовался.
Решил перетащить хостинг домой, т.к. ферма "манит" и постоянно включена, заодно ушел от "конского" регистратора 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

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

Добавлено: 2019-10-25 15:43:25
Melmanrhync
Сегодня выяснил что францией в последний месяц с небольшим стало скачиваться по 10-20 гигов в день, причем почти всё это PHP страници, из чего делаю вывод что это какие то боты.
Для сравнения месячный трафик России составляет 10-15 гигов

Из за такого налегания на сайт он стал тормозить а сегодня мне пришло письмо от хостера что сайт перенагружает сервер и будет через неделю заблокирован если ситуация не измениться.

Пока что я заблокировал сайт для нескольких диапазонов IPшников с которых были наиболее ощутимые загрузки, но боюсь ip могут смениться...

Может у кого есть идеи по решению данной проблемы?