Към съдържанието


- - - - -

Скрипт за DDNS работещ на версия 3.30 на версия 5.6 не ще...


  • Please log in to reply
6 отговора на тази тема

#1 plamenVd

plamenVd

    Потребител

  • Потребители
  • Мнения: 32
    Topics 8
  • МестоположениеВидин:

Публикувано 13 октомври 2011 - 16:43

Привет на всички!
Някой може ли да каже защо този скрипт не работи на версия 5.6(и да помогне с модифицирането му) при условие че го ползвам на 3.30 и работи безупречно.
Благодаря на всички отзовали се.


# Define User Variables
:global ddnsuser "user"
:global ddnspass "pass"
:global ddnshost "host"
# Define Global Variables
:global ddnsip
:global ddnslastip
:if ([ :typeof $ddnslastip ] = nil ) do={ :global ddnslastip "0" }
:global ddnsinterface
:global ddnssystem ("mt-" . [/system package get system version] )
# Define Local Variables
:local int
# Loop thru interfaces and look for ones containing
# default gateways without routing-marks
:foreach int in=[/ip route find dst-address=0.0.0.0/0 active=yes ] do={
  :if ([:typeof [/ip route get $int routing-mark ]] != str ) do={
	 :global ddnsinterface [/ip route get $int interface]
  }
}
# Grab the current IP address on that interface.
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]
# Did we get an IP address to compare?
:if ([ :typeof $ddnsip ] = nil ) do={
   :log info ("DDNS: No ip address present on " . $ddnsinterface . ", please check.")
} else={
  :if ($ddnsip != $ddnslastip) do={
	:log info "DDNS: Sending UPDATE!"
	:log info [ :put [/tool dns-update name=$ddnshost address=[:pick $ddnsip 0 [:find $ddnsip "/"] ] key-name=$ddnsuser key=$ddnspass ] ]
	:global ddnslastip $ddnsip
  } else={
	:log info "DDNS: No update required."
  }
}
# End of script

Учи се от грешките на другите. Няма да живееш толкова дълго че да ги направиш сам всичките.

#2 111111

111111

    Разбирач

  • Администратор
  • Мнения: 3100
    Topics 79
  • Skype:My status
  • МестоположениеСофия/Рим:

Публикувано 13 октомври 2011 - 19:02

http://wiki.mikrotik.com/wiki/DDNS
малко четене
после пусни разширено логване

или четеш внимателно тук
http://wiki.mikrotik...ript_for_dynDNS
Публикувано изображение Публикувано изображение
Публикувано изображение Публикувано изображение
Форумът е за взаимопомощ а не за свършване на чужда работа

ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ

#3 plamenVd

plamenVd

    Потребител

  • Потребители
  • Мнения: 32
    Topics 8
  • МестоположениеВидин:

Публикувано 13 октомври 2011 - 19:18

Благодаря....Много ми помогна.
Вторият линк съм го чел и доста го мъчих, но dyndns.com така и не успях да го подкарам дори и на 3.30 версия.С рутер дето е с 3.30версия съм си качил въпросният скрипт който е безупречен с changeIP.com, но 5.6 версия(рб750)не кракната не иска.Не разбрах какво имаш в предвид с разширено логване.

Този пост е редактиран от plamenVd: 13 октомври 2011 - 19:19

Учи се от грешките на другите. Няма да живееш толкова дълго че да ги направиш сам всичките.

#4 111111

111111

    Разбирач

  • Администратор
  • Мнения: 3100
    Topics 79
  • Skype:My status
  • МестоположениеСофия/Рим:

Публикувано 13 октомври 2011 - 20:45

втория линк най-долу има за 5,х
или директно тук
http://www.changeip.com/mikrotik/


 
/system logging
add action=memory disabled=no prefix="" topics=script,debug

Публикувано изображение Публикувано изображение
Публикувано изображение Публикувано изображение
Форумът е за взаимопомощ а не за свършване на чужда работа

ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ

#5 Momo

Momo

    Потребител

  • Потребители
  • Мнения: 42
    Topics 4
  • МестоположениеSofiq:

Публикувано 15 октомври 2011 - 08:22

Пробвай втория скрипт от втория линк, при мен работи на V-4.17(rb750) ПЕРФЕКТНО.

#6 plamenVd

plamenVd

    Потребител

  • Потребители
  • Мнения: 32
    Topics 8
  • МестоположениеВидин:

Публикувано 16 октомври 2011 - 19:04

Привет на всички!
Как си реших проблема-оказа се че има значение и  какъв е изходящият ти интерфейс-дали е рррое или  работи през NAT.Това е работещ скрипт за mk 5.6 за dyndnds.com през NAT с него тръгна борда.

# Set needed variables
:local username "user"
:local password "pass"
:local hostname "host"
:global dyndnsForce
:global previousIP
# print some debug info
:log info ("UpdateDynDNS: username = $username")
:log info ("UpdateDynDNS: password = $password")
: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 http://www.dyndns.com/developers/specs/syntax.html
:if (($currentIP != $previousIP) || ($dyndnsForce = true)) do={
   :set dyndnsForce false
   :set previousIP $currentIP
   :log info "$currentIP or $previousIP"
   /tool fetch user=$username password=$password mode=http address="members.dyndns.org" \
	  src-path="nic/update?system=dyndns&hostname=$hostname&myip=$currentIP&wildcard=no" \
	  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")
}

Учи се от грешките на другите. Няма да живееш толкова дълго че да ги направиш сам всичките.

#7 111111

111111

    Разбирач

  • Администратор
  • Мнения: 3100
    Topics 79
  • Skype:My status
  • МестоположениеСофия/Рим:

Публикувано 17 октомври 2011 - 11:13

нормално е ако си давал частен адрес да не работи
Публикувано изображение Публикувано изображение
Публикувано изображение Публикувано изображение
Форумът е за взаимопомощ а не за свършване на чужда работа

ɹɐǝɥ uɐɔ noʎ ǝɹoɯ ǝɥʇ 'ǝɯoɔǝq noʎ ɹǝʇǝınb ǝɥʇ



Подобни теми Collapse



0 потребител(и) четат тази тема

0 потребители, 0 гости, 0 анонимни