Bug #1545
closedDynamic DNS updates fail on 3G connections
0%
Description
I'm having (and have been having for a long time with 2.0, even pre-RC) problems with the dynamic DNS service not updating the IP when it changes on a 3G connection. Updates work as expected on a standard ethernet connection.
When pfsense is first booted, the 3G connection activates and a (correct) update is sent to the Dynamic DNS provider. This is expected behaviour and works flawlessly every time. However, the problem occurs when the IP changes on the 3G connection after it has been active for some time.
When the ISP changes the IP on the 3G connection, the status page is updated with the new IP and in Dynamic DNS the new IP is shown next to "Cached IP". But the IP in the dynamic DNS provider (No-IP in my case) never gets updated.
A reboot of the firewall is often required to fix this situation, or sometimes simply disabling and re-enabling that particular dynamic DNS entry works. I can confirm "Disabled" is not checked. Happy to provide any logs if requested.
Files
Updated by Ross Williamson over 13 years ago
Thanks. Just waiting for an IP change before I do as I updated to the latest build so haven't got any logs when the problem occurs right at the moment. Should change in the next day or two.
Updated by Ross Williamson over 13 years ago
- File ppp.log ppp.log added
- File system.log system.log added
Sorry, this happened ages ago. Didn't realise it was so quick. Here's the logs as requested. As mentioned the first update on boot worked, the next update did not. All subsequent updates also fail.
Updated by Ermal Luçi over 13 years ago
- Status changed from New to Feedback
Please try with latest version.
Currently increasing the timeout is the best solution.
In long term possibly the cached ip should not be changed unless the service provider is not updated as well!
Updated by Ross Williamson over 13 years ago
- File system-rc2.log system-rc2.log added
- File ppp-rc2.log ppp-rc2.log added
Unfortunately this has not helped. Here's some more logs (with -rc2 in the filename) of it happening on the latest version. IP on 3G changes more than once but the only update that worked was the initial one after boot.
Updated by Ermal Luçi over 13 years ago
Just updated the code to take into account some curl errors.
These errors just marked the service as updated but really no communication was done to the service provider dns ip.
Check with next snapshots.
Updated by Ross Williamson over 13 years ago
Thanks, but not working. It is now not even updating on boot. The only way I can get it to update is to manually remove the cache file and hit save in Dynamic DNS.
IP changed last night:
Jun 9 02:40:00 janus php: : MONITOR: XT is down, removing from routing group
Jun 9 02:40:29 janus php: : rc.newwanip: Informational is starting ppp0.
Jun 9 02:40:29 janus php: : rc.newwanip: on (IP address: 122.56.219.225) (interface: opt2) (real interface: ppp0).
Jun 9 02:40:29 janus php: : Removing static route for monitor 202.37.101.2 and adding a new route through 202.124.107.254
Jun 9 02:40:29 janus php: : Removing static route for monitor 202.37.241.164 and adding a new route through 10.64.64.0
Jun 9 02:40:30 janus php: : DynDns: updatedns() starting
Jun 9 02:40:30 janus php: : DynDns debug information: 122.56.219.225 extracted from local system.
Jun 9 02:40:30 janus php: : DynDns: Current WAN IP: 122.56.219.225 Cached IP: 115.189.71.200
Jun 9 02:40:30 janus php: : DynDns debug information: DynDns: cacheIP != wan_ip. Updating. Cached IP: 115.189.71.200 WAN IP: 122.56.219.225
Jun 9 02:40:30 janus php: : DynDns: DynDns _update() starting.
Jun 9 02:40:31 janus php: : Gateways status could not be determined, considering all as up/active.
Jun 9 02:41:46 janus php: : DynDns: DynDns _checkStatus() starting.
Jun 9 02:41:46 janus php: : DynDns: Current Service: noip
Jun 9 02:41:46 janus php: : DynDns debug information: 122.56.219.225 extracted from local system.
Jun 9 02:41:46 janus php: : phpDynDNS: updating cache file /conf/dyndns_opt2noip'st-martins.no-ip.info'.cache: 122.56.219.225
Jun 9 02:41:46 janus php: : phpDynDNS: (Success) IP address is current, no update performed.
That would appear to be successful, but:
ross@beryl:~$ dig st-martins.no-ip.info
[snip]
;; ANSWER SECTION:
st-martins.no-ip.info. 60 IN A 115.189.71.200
Updated by Ross Williamson over 13 years ago
OK the IP just changed again. However, this time, there are no dynDNS logs at all. ppp.log shows the new IP:
Jun 14 17:37:00 janus ppp: [opt2] IPCP: rec'd Configure Ack #17 (Ack-Sent)
Jun 14 17:37:00 janus ppp: [opt2] IPADDR 115.189.68.131
Jun 14 17:37:00 janus ppp: [opt2] IPCP: state change Ack-Sent --> Opened
Jun 14 17:37:00 janus ppp: [opt2] IPCP: LayerUp
Jun 14 17:37:00 janus ppp: [opt2] 115.189.68.131 -> 10.64.64.0
Jun 14 17:37:00 janus ppp: [opt2] IFACE: Up event
But this is all that shows in system.log:
Jun 14 17:37:00 janus check_reload_status: rc.newwanip starting ppp0
Jun 14 17:37:00 janus ppp: [opt2] IFACE: Up event
Jun 14 17:37:02 janus check_reload_status: could not run: /etc/rc.newwanip ppp0
No trace of any phpDynDNS stuff there.
Updated by Chris Buechler over 13 years ago
what's the date on that snapshot? If it's from last week you could be hitting the problem with check_reload_status not functioning properly which would have broken that, and you'll have to upgrade.
Updated by Ross Williamson over 13 years ago
built on Fri Jun 10 20:04:53 EDT 2011
I'll upgrade now.
Will need to wait for another IP change :(
Updated by Chris Buechler over 13 years ago
yeah pretty sure that wasn't fixed until Saturday's snapshots
Updated by Ross Williamson over 13 years ago
OK latest snapshot (Mon EDT) installed.
DynDNS now updates on boot again, so that part is working. Now to see if the original problem is still there. I'll report back when the IP changes.
Updated by Ross Williamson over 13 years ago
Unfortunately still no go. Ppp log shows updated IP. No logs generated by phpDynDNS at all.
Jun 18 16:09:56 janus ppp: [opt2] IPCP: LayerUp
Jun 18 16:09:56 janus ppp: [opt2] 115.189.71.32 -> 10.64.64.0
Jun 18 16:09:56 janus check_reload_status: rc.newwanip starting ppp0
Jun 18 16:09:56 janus ppp: [opt2] IFACE: Up event
Jun 18 16:09:58 janus check_reload_status: could not run: /etc/rc.newwanip ppp0
Updated by Ermal Luçi over 13 years ago
You need to update since this is a bug fixed in latest snapshots of check_reload_Status.
Updated by Ross Williamson over 13 years ago
I'm having trouble keeping the 3G connection active. It is now deciding to get stuck in PPP "Initial" state on IP changes. I realise this is not related to this bug but it is hindering my efforts to test your fixes. The connection drops, so there is no IP to update :(
I might try a newer snapshot (again). Shame as this used to be pretty stable on earlier snapshots (with the exception of DynDNS of course!)
Updated by Ross Williamson over 13 years ago
OK, 3 Jul snapshot managed to keep the interface up over an IP change. Still not updating dynamic DNS:
Jul 4 16:33:35 janus php: : MONITOR: XT is down, removing from routing group
Jul 4 16:34:05 janus php: : rc.newwanip: Informational is starting ppp0.
Jul 4 16:34:05 janus php: : rc.newwanip: on (IP address: 115.189.70.226) (interface: opt2) (real interface: ppp0).
Jul 4 16:34:06 janus php: : Removing static route for monitor 202.37.101.2 and adding a new route through 202.124.107.254
Jul 4 16:34:06 janus php: : Removing static route for monitor 202.37.241.164 and adding a new route through 10.64.64.0
Jul 4 16:34:07 janus php: : DynDns: updatedns() starting
Jul 4 16:34:07 janus php: : DynDns debug information: 115.189.70.226 extracted from local system.
Jul 4 16:34:07 janus php: : DynDns: Current WAN IP: 115.189.70.226 Cached IP: 122.56.219.91
Jul 4 16:34:07 janus php: : DynDns debug information: DynDns: cacheIP != wan_ip. Updating. Cached IP: 122.56.219.91 WAN IP: 115.189.70.226
Jul 4 16:34:07 janus php: : DynDns: DynDns _update() starting.
Jul 4 16:34:10 janus php: : Gateways status could not be determined, considering all as up/active.
Jul 4 16:35:23 janus php: : DynDns: DynDns _checkStatus() starting.
Jul 4 16:35:23 janus php: : DynDns: Current Service: noip
Jul 4 16:35:23 janus php: : Curl error occurred: couldn't connect to host
$ dig st-martins.no-ip.info
[snip]
;; ANSWER SECTION:
st-martins.no-ip.info. 60 IN A 122.56.219.91
Updated by Emanuel Milani over 13 years ago
i have the same issue, pfSense RC3 with two WAN.
Primary with lan connection to a router with fixed ip
Secondary PPPoE and dynamic ip.
Jul 14 12:12:34 php: : DynDns: updatedns() starting Jul 14 12:12:34 php: : DynDns debug information: xx.xx.xx.238 extracted from local system. Jul 14 12:12:34 php: : DynDns: Current WAN IP: xx.xx.x.238 Cached IP: xx.xx.xx.2 Jul 14 12:12:34 php: : DynDns debug information: DynDns: cacheIP != wan_ip. Updating. Jul 14 12:12:34 php: : DynDns: DynDns _update() starting. Jul 14 12:12:36 php: : Gateways status could not be determined, considering all as up/active. Jul 14 12:12:36 php: : Message sent to xxx@xxx.xxx OK Jul 14 12:13:49 php: : DynDns: DynDns _checkStatus() starting. Jul 14 12:13:49 php: : DynDns: Current Service: dyndns Jul 14 12:13:49 php: : Curl error occurred: couldn't connect to host
To fix this situation i have to edit my dyndns conf and save.. pfSense start updating the dyndns and all work again
Updated by Ross Williamson over 13 years ago
For whatever reason dynamic DNS has completely stopped working for me now. I can't even force an update. On first boot I get:
Jul 18 20:49:08 janus php: : DynDns: DynDns _checkStatus() starting.
Jul 18 20:49:08 janus php: : DynDns: Current Service: noip
Jul 18 20:49:08 janus php: : DynDns debug information: 122.56.219.232 extracted from local system.
Jul 18 20:49:08 janus php: : phpDynDNS: updating cache file /conf/dyndns_opt2noip'st-martins.no-ip.info'.cache: 122.56.219.232
Jul 18 20:49:08 janus php: : phpDynDNS: (Success) IP address is current, no update performed.
Jul 18 20:49:08 janus php: : DynDns debug information: 122.56.219.232 extracted from local system.
Jul 18 20:49:08 janus php: : DynDns: Current WAN IP: 122.56.219.232 Cached IP: 122.56.219.232
Jul 18 20:49:08 janus php: : phpDynDNS: No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
(Ie it updates the IP cache without actually doing an update, then sees it already has the right IP cached and carries on)
If I manually remove the cache I just get:
Jul 18 20:51:52 janus php: /services_dyndns_edit.php: DynDns: updatedns() starting
Jul 18 20:51:52 janus php: /services_dyndns_edit.php: DynDns debug information: 122.56.219.232 extracted from local system.
Jul 18 20:51:52 janus php: /services_dyndns_edit.php: DynDns: Current WAN IP: 122.56.219.232 Cached IP: 0.0.0.0
Jul 18 20:51:52 janus php: /services_dyndns_edit.php: DynDns debug information: DynDns: cacheIP != wan_ip. Updating. Cached IP: 0.0.0.0 WAN IP: 122.56.219.232
Jul 18 20:51:52 janus php: /services_dyndns_edit.php: DynDns: DynDns _update() starting.
Jul 18 20:51:52 janus php: /services_dyndns_edit.php: DynDns: DynDns _checkStatus() starting.
Jul 18 20:51:52 janus php: /services_dyndns_edit.php: DynDns: Current Service: noip
Jul 18 20:51:52 janus php: /services_dyndns_edit.php: Curl error occurred: Recv failure: Connection reset by peer
So I have no idea what is going on. This is on the latest snapshot which appears to be Jul 4 still. But dynamic DNS does not appear to work at all on this build. Or something.
It just seems that we are going backwards fast, unless I'm missing something.
Updated by Jim Pingle over 13 years ago
Ross Williamson wrote:
So I have no idea what is going on. This is on the latest snapshot which appears to be Jul 4 still. But dynamic DNS does not appear to work at all on this build. Or something.
July 4 is not the most recent build. See http://forum.pfsense.org/index.php/topic,38687.0.html
Updated by Ross Williamson over 13 years ago
Dynamic DNS does not update without manual intervention on Aug 12 build
Updated by Chris Buechler about 13 years ago
- Target version changed from 2.0 to 2.0.1
Updated by Jim Pingle over 12 years ago
- Status changed from Feedback to Resolved