aleksvolgin
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Цитата:| Ведь для работы с dyndns, нужно иметь адрес доступный из интернета? Так? | разумеется, капитан очевидность. Цитата:| А если, как у нашего ByFly провайдера, адрес на PPPoE один(который из Интернета не пингуется), 2ip.ru сообщает адрес другой (провайдера). Как в таком случае увидеть свою сеть из Интернета? | 1. поменять провайдера на того кто предоставляет белый ip 2. купить у прова постоянный ip, в этом случае, обычно проблема исчезает (но не факт) (кстати у мегафона (3G интернет) в нашем регионе ip купить нельзя, а в московском - можно) 3. использование сервисов vpn тунелирования, если они предоставляют белый ip. Я по старой памяти пользуюсь слонаксом, для доступа к одной тачке по резервному каналу через 3G мегафона. Очень выручает. Цитата:| буду благодарен за скрипт. | да за ради бога. Только сразу предупреждаю - мопед не мой, но у меня работает. Код: # Set needed variables :local username "логин на dyndns" :local password "пароль на dyndns" :local hostname "DNS имя вашего хоста" :global systemname [/system identity get name] :if ($systemname = "Site1" ) do= { :set hostname "yourdomain1.dyndns.org" } :if ($systemname = "Site2" ) do= { :set hostname "yourdomain2.dyndns.org" } :if ($systemname = "Site3" ) do= { :set hostname "yourdomain3.dyndns.org" } :global dyndnsForce :global previousIP # print some debug info #:log info ("UpdateDynDNS: username = $username") - закомментировано, чтобы не попадало в вывод sysloga #:log info ("UpdateDynDNS: password = $password") - закомментировано, чтобы не попадало в вывод sysloga :log info ("UpdateDynDNS: hostname = $hostname") :log info ("UpdateDynDNS: previousIP = $previousIP") # get the current IP address from the internet (in case of double-nat) /tool fetch mode=http address="checkip.dyndns.org" src-path="/" dst-path="/dyndns.checkip.html" :local result [/file get dyndns.checkip.html contents] # parse the current IP result :local resultLen [:len $result] :local startLoc [:find $result ": " -1] :set startLoc ($startLoc + 2) :local endLoc [:find $result "</body>" -1] :local currentIP [:pick $result $startLoc $endLoc] :log info "UpdateDynDNS: currentIP = $currentIP" # Remove the # on next line to force an update every single time - useful for debugging, # but you could end up getting blacklisted by DynDNS! #:set dyndnsForce true # Determine if dyndns update is needed # more dyndns updater request details available at http://www.dyndns.com/developers/specs/syntax.html :if (($currentIP != $previousIP) || ($dyndnsForce = true)) do={ :set dyndnsForce false :set previousIP $currentIP /tool fetch user=$username password=$password mode=http address="members.dyndns.org" \ src-path="/nic/update?hostname=$hostname&myip=$currentIP" dst-path="/dyndns.txt" :local result [/file get dyndns.txt contents] :log info ("UpdateDynDNS: Dyndns update needed") :log info ("UpdateDynDNS: Dyndns Update Result: ".$result) :put ("Dyndns Update Result: ".$result) } else={ :log info ("UpdateDynDNS: No dyndns update needed") } | затем запускать этот скрипт в шедулере с нужной периодичностью. |