|
dynDNS i dynHOST(ovh)
21-04-2012 00:00:00 Odwiedziny: 3059
DDNS (ang. Dynamic Domain Name System, dynamiczny system nazw domenowych) jest metodą, protokołem lub usługą sieciową, która umożliwia urządzeniom sieciowym takim jak router bądź systemowi komputerowemu korzystającego ze stosu IP, zakomunikować w czasie rzeczywistym (ad-hoc) serwerowi nazw zmianę obecnej konfiguracji DNS w postaci skonfigurowanych domen, adresów oraz innych danych zamieszczonych w rekordach DNS.
Popularnym zastosowaniem DDNS jest umożliwienie bramce internetowej ze zmiennym adresem IP otrzymania stałej nazwy hosta, która jest rozwiązywana przez standardowe zapytania DNS aplikacji działających w sieci Internet.
źródło Wikipedia.org
## skrypt
############################################################################################
/system script add name=dynHOSTorDNS policy=read,test source={
# Script: dynhost / dyndns
# Przeznaczony dla MikroTik v4.xx, v5.xx, v6.xx
# Version: 2.01 [02-02-2014]
# Autor: seszu (seba\@kazuko.pl)
# Page: http://kazuko.pl
# Zrodlo: http://wiki.mikrotik.com/wiki/Dynamic_DNS_Update_Script_for_dynDNS
# DynHOST OVH http://pomoc.ovh.pl/DynDns
# DynDNS http://dyn.com/dns/
:global poprzednieIP
:global aktualneIP
### Ustawienia:
:local rodzajDyn "dynhost"
:local username "domena.pl-login"
:local password "haselko"
:local hostname "sub.domena.pl"
:local intefOut "pppoe-out1"
:local IPzInterfejsu true
:local pokazZmiane true
# rodzajDyn (dynhost/dyndns) - dynhost (ovh.pl) / dyndns (dyndns.com, dyndns.org)
# intefOut - interfejs wyjsciowy (WAN)
# IPzInterfejsu (true/false) - true (pobiera IP z interfejsu) / false (pobiera IP z myip.dnsomatic.com)
# pokazZmiane (true/false) - true (pokazuje zmiane IP w logach)
### Pobieranie adresu IP.
:if ($IPzInterfejsu = true) do={
:if ([:len [/interface find name=$intefOut]] = 1 ) do={
:local IpMask [ /ip address get [/ip address find interface=$intefOut ] address ]
:global aktualneIP [:pick $IpMask 0 [:find $IpMask "/"]]
} else={
:log error "Dyn: Brak interfejsu o nazwie $intefOut, sprawdz konfiguracje."
}
} else={
/tool fetch mode=http address="myip.dnsomatic.com" host="myip.dnsomatic.com" src-path="/" \
dst-path="/myip.txt"
:global aktualneIP [/file get myip.txt contents]
}
### Sprawdzanie czy zmienil sie zewnetrzny adres IP.
:if ($aktualneIP != $poprzednieIP) do={
:local poprzednieIP2 $poprzednieIP
:set poprzednieIP $aktualneIP
:if ($rodzajDyn = "dyndns") do={
/tool fetch user=$username password=$password mode=http address="members.dyndns.org" \
host="members.dyndns.org" \
src-path="/nic/update?hostname=$hostname&myip=$aktualneIP" \
keep-result=no
} else={
/tool fetch user=$username password=$password mode=http address="www.ovh.com" \
host="www.ovh.com" \
src-path="/nic/update\?system=dyndns&hostname=$hostname&myip=$aktualneIP" \
keep-result=no
}
## Czy pokazac w logach zmiane adresu IP.
:if ($pokazZmiane = true) do={
:log warning "Dyn: Zmiana IP dla $hostname z $poprzednieIP2 na $aktualneIP"
}
}
}
#### Dodaje wykonywanie powyzszego skryptu co 1 minute.
############################################################################################
/system scheduler
add name="run dynHOSTorDNS" interval=00:01 on-event="/system script run dynHOSTorDNS\r\n"
#### Ustawianie zegarka - RouterOS do v6.13
############################################################################################
# strefa czasowa
/system clock
set time-zone-name=Europe/Warsaw
# serwery NTP
/system ntp client
set enabled=yes mode=unicast primary-ntp=212.244.36.228 secondary-ntp=212.244.36.227
#### Ustawianie zegarka - RouterOS od v6.14
############################################################################################
# strefa czasowa
/system clock
set time-zone-name=Europe/Warsaw
# serwery NTP
/system ntp client
set enabled=yes primary-ntp=212.244.36.228 secondary-ntp=212.244.36.227
|
|
|