How to Configure Dynamic DNS in pfSense

Updated on January 15, 2018
skear profile image

Sam works as a Network Analyst for an algorithmic trading firm. He obtained his Bachelors Degree in Information Technology from UMKC.

Since I don't have a static IP for my home internet connection my public IP address can change at any time. Some ISP's don't offer static IP's on home connections and those that do typically charge steep extra fees for them.

In reality you really don't need a static IP in order to run basic services using your home internet connection. Instead of trying to keep track of the IP address myself I use the Dynamic DNS service in my pfSense router to automatically update a DNS hostname with my current IP.

Whenever I need to remotely access a service running on one of my computers I simply connect using the dyamic DNS host name. It's much easier to remember a DNS name, and if your ISP changes the address it's completely transparent to you.

Uses for Dynamic DNS

I use my Dynamic DNS address to access my home computer using remote desktop and also for accessing my Linux server via SSH. It's also very helpful for remotely managing pfSense firewalls located offsite.

There are a variety of other things you could use your dyamic host name for such as an FTP server, web server, or any other application that you need remote access to.

Once you have configured your host name you will need to set up port forwarding to allow access to the services from your public IP.

Most dynamic host name services offer a client that you can download and run on your computer to keep your IP address up to date. The advantage of letting pfSense handle the task is that you don't need to worry about the computer running the client being turned on all the time.

Creating the Hostname

Before you can begin configuring pfSense you need to register with a dynamic DNS provider and choose a hostname to use.

There are several companies that offer free DNS but I would recommend using DynDNS. I have been using their service for several years and it has proven to be very reliable and easy to use.

To get started visit the DynDNS Free registration page and click on "Get it Now". You must choose a unique name for your sub domain. There are several domains you can choose from for your sub domain. Choose "Host with IP address" for the service type.

Enter your public IP address in the next field, or can click the link below the field to use the address which was detected automatically. Once pfSense has been configured it will take care of updating the address in the future.

Then click on "Add to Cart" to finish setting up your account. Once you have filled out the account creation form click on "Create Account"

The username and password you choose here will need to be entered into pfSense so make a note of them.

DynDNS registration page
DynDNS registration page

Configuring pfSense

The next step after creating your domain is to configure the update client in pfSense. The configuration page is listed under the services menu as Dynamic DNS.

On the configuration page click on the plus symbol on the right hand side to add a new provider. You can add as many different providers as you want, this allows you to have multiple host names.

Since I have a dual WAN router I use a different hostname for each of the WAN interfaces. If one of my WAN connections goes offline I can still reach my home network by connecting to the hostname for the other interface.

Walking through the settings

Below is an explanation of each of the settings on the configuration page.

Disable - Leave this box unchecked

Service type - Choose DynDNS here unless you created an account with one of the other providers.

Interface to monitor - Most users will select WAN here unless you have multiple WAN interfaces.

Hostname - In this field you need to enter the full hostname that you created in the DynDNS account you set up earlier. For my example I'm using

MX - This can be left blank unless you plan on configuring your subdomain for email routing.

Wildcards - My personal preference is to leave this unchecked. If you enable it then it allows users to type <anything> So for my example would still resolve to my public address.

Username - Enter your DynDNS username here, or the username for the service you are going to use.

Password - Enter the password associated with the username above.

Description - Not a required field but allows you to enter some details about the client. If you're running multiple clients it's helpful to keep track of what each one is for.

Once you're done with the configuration click on "Save".

Verifying it works

To make sure everything is working go back to the dynamic DNS page on the services menu. If the cached IP is green then the hostname was successfully updated. I always ping the domain to make sure that it resolves to the correct IP address. I've noticed that sometimes it can take several minutes for the hostname to propagate to other DNS servers on the internet.

The updater will automatically update the dynamic host each time the WAN IP changes or every 25 days. Some services will remove inactive hosts if they are not updated at least once every 30 days.

When the cached IP appears in green then the hostname as been successfully updated.
When the cached IP appears in green then the hostname as been successfully updated.


If your hostname is not updating first make sure that the pfSense router has a functional internet connection. Also check to make sure the interface you've selected actually has a public IP address (Status \ Interfaces)

To further troubleshoot the problem check the system logs for error messages. To view the logs click on "System Logs" in the status menu. Scroll down to the filter box and enter services_dyndns_edit, then click the filter button. This will display all of the log messages for the DNS updater client.

The system logs can be used to identify any problems.
The system logs can be used to identify any problems.

This article is accurate and true to the best of the author’s knowledge. Content is for informational or entertainment purposes only and does not substitute for personal counsel or professional advice in business, financial, legal, or technical matters.

© 2011 Sam Kear


    0 of 8192 characters used
    Post Comment
    • skear profile imageAUTHOR

      Sam Kear 

      2 years ago from Kansas City


      You can limit bandwidth per user by using a captive portal. Take a look at my article regarding captive portals and also review the video below. You'll want to use the "Per-user bandwidth restriction" setting.

    • profile image

      Vishal Naipal 

      2 years ago

      Dear sir, i have a question. how can you use pfsense to give a specific person more bandwith conection than another one? and is there an option to keep a track on who is doing what ore how much bandwith conection a person is using weekly ore something.

    • skear profile imageAUTHOR

      Sam Kear 

      2 years ago from Kansas City


      As far as I'm aware GoDaddy doesn't directly support dynamic DNS updates. There are a couple of possibilities though. One option might be to create a cname record at GoDaddy that points to a dynamic DNS domain. You could then use the built in client to update the dynamic domain.

      There is also some python code out on github that uses the GoDaddy API to update a DNS record. I have not tested this before though.

      It looks like there are people who have python working within pfSense.

      Hope this helps.

    • profile image


      2 years ago


      Would you have any insight into how to set this up using GoDaddy instead of DynDNS?

    • seigfried23 profile image


      7 years ago

      Does this work for Windows 64 bit system? I have problems with most software configurations for some reason. And I thought to get 64 bit only because its more advanced.

    • profile image

      Vijay Thakur 

      8 years ago

      Thanks for submitting such wonderful tutorial. Kindly give more detail that how can we access our LAN Windows 7 machine behind a pfSense Firewall on remote location.


    This website uses cookies

    As a user in the EEA, your approval is needed on a few things. To provide a better website experience, uses cookies (and other similar technologies) and may collect, process, and share personal data. Please choose which areas of our service you consent to our doing so.

    For more information on managing or withdrawing consents and how we handle data, visit our Privacy Policy at:

    Show Details
    HubPages Device IDThis is used to identify particular browsers or devices when the access the service, and is used for security reasons.
    LoginThis is necessary to sign in to the HubPages Service.
    Google RecaptchaThis is used to prevent bots and spam. (Privacy Policy)
    AkismetThis is used to detect comment spam. (Privacy Policy)
    HubPages Google AnalyticsThis is used to provide data on traffic to our website, all personally identifyable data is anonymized. (Privacy Policy)
    HubPages Traffic PixelThis is used to collect data on traffic to articles and other pages on our site. Unless you are signed in to a HubPages account, all personally identifiable information is anonymized.
    Amazon Web ServicesThis is a cloud services platform that we used to host our service. (Privacy Policy)
    CloudflareThis is a cloud CDN service that we use to efficiently deliver files required for our service to operate such as javascript, cascading style sheets, images, and videos. (Privacy Policy)
    Google Hosted LibrariesJavascript software libraries such as jQuery are loaded at endpoints on the or domains, for performance and efficiency reasons. (Privacy Policy)
    Google Custom SearchThis is feature allows you to search the site. (Privacy Policy)
    Google MapsSome articles have Google Maps embedded in them. (Privacy Policy)
    Google ChartsThis is used to display charts and graphs on articles and the author center. (Privacy Policy)
    Google AdSense Host APIThis service allows you to sign up for or associate a Google AdSense account with HubPages, so that you can earn money from ads on your articles. No data is shared unless you engage with this feature. (Privacy Policy)
    Google YouTubeSome articles have YouTube videos embedded in them. (Privacy Policy)
    VimeoSome articles have Vimeo videos embedded in them. (Privacy Policy)
    PaypalThis is used for a registered author who enrolls in the HubPages Earnings program and requests to be paid via PayPal. No data is shared with Paypal unless you engage with this feature. (Privacy Policy)
    Facebook LoginYou can use this to streamline signing up for, or signing in to your Hubpages account. No data is shared with Facebook unless you engage with this feature. (Privacy Policy)
    MavenThis supports the Maven widget and search functionality. (Privacy Policy)
    Google AdSenseThis is an ad network. (Privacy Policy)
    Google DoubleClickGoogle provides ad serving technology and runs an ad network. (Privacy Policy)
    Index ExchangeThis is an ad network. (Privacy Policy)
    SovrnThis is an ad network. (Privacy Policy)
    Facebook AdsThis is an ad network. (Privacy Policy)
    Amazon Unified Ad MarketplaceThis is an ad network. (Privacy Policy)
    AppNexusThis is an ad network. (Privacy Policy)
    OpenxThis is an ad network. (Privacy Policy)
    Rubicon ProjectThis is an ad network. (Privacy Policy)
    TripleLiftThis is an ad network. (Privacy Policy)
    Say MediaWe partner with Say Media to deliver ad campaigns on our sites. (Privacy Policy)
    Remarketing PixelsWe may use remarketing pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to advertise the HubPages Service to people that have visited our sites.
    Conversion Tracking PixelsWe may use conversion tracking pixels from advertising networks such as Google AdWords, Bing Ads, and Facebook in order to identify when an advertisement has successfully resulted in the desired action, such as signing up for the HubPages Service or publishing an article on the HubPages Service.
    Author Google AnalyticsThis is used to provide traffic data and reports to the authors of articles on the HubPages Service. (Privacy Policy)
    ComscoreComScore is a media measurement and analytics company providing marketing data and analytics to enterprises, media and advertising agencies, and publishers. Non-consent will result in ComScore only processing obfuscated personal data. (Privacy Policy)
    Amazon Tracking PixelSome articles display amazon products as part of the Amazon Affiliate program, this pixel provides traffic statistics for those products (Privacy Policy)
    ClickscoThis is a data management platform studying reader behavior (Privacy Policy)