I came here looking for an answer to the same question, but I figured out how to do this.
- 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.
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.
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.
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.)