Új hozzászólás Aktív témák

  • Proxy2

    aktív tag

    válasz TonTomika #1231 üzenetére

    Én mindíg bele írom az aktuális IP címem egy current_ip address list elembe, és erre hivatkozom a nat szabálynál. Ez a DDNS update script végzi, ami így néz ki:

    # HomingBeacon Main Dynamic DNS Update Script
    # Written by Sam Norris, ChangeIP.com
    # 20100728 Tested on RouterOS 4.9
    # 20110511 Tested on RouterOS 5.2
    # 201512.01 Tested on RouterOS 6.33.3 by Proxy5

    # Set your specific ChangeIP.com preferences here.
    :global ddnsuser "emailcimed@valami.com"
    :global ddnspass "jelszo"
    :global ddnshost "hostneved.akarmi.com"
    # Change ddnsport to 8245 to bypass proxy.
    :local ddnsport 80

    # Do not edit anything below this line. You have been warned.
    # Abusive updates to the system will cause firewall blocks.

    # Please be considerate and
    # do not let this script run more than once per 3-5 minutes.

    :log info "DDNS: Starting."

    # Initialize checkpoint
    :global ddnscheckpoint
    :if ([:typeof $ddnscheckpoint] = "time") do={
    :log info ("DDNS: Last check was " . ([/system clock get time] - $ddnscheckpoint))
    } else={
    :log info "DDNS: Cannot determine checkpoint, set now."
    :global ddnscheckpoint ( [/system clock get time] - 1d )
    }

    # Get the current IP
    :if ([/system clock get time] - $ddnscheckpoint > [:totime 180s] || [/system clock get time] - $ddnscheckpoint < [:totime 0s]) do={
    :log info "DDNS: Performing remote IP detection."
    /tool fetch address="ip.changeip.com" host="ip.changeip.com" src-path=("/?" . [/int eth get 0 mac-address ]) dst-path="ip.changeip.com.txt" mode=http port=$ddnsport
    :global ddnscheckpoint [/system clock get time]
    } else={
    :log info "DDNS: Please be considerate and wait a few seconds longer."
    :break
    }

    # Parse the IP address received from fetch script.
    :global ddnslastip
    :local html [/file get "ip.changeip.com.txt" contents]
    :local ddnsip [:pick $html ([:find $html "<!--IPADDR="] + 11) [:find $html "-->"] ]

    # Is it a valid IP and is it different than the last one?
    :if ([:typeof [:toip $ddnsip]] = "ip" AND $ddnsip != $ddnslastip ) do={
    :log info "DDNS: Sending UPDATE with $ddnsip"
    :log info [/tool dns-update name=$ddnshost address=$ddnsip key-name=$ddnsuser key=$ddnspass ]
    :global ddnslastip $ddnsip
    /ip firewall address-list
    :foreach i in=[find list="current_IP"] do=[remove $i]
    #New adrdres to
    /ip firewall address-list add address=$ddnsip list=current_IP
    } else={
    :log info "DDNS: No update required."
    }
    }

    Remélem nem kotlik meg a forum ettől.
    Ha mégsem olvasható, akkor innen letölthető.

    [ Szerkesztve ]

    Proxy5

Új hozzászólás Aktív témák