Chris,
Below, you will see that all three nslookup run from the openwrt console, report the same address. This is the address that is current in the HE nameservers. This address always appears as the registered ip. This is the address my router had yesterday. It is not the current address of the router. Only the test_he correctly reports the current ip of the routers wan6.
Running nslookup from my Linux laptop, it querries dnsmasq on the router and can't find a listing.
I ran ifstatus wan6 so you could see the actual address. I think I know where the problem is. It has to do with either option ip_url or option update_url. Because option ip_url is not in all 3 test cases, I'll suspect it is option update_url.
Is this a case that is unique to Hughes or not, I can't say. But if you recall, I mentioned that Hughes sends all their http(s) traffic through a proxy. So asking any site via http for an address, will return the address of the proxy. I am going to disable the Hughes proxy and try running the three tests again.
root@OpenWrt ddns# nslookup ayankeeindixie.com
Server: 127.0.0.1
Address 1: 127.0.0.1 localhost
Name: ayankeeindixie.com
Address 1: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
root@OpenWrt ddns# nslookup ayankeeindixie.com google-public-dns-a.google.com
Server: 8.8.8.8
Address 1: 8.8.8.8 google-public-dns-a.google.com
Name: ayankeeindixie.com
Address 1: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
root@OpenWrt ddns# nslookup ayankeeindixie.com ns1.he.net
Server: 216.218.130.2
Address 1: 216.218.130.2 ns1.he.net
Name: ayankeeindixie.com
Address 1: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
root@OpenWrt ddns#
I'm running Linux Mint Debian Edition (LMDE) on my laptop. It is supposed to be equvalent to Debian Testing.
bill@sligo:~$ nslookup ayankeeindixie.com
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
*** Can't find ayankeeindixie.com: No answer
bill@sligo:~$ nslookup ayankeeindixie.com google-public-dns-a.google.com
Server: google-public-dns-a.google.com
Address: 8.8.8.8#53
Non-authoritative answer:
*** Can't find ayankeeindixie.com: No answer
bill@sligo:~$ nslookup ayankeeindixie.com ns1.he.net
Server: ns1.he.net
Address: 216.218.130.2#53
Non-authoritative answer:
*** Can't find ayankeeindixie.com: No answer
Extra step to verify my wan6 address
root@OpenWrt config# ifstatus wan6
{
"up": true,
"pending": false,
"available": true,
"autostart": true,
"uptime": 20323,
"l3_device": "eth1",
"proto": "dhcpv6",
"device": "eth1",
"updated": [
"routes"
],
"metric": 0,
"delegation": true,
"ipv4-address": [
],
"ipv6-address": [
{
"address": "2001:5b0:2d5a:f380:c63d:c7ff:fe97:f0fa",
"mask": 64,
"preferred": 13,
"valid": 283
},
I've mv ddns to ddns.orig.
I've copied your file into my /etc/config/ddns
I used vi to edit /etc/config/ddns to change option enabled '1' in all three sections.
I have not stopped, started, or otherwise ddns.
root@OpenWrt ddns# ./dynamic_dns_updater.sh test_nodns 1
update_prog: /usr/bin/wget -nv -O - -6
update_url: http://ipv6.google.com
force interval: 0 seconds
check interval: 600 seconds
retry interval: 60 seconds
retry counter: 1 times
last update: 0 hours ago
Running IP check ...
system ip: 2001:5b0:2d5a:f380:280:aeff:fe3f:44b4
registered ip: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
update necessary, performing update ...
update command: /usr/bin/wget -nv -O - -6 http://ipv6.google.com
Verify IP update in 60 seconds ...
Update failed (0):
retry #1 in 60 seconds - CurrentIP: 2001:5b0:2d5a:f380:280:aeff:fe3f:44b4 - RegisteredIP: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
^C
root@OpenWrt ddns#
Here is the Google Test
root@OpenWrt ddns# ./dynamic_dns_updater.sh test_google 1
update_prog: /usr/bin/wget -nv -O - -6
update_url: http://ipv6.google.com
force interval: 0 seconds
check interval: 600 seconds
retry interval: 60 seconds
retry counter: 1 times
last update: 0 hours ago
Running IP check ...
system ip: 2001:5b0:2d5a:f380:280:aeff:fe3f:44b4
registered ip: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
update necessary, performing update ...
update command: /usr/bin/wget -nv -O - -6 http://ipv6.google.com
Verify IP update in 60 seconds ...
Update failed (0):
retry #1 in 60 seconds - CurrentIP: 2001:5b0:2d5a:f380:280:aeff:fe3f:44b4 - RegisteredIP: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
^C
root@OpenWrt ddns#
The test_he
root@OpenWrt ddns# ./dynamic_dns_updater.sh test_he 1
update_prog: /usr/bin/wget -nv -O - -6
update_url: http://ipv6.google.com
force interval: 0 seconds
check interval: 600 seconds
retry interval: 60 seconds
retry counter: 1 times
last update: 0 hours ago
Running IP check ...
system ip: 2001:5b0:2d5a:f380:c63d:c7ff:fe97:f0fa
registered ip: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
update necessary, performing update ...
update command: /usr/bin/wget -nv -O - -6 http://ipv6.google.com
Verify IP update in 60 seconds ...
Update failed (0):
retry #1 in 60 seconds - CurrentIP: 2001:5b0:2d5a:f380:c63d:c7ff:fe97:f0fa - RegisteredIP: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
^C
root@OpenWrt ddns#
################################################################################################################################
These are the results with the Hughes proxy disabled.
root@OpenWrt ddns# ./dynamic_dns_updater.sh test_nodns 1
update_prog: /usr/bin/wget -nv -O - -6
update_url: http://ipv6.google.com
force interval: 0 seconds
check interval: 600 seconds
retry interval: 60 seconds
retry counter: 1 times
old Process Id:
last update: 0 hours ago
Running IP check ...
system ip: 2001:5b0:2d5a:f380:c63d:c7ff:fe97:f0fa
registered ip: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
update necessary, performing update ...
update command: /usr/bin/wget -nv -O - -6 http://ipv6.google.com
Verify IP update in 60 seconds ...
Update failed (0):
root@OpenWrt ddns# ./dynamic_dns_updater.sh test_google 1
update_prog: /usr/bin/wget -nv -O - -6
update_url: http://ipv6.google.com
force interval: 0 seconds
check interval: 600 seconds
retry interval: 60 seconds
retry counter: 1 times
old Process Id:
last update: 0 hours ago
Running IP check ...
system ip: 2001:5b0:2d5a:f380:c63d:c7ff:fe97:f0fa
registered ip: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
update necessary, performing update ...
update command: /usr/bin/wget -nv -O - -6 http://ipv6.google.com
Verify IP update in 60 seconds ...
^C
root@OpenWrt ddns#
root@OpenWrt ddns# ./dynamic_dns_updater.sh test_he 1
update_prog: /usr/bin/wget -nv -O - -6
update_url: http://ipv6.google.com
force interval: 0 seconds
check interval: 600 seconds
retry interval: 60 seconds
retry counter: 1 times
old Process Id:
last update: 0 hours ago
Running IP check ...
system ip: 2001:5b0:2d5a:f380:c63d:c7ff:fe97:f0fa
registered ip: 2001:5b0:2d5a:7d0:c63d:c7ff:fe97:f0fa
update necessary, performing update ...
update command: /usr/bin/wget -nv -O - -6 http://ipv6.google.com
Verify IP update in 60 seconds ...
^C
root@OpenWrt ddns#
With Hughes' proxy server disabled, http(s) traffic does not pass through the proxy but instead bypasses the proxy. The result of this is the correct address of the router being reported as the system ip.
Hughes has the proxy configured on by default, and that setting can not be changed by the customer. The customer can turn the proxy off, but the next reboot will re-enable the proxy. This happens when Hughes pushes out a software update, or if I experience a power failure, or I manually reboot the router. Many people on the Hughes forum complain about this. There is also no way to know if the proxy has been re-enabled, unless you take the time and check yourself.
If other ISPs are using a similar feature, then other folks will have similar experiences. As I've said, I'm no good with scripting, so I don't know if this is possible. Couldn't you pull the address from the interface on the router, then compare that to the information contained in the nameserver, without using any kind of http protocol? In my case, I'm using Hurricane Electric. I need to select the service I'm using. If I know which service I'm using, it seems to me, that I would know the name of the nameserver that goes along with that service. Afterall, I did have to establish a record in that nameserver. So if you provided a place for me to input the nameserver I use, you could perform an nslookup on that server, then compare the result with the address of the interface. Similar to what you have provided when the wan6 interface is selected as the address source.
I can't find, on Hurricane Electric's website, if they compare the address trying to be set, to the address of connection trying to make the change. dnsexit.com did this. From looking at the offerings Hurricane Electric has, I suspect they do not compare the two.
I would tend to think, that anyone attempting to use OpenWRT, then try to employ DDNS, would have enough knowledge to be aware of the need for the nameserver name. The folks that wouldn't know this, in all likelyhood, would either not be using OpenWRT or would not be using DDNS to begin with.
Over here, its called Daylight Savings Time rather than Summer Time, so its adjusted by an hour. Even though I'm in the UTC-6 timezone, during Daylight Savings Time, its like being in UTC-5, so I guess we are 7 hours apart. I know Germany is east of Greenwich England, but I didn't know how far. I'll be going to bed soon, you're probably getting up soon. Here, its still today. But where you are at, looking at me, its yesterday.
Bill