DHCP lease screen not loading
-
Deleting the files provides a temporary fix. However, the issue returns after several hours.
After a fresh install of pfSense the issue is not present, then returns some hours later. System has been tested for memory, hard disk, and network communication issues -- none are present.
Upon a fresh install of pfSense pages load normally in the GUI. However, after several hours the pages for DHCP Leases, Update, Package Manager, and Dashboard will take up to a minute to load and occasionally fail to load with the 504 error.
-
Deleting the files is a plan Z solution.
The real problem is that there is a device in your network that totally breaks the DHCP RFC.
That device renews it's IP after a while, spits out the same nonsense, with ongoing consequences.The real mission is - Plan A - / was / says : find that device.
And repair it (change the host name, give it a static IP, whatever) - or throw it out of the window.
Issue solved. Definitely.Programs can be fool proof, but code can be bad, and still break everything.
No one can program for every exception, or possible situation. -
@gertjan said in DHCP lease screen not loading:
The real problem is that there is a device in your network that totally breaks the DHCP RFC.
That device renews it's IP after a while, spits out the same nonsense, with ongoing consequences.I just don't see how this is possible. There aren't any new devices on the network for months and this problem didn't appear until after upgrading/clean installing to 2.5.
And, even if that is the problem it doesn't explain why other GUI pages are failing to load or loading exceptionally slowly.
Like, how is this the result of some funky client on the DCHP table? Especially when the DHCP log doesn't appear to have abnormal activity.
-
@anrt
Unable to check for upgrades
is new in this thread.The updates : Enter the console, and use option 13.
Does that work ?If many pages become slow, then I tend to say that the entire PHP-FPM or even nginx (the webserver) has some issues.
Console option 8.
Usetop
and see what is on top when you open some GUI pages.
-
Option 13 (Update from console): Another instance is already running. . . Aborting!
Shell "top":
-
@anrt said in DHCP lease screen not loading:
Update from console): Another instance is already running. . . Aborting!
I've seen that before : a blocked 'pkg' process.
The forum has words about that. -
I've got the same DHCP page won't load issue. I just recently did the upgrade to 2.5.0(yesterday), and the problem appeared today. Did anyone ever figure out what was causing the issue?
-
@chance I just checked mine again and it's back to having the same problem. I don't have much more to offer, I'm just going to move DHCP off of pfsense.
I don't buy that there's some random device on my network that's having DHCP issues that somehow popped up with pfsense 2.5, given I had no issues at all previously (for years). If there's a problem, the problem is with whatever change they made in pfsense 2.5, not with one of my devices. If you check the forums the 2.5 update has been painful for a lot of people. Tons of stuff broke like VPN's, and the issues referred to in this thread. I'd just revert back if you still have that option. Wait for netgate to figure out what they did.
As you can see, my leases files aren't even to 10k. There's no way my DHCP scope or my leases are the issue.
-
@chance I got mine working for a while by completely reinstalling pfSense and not using that system for anything but DHCP and the basic firewall (no packages, no certificate creation, no DNS, no port forwarding).
That ended up not working after around five days and the page was timing out again. So, I moved to Opnsense and haven't had any issues.
I'll probably be back to pfSense a few months after the next update comes out, but this has been a terrible experience.
-
@anrt said in DHCP lease screen not loading:
@chance I got mine working for a while by completely reinstalling pfSense and not using that system for anything but DHCP and the basic firewall (no packages, no certificate creation, no DNS, no port forwarding).
That ended up not working after around five days and the page was timing out again. So, I moved to Opnsense and haven't had any issues.
I'll probably be back to pfSense a few months after the next update comes out, but this has been a terrible experience.
I spun up a VM using OPNSense as well, and it was a decent piece of software. Like you, whatever the problematic device on my network was didn't seem to effect OPNSense. If the screen was more of an issue I'd probably switch over as well.
-
Unfortunately I'm in "production" so I can't switch out to Opnsense without a huge change control and testing. My installation is also fairly complicated as it is a private ISP for a neighborhood. I guess that will teach me to upgrade... ever... even with the large amount of testing I did there are still minor things like this that will come up no matter what.
-
@chance said in DHCP lease screen not loading:
Unfortunately I'm in "production" so I can't switch out to Opnsense without a huge change control and testing. My installation is also fairly complicated as it is a private ISP for a neighborhood. I guess that will teach me to upgrade... ever... even with the large amount of testing I did there are still minor things like this that will come up no matter what.
If you look up at my post, I found that deleting the leases files got it working for a few days. I can test it on my home environment by deleting those files again and see if the screen will load. It might not be a perfect resolution but it might be a bit of a work around until netgate gets it figured out.
-
@chance Can you manage a rollback? It's a bit nuclear, but if everything was working on 2.45 then maybe sitting on that until the current development version is stable would be the best option.
-
I probably can, but it's been a little while since the upgrade, and I "think" I can live with this for the time being... Here's hoping it makes 2.5.1...
-
@chance I deleted the files again, restarted the DHCP service through the DHCP leases screen and it is backup and running. So I can confirm that deleting those files and restarting the service will bring up that page again.
That being said, after restarting the service the only leases that showed up in that screen were the static IPs. I didn't get time to test if I had to renew each dynamic device to see if it would show up, but when I loaded up my test VM it grabbed a DHCP address and then showed up in the list.
I hope this helps a bit.
-
I'll explain what I did in case someone stumbles across this thread looking for a work around.
I run pfsense as a VM on my home server (just an old dell R810, nothing special), running ESXi. I opened up the console through the ESXi webGUi (SSH'ing in would do the same thing), pressed 8 (for shell) on the machine, typed
cd /var/dhcpd/var/db
Just to make sure I was in the right location I performed the
ls -lh
It's all lowercase but for clarification I typed LS -LH just so there's no confusion. After I confirmed that the files were in that directory I typed:
rm dhcpd.leases dhcpd.leases~
The one with the ~ is the active leases file. I deleted both just to be safe. I then opened up the webGUI for pfsense. I navigated to status > dhcp leases and restarted the service. Those showed all of my static IPs, and then the dynamics started filling in as my leases expired.
I hope this helps someone.
-
@plague311 said in DHCP lease screen not loading:
The one with the ~ is the active leases file.
The one with the ~ is always older, this the backup.
Instead of deleting file, you might try this :
Go here :
/usr/local/www/Make a backup of this file :
/usr/local/www/status_dhcp_leases.phpEdit the file - using a text edit like Notepad++ - or use nano on pfSense itself :
/usr/local/www/status_dhcp_leases.phpExample :
Yo see the
echo "1 ";
echo "2 ";
etc.
I inserted ?here they are :
add some of these "echo" lines, and look at the DHCP status page in the GUI.
If your browser reaches (shows) echo "1" but not echo "2", you know thing start to go wrong here :
-
If the page doesn't load the echo's will never display.
I think you would have to wrap each relevant block in try/catch to see if you could get it to skip the part that errors and print the debug statement (echo "block A skipped").
I don't really know how php behaves though, so take that FWIW.
-
@gertjan When those lease files get deleted the screen works, but as chance mentioned when it's not loading, it's not loading anything. It just gives that nginx error and there's nothing. I don't know that this really helps track down an issue.
-
@chance said in DHCP lease screen not loading:
If the page doesn't load the echo's will never display.
Like rename or delete this file :
/usr/local/www/status_dhcp_leases.php
?
We all ought to have the same file, and believe me : it loads.@chance said in DHCP lease screen not loading:
try/catch
Ho, ho, .... just keep it easy ;)
I advise to use 'echo x";' which needs just some edit / cut paste skills. Try/catch needs some real PHP skills.Another option : some one send me over - with a protected paste.bin page - his dhcpdleases file.
Then I should be able to read it ? not be able to read it ? = seeing it as this file is used to create the DHCP Status page.
The thing is : no one communicates these files that "don't work".
If the issue is related to these files ....edit : but ok, go : implement try catch blocks and tell us where things go wrong.