PfSense Dynamic DNS configuration for he.net
-
Has anyone set up Dynamic DNS in pfSense 2.0.1 for he.net (standard IPv4 DNS, not the tunnelbroker)? I've tried every combination of username and password (those I use to log onto he.net and the <domain>.com and MD5 hash generated from the DDNS column of the Free DNS Management page). I've tried each combination with and without the wildcard enabled since I found info in the dns.he.net forum that wildcards have been disabled. In every case I get 0.0.0.0 showing in red for the Cached IP. An excerpt from the system log shows:
Jan 18 18:44:57 php: /services_dyndns_edit.php: DynDns: updatedns() starting
Jan 18 18:44:57 check_reload_status: Syncing firewall
Jan 18 18:44:58 php: /services_dyndns_edit.php: DynDns debug information: 89.158.94.121 extracted from local system.
Jan 18 18:44:58 php: /services_dyndns_edit.php: DynDns: Current WAN IP: 89.158.94.121 No Cached IP found.
Jan 18 18:44:58 php: /services_dyndns_edit.php: DynDns debug information: DynDns: cacheIP != wan_ip. Updating. Cached IP: 0.0.0.0 WAN IP: 89.158.94.121 Inital update.
Jan 18 18:44:58 php: /services_dyndns_edit.php: DynDns: DynDns _update() starting.
Jan 18 18:44:58 php: /services_dyndns_edit.php: HE.net: DNS update() starting.
Jan 18 18:44:59 php: /services_dyndns_edit.php: DynDns: DynDns _checkStatus() starting.
Jan 18 18:44:59 php: /services_dyndns_edit.php: DynDns: Current Service: he-net
Jan 18 18:44:59 php: /services_dyndns_edit.php: Curl error occurred: Couldn't bind to '89.158.94.121'
Jan 18 18:45:03 php: : Config sync not being done because of missing sync IP (this is normal on secondary systems).
Jan 18 18:46:40 php: /services_dyndns_edit.php: DynDns: updatedns() starting
Jan 18 18:46:40 php: /services_dyndns_edit.php: DynDns debug information: 89.158.94.121 extracted from local system.
Jan 18 18:46:40 php: /services_dyndns_edit.php: DynDns: Current WAN IP: 89.158.94.121 Cached IP: 0.0.0.0
Jan 18 18:46:40 php: /services_dyndns_edit.php: DynDns debug information: DynDns: cacheIP != wan_ip. Updating. Cached IP: 0.0.0.0 WAN IP: 89.158.94.121
Jan 18 18:46:40 php: /services_dyndns_edit.php: DynDns: DynDns _update() starting.
Jan 18 18:46:40 php: /services_dyndns_edit.php: HE.net: DNS update() starting.
Jan 18 18:46:40 check_reload_status: Syncing firewall
Jan 18 18:46:41 php: /services_dyndns_edit.php: DynDns: DynDns _checkStatus() starting.
Jan 18 18:46:41 php: /services_dyndns_edit.php: DynDns: Current Service: he-net
Jan 18 18:46:41 php: /services_dyndns_edit.php: Curl error occurred: bind failed with errno 22: Invalid argument
Jan 18 18:46:45 php: : Config sync not being done because of missing sync IP (this is normal on secondary systems).Any idea what I'm doing wrong?
Thanks,
Mike Pugh</domain> -
Nobody? With as many people who are evidently using HE for IPv6 access, it's hard to believe no one has helped themselves to their free DNS. I certainly would like to know how to configure Dynamic DNS for dns.he.net.
-
https://dns.he.net/ says "Dynamic DNS - We're leaving this down here until we're happy with it ;)" I wonder what that means.
-
Oh man, this is an old post, but I hope I'm not too late!
The way it works is simple, you enable dynamic dns on the HE interface and then you generate a DDNS Key that will become your password. Then in pfSense use the complete dynamic hostname like foo.example.com in both hostname and username.
-
Oh man, this is an old post, but I hope I'm not too late!
The way it works is simple, you enable dynamic dns on the HE interface and then you generate a DDNS Key that will become your password. Then in pfSense use the complete dynamic hostname like foo.example.com in both hostname and username.
it is seem still no normal work.
Apr 19 01:02:38 php: /services_dyndns_edit.php: DynDns: updatedns() starting
Apr 19 01:02:38 php: /services_dyndns_edit.php: DynDns: DynDns _update() starting.
Apr 19 01:02:38 php: /services_dyndns_edit.php: HE.net: DNS update() starting.
Apr 19 01:02:38 php: /services_dyndns_edit.php: DynDns: DynDns _checkStatus() starting.
Apr 19 01:02:38 php: /services_dyndns_edit.php: DynDns: Current Service: he-net
Apr 19 01:02:38 php: /services_dyndns_edit.php: Curl error occurred: Couldn't bind to '12.114.90.95' -
I configured it exactly as you said, but I could never get it to work either. I switched to static addresses so it's no longer an issue.
-
I configured it exactly as you said, but I could never get it to work either. I switched to static addresses so it's no longer an issue.
what's do you mean? what's switched to static addresses? we should talk about the dns.he.net,right now?
-
To clarify: I configured my system as MageMinds suggests (although I did so long before after following instructions posted by someone in the he.net dns forum). It still did not work for me. I had been meaning to switch to static public IP addresses anyway and the time seemed to have arrived. I no longer have dynamically configured addresses so I don't have to continually update the DNS servers at he.net. Surely, that is self-explanatory.
-
To anyone else seeing the curl error, this is what I have found.
The curl error is related to this bug http://curl.haxx.se/mail/tracker-2010-12/0008.html, basically curl is trying to bind an ipv6 address on an ipv4 interface. My first thought was to add the curl ipv4 option to the script, but it seems that this option is missing in PHP 5.2 https://bugs.php.net/bug.php?id=47739. What worked for me, since I was running the DNS forwarder anyway, was to add just the ipv4 address for dns.he.net to the host overrides in the DNS forwarder. You should be able to accomplish the same thing by adding this to your hosts file but I haven't tested that.
-
I have to find two solution. I have test these solution. :)
edit /var/etc/hosts file or edit the /etc/inc/dyndns.class file.
change dyndns.class file to:
case 'he-net':
$needsIP = FALSE;
log_error("HE.net: DNS update() starting.");
$server = "https://ipv4.dyn.dns.he.net/nic/update?";
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_USERPWD, $this->_dnsHost . ':' . $this->_dnsPass);
curl_setopt($ch, CURLOPT_URL, $server . 'hostname=' . $this->_dnsHost);
break;or just edit hosts file add:
184.105.242.3 dyn.dns.he.net
-
@yon:
I have to find two solution. I have test these solution. :)
edit /var/etc/hosts file or edit the /etc/inc/dyndns.class file.
change dyndns.class file to:
case 'he-net':
$needsIP = FALSE;
log_error("HE.net: DNS update() starting.");
$server = "https://ipv4.dyn.dns.he.net/nic/update?";
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_USERPWD, $this->_dnsHost . ':' . $this->_dnsPass);
curl_setopt($ch, CURLOPT_URL, $server . 'hostname=' . $this->_dnsHost);
break;or just edit hosts file add:
184.105.242.3 dyn.dns.he.net
$server = "http://ipv4.dyn.dns.he.net/nic/update?";