Sam, I’ve encountered a problem with that script of yours.
If I have two scripts running but referencing different interfaces (of course), the update on your server (for both interfaces) only reflects one of the external IP addresses.
:global ddnsinterface "adsl_unshaped"
and
:global ddnsinterface "adsl_local"
It works when I disable one of the scripts.
Am I doing something wrong or is this a bug? I think you did enable the round robin thing on my account so not sure if it’s this or the script.
Since these are global variables there is expected to be only a single script running per RouterOS. If you are using the Inbound Load Balancing features then the ILB script should do all the work for you, in a single script. If you truly need two different scripts on the same box maybe you can explain the goal and I’ll come up with a good solution for you.
I have one DSL account with normal internet access and then another with local only (local to the country) DSL internet access. Now I normally run the script on the local-only interface because of the cheaper costs. But if someone from outside the country tries to access the router on that IP address it’s not accessible due to the local-only bit. So I then create another script for the normal (international) interface.
Am I missing something obvious?
The other problem is say I want the situation where I have 3 ADSL lines connected to the router and I want certain users to connect to a specific line, surely I would need 3 different scripts to obtain a ddns name?
I think this would require multiple scripts. We just need to change some variable names for you to work properly. Global variables that store the interface and IPs need to be unique, so maybe change them to something like “ddnsInterfaceLOCAL”, “ddnsInterfaceINTL”, etc. If you need more help let me know
When running the script from the Terminal command line, I get the following error message : interrupted invalid internal item number
Since the script would not run, I then placed the individual lines from the script in a Terminal to try determine the source of the problem.
When running lines from the script individually, I find an error message at the following line:
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface] address ]
invalid internal item number (this is the error message)
Please can you advise if there is another script that can be used which does not stop at …
:global ddnsip [ /ip address get [/ip address find interface=$ddnsinterface] address ]
Did you correctly adjust the $ddnsinterface variable to reflect your environment? That error could happen because it cannot find an interface with the name you told it to go looking for.