DNSExit DynDNS Cached IP Problem
-
Hi,
Let us begin at the beginning : what is the pfSense version ?edit : and what was in de cache file ? you can find it here /conf/dyndns_xxxxxxxxxxx.cache
The pfSense version is 2.3.3.
Here's what I see in the cache file: 0.0.0.0:1487474281
-
Here's what I see in the cache file: 0.0.0.0:1487474281
Which is of course, the start of the problem.
0.0.0.0 can not be your WAN IP.CYou should check if:
"Dynamic DNS dnsexit (public FQDN): <public ip="">extracted from checkip.dyndns.org"
is really obtains a valid WAN IP.http://checkip.dyndns.org/ should work always ….
At worst, do what "DNSExit" implies : exit it, use another one ^^</public>
-
What do you mean I should check if DNSExit obtains an IP? I thought checkip.dyndns.org public IP checking is done by the pfsense box itself and then updates the cache of the DNSExit hostname? How can it be DNSExit's fault here? DNSExit is free and I just need a few hostnames which is why I use it.
I also have openDNS set in my box and I don't have problems with its cached IP.
-
What do you mean I should check if DNSExit obtains an IP? I thought checkip.dyndns.org public IP checking is done by the pfsense box itself and then updates the cache of the DNSExit hostname? How can it be DNSExit's fault here? DNSExit is free and I just need a few hostnames which is why I use it.
I guess I wasn't clear.
pfSense uses "checkip.dyndns.org" to obtain the current WAN IP and compares it with what was stored in the cache file.
If the obtained IP and cache value don't match, an update start against DNSExit - and the cache file is updated.
The issue is : the cache file IS updated, but with an non-valid WAN IP.
You should 'check'** WHAT IP pfSense obtains when it uses "checkip.dyndns.org".But, when looking at /etc/inc/dyndns.class - line 1723 and furher, I have some question :
Your WAN nic has a real WAN IP (Internet IP) or are has it a non-routable IP (your are chaining routers afters routers).
What is you WAN IP on the pfSense NIC ?
What is your real WAN IP, as seen from the outside ?I also have openDNS set in my box and I don't have problems with its cached IP.
That's whats troubles me. But : all these different 'DynDNS services' use somewhat different procedures.
Feb 27 12:45:31 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS: updatedns() starting Feb 27 12:45:31 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS opendns (office): 90.38.97.118 extracted from local system. Feb 27 12:45:31 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS (office): running get_failover_interface for wan. found pppoe0 Feb 27 12:45:31 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS opendns (office): _update() starting. Feb 27 12:45:32 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS opendns (office): _checkStatus() starting. Feb 27 12:45:32 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS opendns (office): 90.38.97.118 extracted from local system. Feb 27 12:45:33 php-fpm 57003 /services_dyndns_edit.php: Message sent to my@mail.tld OK Feb 27 12:45:33 php-fpm 57003 /services_dyndns_edit.php: phpDynDNS: updating cache file /conf/dyndns_wanopendns'office'1.cache: 90.38.97.118 Feb 27 12:45:33 php-fpm 57003 /services_dyndns_edit.php: phpDynDNS (office): (Success) IP Address Changed Successfully! (90.38.97.118)
What is missing in your log is this part :
phpDynDNS: updating cache file /conf/dyndns_wanopendns'office'1.cache: 90.38.97.118edit : I think I understand.
You're updating …. and you have an answer (teh PAYLOAD) back : "HTTP/1.1 200 OK 4=IP not changed. To save our system resources, please don't post updates unless the IP got changed." (this says : DO NEVER EVER update when your IP didn't change ....)
So : $successful_update stays false and .... your cache-file won't be updated ....To break out of this : really do change you WAN IP, so an update against DNSExit will get accepted AND cache the file will be created with a valid (WAN) WAN IP.
-
What do you mean I should check if DNSExit obtains an IP? I thought checkip.dyndns.org public IP checking is done by the pfsense box itself and then updates the cache of the DNSExit hostname? How can it be DNSExit's fault here? DNSExit is free and I just need a few hostnames which is why I use it.
I guess I wasn't clear.
pfSense uses "checkip.dyndns.org" to obtain the current WAN IP and compares it with what was stored in the cache file.
If the obtained IP and cache value don't match, an update start against DNSExit - and the cache file is updated.
The issue is : the cache file IS updated, but with an non-valid WAN IP.
You should 'check'** WHAT IP pfSense obtains when it uses "checkip.dyndns.org".But, when looking at /etc/inc/dyndns.class - line 1723 and furher, I have some question :
Your WAN nic has a real WAN IP (Internet IP) or are has it a non-routable IP (your are chaining routers afters routers).
What is you WAN IP on the pfSense NIC ?
What is your real WAN IP, as seen from the outside ?I also have openDNS set in my box and I don't have problems with its cached IP.
That's whats troubles me. But : all these different 'DynDNS services' use somewhat different procedures.
Feb 27 12:45:31 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS: updatedns() starting Feb 27 12:45:31 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS opendns (office): 90.38.97.118 extracted from local system. Feb 27 12:45:31 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS (office): running get_failover_interface for wan. found pppoe0 Feb 27 12:45:31 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS opendns (office): _update() starting. Feb 27 12:45:32 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS opendns (office): _checkStatus() starting. Feb 27 12:45:32 php-fpm 57003 /services_dyndns_edit.php: Dynamic DNS opendns (office): 90.38.97.118 extracted from local system. Feb 27 12:45:33 php-fpm 57003 /services_dyndns_edit.php: Message sent to my@mail.tld OK Feb 27 12:45:33 php-fpm 57003 /services_dyndns_edit.php: phpDynDNS: updating cache file /conf/dyndns_wanopendns'office'1.cache: 90.38.97.118 Feb 27 12:45:33 php-fpm 57003 /services_dyndns_edit.php: phpDynDNS (office): (Success) IP Address Changed Successfully! (90.38.97.118)
What is missing in your log is this part :
phpDynDNS: updating cache file /conf/dyndns_wanopendns'office'1.cache: 90.38.97.118edit : I think I understand.
You're updating …. and you have an answer (teh PAYLOAD) back : "HTTP/1.1 200 OK 4=IP not changed. To save our system resources, please don't post updates unless the IP got changed." (this says : DO NEVER EVER update when your IP didn't change ....)
So : $successful_update stays false and .... your cache-file won't be updated ....To break out of this : really do change you WAN IP, so an update against DNSExit will get accepted AND cache the file will be created with a valid (WAN) WAN IP.
From one of my client machines, going to checkip.dyndns.org gives me the correct public IP.
Also, you are correct. The VDSL2 modem that my ISP provides me is a router in itself BUT it cannot be set to bridge mode. With that setup, it is in series (chained) with my main pfsense box so the pfsense WAN interface has a non-routable private IP provided by the DHCP service of the ISP modem. Take note though, this is not a double-NAT config as I set the pfsense WAN interface IP as a DMZ host for the ISP modem network, so all ports are forwarded automatically to it. I can access my servers inside my network from the outside.
And regarding the updating, yes I do a force update and it returns a message that I should never do that if my IP doesn't change. But the thing is, how does pfsense know that it doesn't change when the cached IP is clearly not equal to the IP obtained from checkip.dyndns.org? 0.0.0.0 vs. <valid public="" ip="" from="" checkip.dyndns.org="">. You get what I mean?
And two days ago, my public IP changed automatically (expired DHCP lease time from ISP) but the behavior is the same. It never gives me the correct cached IP for DNSExit under cached IP but the actual FQDN (as accessed from the outside) updates automatically. So it seems to me that the only problem here is the display in pfsense. It is not correctly updating the cached IP.</valid>
-
Try this : just edit the cache file : replace the 0.0.0.0 with your WAN IP.
Next time, when a DNS update check is done, it won't effectuate a non-needed update against DNSExit.And two days ago, my public IP changed automatically (expired DHCP lease time from ISP) but the behavior is the same. It never gives me the correct cached IP for DNSExit under cached IP but the actual FQDN (as accessed from the outside) updates automatically. So it seems to me that the only problem here is the display in pfsense. It is not correctly updating the cached IP.
Well … the idea is that when your WAN IP DID change, the update against DNSexit should work, with some sort of "Success" result. The "Success" result will have as effect : a new cache file is created with the correct IP.
Normally, where I live (France) our ISP (Orange) gives us (actually : rent !) the boxes (Livebox or worse : the "Play" version) that can only do router mode. On my worls I do not need phone suppoprt, neither TV, so I use a basic ADSL2/VSDL modem. saves me a lot of troubles.
Btw : please not : IF DNSexit return somewhat different as the code (dyndns.class) expects (parses !), the update procedure will NEVER work well. This ha sto be checked if everything else fails.
Or, as I suggested : use another DYNDNS supplier ;) -
Try this : just edit the cache file : replace the 0.0.0.0 with your WAN IP.
Next time, when a DNS update check is done, it won't effectuate a non-needed update against DNSExit.And two days ago, my public IP changed automatically (expired DHCP lease time from ISP) but the behavior is the same. It never gives me the correct cached IP for DNSExit under cached IP but the actual FQDN (as accessed from the outside) updates automatically. So it seems to me that the only problem here is the display in pfsense. It is not correctly updating the cached IP.
Well … the idea is that when your WAN IP DID change, the update against DNSexit should work, with some sort of "Success" result. The "Success" result will have as effect : a new cache file is created with the correct IP.
Normally, where I live (France) our ISP (Orange) gives us (actually : rent !) the boxes (Livebox or worse : the "Play" version) that can only do router mode. On my worls I do not need phone suppoprt, neither TV, so I use a basic ADSL2/VSDL modem. saves me a lot of troubles.
Btw : please not : IF DNSexit return somewhat different as the code (dyndns.class) expects (parses !), the update procedure will NEVER work well. This ha sto be checked if everything else fails.
Or, as I suggested : use another DYNDNS supplier ;)So I tried manually changing the cache file and it now displays it correctly in the dashboard but is RED in color. Why?
Ok, this is not good. Why do I get these in the logs now:
Feb 28 17:55:29 php-fpm 19598 /rc.dyndns.update: Dynamic DNS opendns (58947837): IP address could not be extracted from checkip.dyndns.org
Feb 28 17:55:29 php-fpm 19598 /rc.dyndns.update: Dynamic Dns (58947837): Current WAN IP could not be determined, skipping update process.
Feb 28 17:55:29 php-fpm 19598 /rc.dyndns.update: phpDynDNS (58947837): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
Feb 28 17:55:35 php-fpm 69522 /rc.dyndns.update: phpDynDNS (58947837): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.Why can't it get the IP from checkip.dyndns.org?
-
…
So I tried manually changing the cache file and it now displays it correctly in the dashboard but is RED in color. Why?What does it show exactly ??
Image please.My cache file looks like this :
[2.3.3-RELEASE][admin@pfsense.brit-hotel-fumel.net]/conf: cat dyndns_wanopendns'office'1.cache
109.222.2.50|1488243395( the | is a special case)
…
Feb 28 17:55:29 php-fpm 19598 /rc.dyndns.update: Dynamic DNS opendns (58947837): IP address could not be extracted from checkip.dyndns.org
Feb 28 17:55:29 php-fpm 19598 /rc.dyndns.update: Dynamic Dns (58947837): Current WAN IP could not be determined, skipping update process.
Feb 28 17:55:29 php-fpm 19598 /rc.dyndns.update: phpDynDNS (58947837): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
Feb 28 17:55:35 php-fpm 69522 /rc.dyndns.update: phpDynDNS (58947837): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
Why can't it get the IP from checkip.dyndns.org?Dono.
When I see an issue like that, I is what I would do :
Launch Putty.
Access pfSense by SSH.
When the menu shows up : option 8.And then :
[2.3.3-RELEASE][admin@pfsense.brit-hotel-fumel.net]/root: host checkip.dyndns.org checkip.dyndns.org is an alias for checkip.dyndns.com. checkip.dyndns.com has address 216.146.43.70 checkip.dyndns.com has address 216.146.38.70 checkip.dyndns.com has address 91.198.22.70 [2.3.3-RELEASE][admin@pfsense.brit-hotel-fumel.net]/root: curl checkip.dyndns.org <title>Current IP Check</title>Current IP Address: 109.222.2.50 [2.3.3-RELEASE][admin@pfsense.brit-hotel-fumel.net]/root:
You can see clearly the result (a html page) from checkip.dyndns.org with my WAN IP.
This assures that pfSense resolves ok (dns issues).
That it can fetch something from the net. -
…
So I tried manually changing the cache file and it now displays it correctly in the dashboard but is RED in color. Why?What does it show exactly ??
Image please.My cache file looks like this :
[2.3.3-RELEASE][admin@pfsense.brit-hotel-fumel.net]/conf: cat dyndns_wanopendns'office'1.cache
109.222.2.50|1488243395( the | is a special case)
…
Feb 28 17:55:29 php-fpm 19598 /rc.dyndns.update: Dynamic DNS opendns (58947837): IP address could not be extracted from checkip.dyndns.org
Feb 28 17:55:29 php-fpm 19598 /rc.dyndns.update: Dynamic Dns (58947837): Current WAN IP could not be determined, skipping update process.
Feb 28 17:55:29 php-fpm 19598 /rc.dyndns.update: phpDynDNS (58947837): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
Feb 28 17:55:35 php-fpm 69522 /rc.dyndns.update: phpDynDNS (58947837): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
Why can't it get the IP from checkip.dyndns.org?Dono.
When I see an issue like that, I is what I would do :
Launch Putty.
Access pfSense by SSH.
When the menu shows up : option 8.And then :
[2.3.3-RELEASE][admin@pfsense.brit-hotel-fumel.net]/root: host checkip.dyndns.org checkip.dyndns.org is an alias for checkip.dyndns.com. checkip.dyndns.com has address 216.146.43.70 checkip.dyndns.com has address 216.146.38.70 checkip.dyndns.com has address 91.198.22.70 [2.3.3-RELEASE][admin@pfsense.brit-hotel-fumel.net]/root: curl checkip.dyndns.org <title>Current IP Check</title>Current IP Address: 109.222.2.50 [2.3.3-RELEASE][admin@pfsense.brit-hotel-fumel.net]/root:
You can see clearly the result (a html page) from checkip.dyndns.org with my WAN IP.
This assures that pfSense resolves ok (dns issues).
That it can fetch something from the net.My God! I managed to solve the problem already! You know what the causes is? It was a freaking defective RJ11 cable from the phone socket to the VDSL splitter! Who could've thought RJ11 cables break.
-
:)
Great !
-
I got the same problem now and here's the result:
[2.3.4-RELEASE][root@pfSense.condo.local]/root: host checkip.dyndns.org
checkip.dyndns.org is an alias for checkip.dyndns.com.
checkip.dyndns.com has address 216.146.43.71
checkip.dyndns.com has address 91.198.22.70
checkip.dyndns.com has address 216.146.43.70
checkip.dyndns.com has address 216.146.38.70
[2.3.4-RELEASE][root@pfSense.condo.local]/root: curl checkip.dyndns.org
<title>Current IP Check</title>Current IP Address: {public IP}
[2.3.4-RELEASE][root@pfSense.condo.local]/root: -
I got the same problem now and here's the result:
[2.3.4-RELEASE][root@pfSense.condo.local]/root: host checkip.dyndns.org
checkip.dyndns.org is an alias for checkip.dyndns.com.
checkip.dyndns.com has address 216.146.43.71
checkip.dyndns.com has address 91.198.22.70
checkip.dyndns.com has address 216.146.43.70
checkip.dyndns.com has address 216.146.38.70That ok.
checkip.dyndns.org uses multiple hosts.
One will be picked automatically.[2.3.4-RELEASE][root@pfSense.condo.local]/root: curl checkip.dyndns.org
<title>Current IP Check</title>Current IP Address: {public IP}
[2.3.4-RELEASE][root@pfSense.condo.local]/root:That's NOT good.
It shouldn't be {public IP} but your WAN IPv4 ….
IF this was the case (we can't know) then all is well : the check works for you : checkip.dyndns.org returns the correct IPv4. So : no problem. -
Yes, I understand that checkip.dyndns.org uses multiple A records for rudimentary load balancing purposes.
What do you mean by your second statement? I understand that the IP can be queried properly when you use "curl". So what is "not good" about this?
-
Yes, I understand that checkip.dyndns.org uses multiple A records for rudimentary load balancing purposes.
So no problem there….
What do you mean by your second statement? I understand that the IP can be queried properly when you use "curl". So what is "not good" about this?
So, no problem neither ….
Still :
@kevindd992002:I got the same problem now and here's the result:
[2.3.4-RELEASE][root@pfSense.condo.local]/root: host checkip.dyndns.org
checkip.dyndns.org is an alias for checkip.dyndns.com.
checkip.dyndns.com has address 216.146.43.71
checkip.dyndns.com has address 91.198.22.70
checkip.dyndns.com has address 216.146.43.70
checkip.dyndns.com has address 216.146.38.70
[2.3.4-RELEASE][root@pfSense.condo.local]/root: curl checkip.dyndns.org
<title>Current IP Check</title>Current IP Address: {public IP}
[2.3.4-RELEASE][root@pfSense.condo.local]/root:What is the problem ?
-
The problem is the same as in my OP. Here are the system logs that show the same:
Jun 6 08:18:05 php-fpm 40642 /services_dyndns_edit.php: phpDynDNS (condo1.linkpc.net): (Unknown Response)
Jun 6 08:18:05 php-fpm 40642 /services_dyndns_edit.php: phpDynDNS (condo1.linkpc.net): PAYLOAD: HTTP/1.1 200 OK 4=IP not changed. To save our system resources, please don't post updates unless the IP got changed.
Jun 6 01:01:10 php-cgi rc.dyndns.update: phpDynDNS (58947837): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
Jun 6 01:01:04 php-cgi rc.dyndns.update: phpDynDNS (condo1.linkpc.net): (Unknown Response)
Jun 6 01:01:04 php-cgi rc.dyndns.update: phpDynDNS (condo1.linkpc.net): PAYLOAD: HTTP/1.1 200 OK 4=IP not changed. To save our system resources, please don't post updates unless the IP got changed.
Jun 6 00:11:50 php-fpm 20683 /rc.dyndns.update: phpDynDNS (58947837): No change in my IP address and/or 25 days has not passed. Not updating dynamic DNS entry.
Jun 6 00:11:44 php-fpm 20683 /rc.dyndns.update: Dynamic DNS (condo1.linkpc.net) There was an error trying to determine the public IP for interface - wan (igb0 ).
Jun 6 00:11:44 php-fpm 20683 /rc.dyndns.update: Dynamic DNS dnsexit (condo1.linkpc.net): IP address could not be extracted from checkip.dyndns.org
Jun 6 00:11:12 check_reload_status Updating all dyndnsAnd I get a 0.0.0.0 again in the dashboard for DNSExit DynDNS.
-
It's not the same problem.
Read again : https://forum.pfsense.org/index.php?topic=126000.msg695869#msg695869
Some major details are :
…..
Feb 22 19:02:26 php-fpm 1088 /rc.dyndns.update: Dynamic DNS: updatedns() starting
Feb 22 19:02:30 php-fpm 1088 /rc.dyndns.update: Dynamic DNS dnsexit (public FQDN): <public ip="">extracted from checkip.dyndns.org
.....the Cached IP is not equal to the Public IP extracted from checkip.dyndns.org. It does update it successfully but the Cached IP still remains 0.0.0.0. Please help.
and:
@kevindd992002:I managed to solve the problem already! You know what the causes is? It was a freaking defective RJ11 cable from the phone socket to the VDSL splitter! Who could've thought RJ11 cables break.
So, I advise you to change your "RJ11" cable :)
Your issue (new thread maybe ?) : "checkip.dyndns.org" used by the GUI isn't retrieving any information.
Tell us about your setup - images about settings how you setup the "DNSExit" DynDNS.
Btw : "https://condo1.linkpc.net/" == 112.203.118.128 and point to your ( ? ) pfSense Gui access page. That's nice, and considered as bad, very very bad ;)
Look at this :
https://github.com/pfsense/pfsense/blob/master/src/etc/inc/dyndns.class#L1382
Text return from your DynDNS host should contain :
"No Change In IP Address"
or
"IP Address Changed Successfully!"
If not, it will return "Unknown Response" as it did, because it returns :
(from your log) :
"OK 4=IP not changed. To save our system resources, please don't post updates unless the IP got changed."and true, neither the first text (string), neither the second exists in the reply (also called the PAYLOAD).
It is very possible that DNSExit changed this text that it returns (btw : you undrtood the reply ?) tries to update the IP (that was already in place !!). Do so more often and they might blacklist you ….
In that case pfSense (the code - file /etc/inc/dyndns.class - lines 1382++) should be modified.To check why "checkip.dyndns.org" shows you "IP address could not be extracted from "checkip.dyndns.org" :
The option :
Verbose logging - Enable verbose logging
on the page where you setup your DNSExit is set ?</public> -
I don't think it's the RJ11 cable again. The only thing that prompted me to change the RJ11 previously was because I was getting obvious drop in speeds everywhere. But this time my speed is getting the advertised 100Mbps down.
Please see attachment for my DNSExit configuration. I just enabled verbose logging and got this:
Jun 7 14:24:35 php-fpm 18023 /services_dyndns_edit.php: phpDynDNS (condo1.linkpc.net): (Unknown Response)
Jun 7 14:24:35 php-fpm 18023 /services_dyndns_edit.php: phpDynDNS (condo1.linkpc.net): PAYLOAD: HTTP/1.1 200 OK 4=IP not changed. To save our system resources, please don't post updates unless the IP got changed.
Jun 7 14:24:35 php-fpm 18023 /services_dyndns_edit.php: Dynamic DNS dnsexit (condo1.linkpc.net): _checkStatus() starting.
Jun 7 14:24:33 php-fpm 18023 /services_dyndns_edit.php: Dynamic DNS dnsexit (condo1.linkpc.net): _update() starting.
Jun 7 14:24:33 php-fpm 18023 /services_dyndns_edit.php: Dynamic DNS (condo1.linkpc.net): running get_failover_interface for wan. found igb0
Jun 7 14:24:33 php-fpm 18023 /services_dyndns_edit.php: Dynamic DNS dnsexit (condo1.linkpc.net): {public IP} extracted from checkip.dyndns.org
Jun 7 14:24:26 php-fpm 18023 /services_dyndns_edit.php: Dynamic DNS: updatedns() starting1.) Yes, I know that security is very bad on my part. But how do you publish the pfsense website with security in mind? Do you have to build a web proxy for it?
2.) Yes, I understand about the Payload and it's not like I'm doing this very often to be blacklisted. I've done it just a couple of times while testing (twice so far since this started again). So no worries here.
3.) So if the pfsense code should be modified to fix this, what do I need to do to confirm that it is really the cause of the problem? DNSExit's support sucks and they don't know a thing about their infra.
-
Make a copy of this file on your pfSense : /etc/inc/dyndns.class
Now, edit it : https://github.com/pfsense/pfsense/blob/master/src/etc/inc/dyndns.class#L1384
Change
"No Change In IP Address"
into
"IP not changed"
and see what happens.Normally, the "(Unknown Response)" will be gone because the "IP not changed" situation will now be recognized.
When ok, check also if what the reply will be from DNSExit when de IP did change. Can you force an IP change ?
pfSense thinks it is "IP Address Changed Successfully!" but this could have been changed to …If you just want to make accessible from the outside == WAN the pfSense GUI then a VPN would be more appropriate.
Btw : no one forces you the stay with DNSExit - many others exists, and they do all the same for you.
-
Thanks. I'll try that.
Yeah, I really want to go away from DNSExit but I'm looking for a free service. DynDNS was good until they put a price to it.
-
I just went with NO-IP and that immediately solved the problem, lol. I'm not sure why I didn't think of that in the first place.