Subdomain DDNS with pfSense


#1

Hey all,

I have a Domain i purchased from Google Domains fully hosted on Dreamhost. I run pfsense at home and it has a very robust DDNS feature, one of the services available being Dreamhost. I would like a subdomain of my webpage to enact as a DDNS server pointing to my home (dynamic) IP. I just can’t quite figure out how to do it. What settings are required on the Dreamhost side? I’ve found a few tutorials, but they seem mostly applicable before the native Dreamhost option was added to pfSense and require scripts to run on the FTP server (which I don’t think would any longer be needed, but I could be wrong). Honestly, any help would be greatly appreciated


#2

Hello @seth.feinberg,

We do mention some other projects (aside from pfsense) that have used the existing DreamHost API to manage dynamic dns, so that much is possible: https://help.dreamhost.com/hc/en-us/articles/216944818-API-Apps#d_n_s — and we found the pfsense feature request that was completed to add DreamHost as an option, https://redmine.pfsense.org/issues/7321 — however, unfortunately, we are unable to find any instructions from pfsense on the actual setup, to understand what might be involved on our side.
It sounds like, as you said, the new feature should eliminate doing it the old way with scripts (which would require the subdomain to be fully hosted). While we’re unable to officially provide support for the full setup from our end, if pfsense has any setup documentation available at all, we are glad to assist with the DNS settings in our web panel.
It seems someone has done the work, so if no documentation exists, perhaps we can reach the developer/assignee on that pfsense feature!

Thank you!


#3

@DH_Mira Thanks so much for the response! and sorry for my delay in responding.

haha yes, this is precisely my issue:). It isn’t listed on the, fairly well maintained, wiki page: https://doc.pfsense.org/index.php/Dynamic_DNS but it’s def an option in the user interface. It actually doesn’t have any special fields, so maybe there’s some info in one of the other entries that gives some clues?


#4

I included some screenshots of the fields available when setting up a new DDNS in pfsense, in case that’s helpful…


#5


#6

I came here looking for an answer to the same question, but I figured out how to do this.

  1. In your Dreamhost webpanel, go to domains > Manage Domains. Click on ‘DNS’ under the domain you want to add your entry for. For example, if your website is example .org, then click ‘DNS’ under example .org. Where it says “Add a custom DNS record to example .org:”, enter the following:

name: this is how you will access your home network / dynamic dns. For example, put ‘pfsense’ to access it at pfsense.example. org.
Type: A
Value: 127.0.0.1

The value field will get updated to your pfSense’s WAN IP address automatically once we’re done, but it needs something in there for now. You can leave the comment field blank.

  1. Generate an API Key here: https://panel.dreamhost.com/?tree=home.api
    Enter ‘pfsense DDNS’ or whatever you’d like for the comment. Give it access to “All DNS Functions”. Click Generate a New API Key Now! at the bottom of the page. Copy the API key it gives you.

  2. On your pfSense box, add a new Dynamic DNS Client under Services > Dynamic DNS. Use the following settings:
    Service Type: DreamHost
    Interface to Monitor: 99% of the time this should be WAN
    Hostname: the domain you created in step 1. For example, pfsense.example.org.
    Username: this is a comment for the DNS record. You can put ‘pfsense’ or whatever you’d like here. I assume it’s public information, but I’m not sure
    Password: Your API key you generated in step 2.
    Description: Dreamhost (or whatever you want to put here - this is just to identify it in your list)

Click save, then go back into the record and hit “force update and save”. It should have your public IP address listed in the cached IP address field.

You should be able to confirm this is working by opening a command prompt and typing nslookup pfsense.example. org (or whatever your domain is) and it should list your public IP address. You can also go into the DNS page you visited in step 1 and you should see your entry under “Your custom DNS records for example. org:” under ‘value’ (it should no longer say 127.0.0.1.)