+++ date = "2018-07-26T21:37:32+00:00" publishdate = "2023-12-29T07:08:55+00:00" title = "Now-DNS and pfSense" slug = "now-dns-pfsense" author = "Thedro" tags = ["ddns","pfsense"] type = "posts" summary = "The alternative to a static IP address is a server that keeps track of your dynamic IP address." draft = "" syntax = "1" toc = "" updated = "" +++ {{< image source="/images/now-dns-pfsense.png" >}} {{< /image >}} The alternative to a static `IP` address is a server that keeps track of your dynamic `IP` address. When the `IP` address changes, the client will immediately notify the server of the new `IP` address. This is known as [Dynamic DNS.](https://en.wikipedia.org/wiki/Dynamic_DNS) One of the free `DDNS` services that I use is [Now-DNS.](https://now-dns.com) I've noticed on [pfSense](https://www.pfsense.org) version `2.3.5-RELEASE-p2` that custom client update entries will not work when the update url for `curl` looks something like this; ```shell curl -u : "https://now-dns.com/update?hostname=" ``` It appears that the authentication fails when executing the client update. To fix this issue, remove the curl `HTTP` authentication option by commenting out the line below in the file `/etc/inc/dyndns.class` ```php _curlSslVerifypeer) { curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE); } else { curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); } #curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY); curl_setopt($ch, CURLOPT_USERPWD, "{$this->_dnsUser}:{$this->_dnsPass}"); } ``` This does not have an adverse affect on custom client entries that use a token style update url which do not require a username or password. These urls tend to look like this; ```text https://www.duckdns.org/update?domains=exampledomain&token=a7c4d0ad-114e-40ef-ba1d-d217904a50f2&ip=%IP% ```