Currently, Clients can only be identified by MAC address if AdGuard Home is also a DHCP server.
This is a significant limitation given the newness of limited capability of AGH DHCP server currently.
As the client MAC will be in the network packets, why can't MAC address identifiers be used even if AGH is not the DHCP server? Requiring that AGH be the DHCP server significantly limits the abilty to use client filters and this would likely impact the vast majority of AGH users.
Do not wish to use AGH DHCP server at this time due to features missing that are available in more mature DHCP servers.
AGH DHCP Server is still considered "Experimental" (it is labeled this way in the UI)
Any other way of using a MAC address would be unreliable. We can't simply synchronize the IP<->Mac table with the DHCP server, there will always be a time when it's out of sync.
Do not wish to use AGH DHCP server at this time due to features missing that are available in more mature DHCP servers.
Could you please explain what important features are missing?
AGH DHCP Server is still considered "Experimental" (it is labeled this way in the UI)
Well, yeah, but it's close to removing this label:)
One problem with the DHCP server I ran into. My server had a static IP address assigned by my router. When I switched over to using AdGuards DHCP server I was unable to set that IP as it's static when I tried it said IP already in use. Why can't assign the IP a device already has as it's static?
when I tried it said IP already in use
It was already fixed in #833, it will be published in the next version.
Could you please explain what important features are missing?
Apologies if anything below is incorrect, but it is based on my observation so I may have overlooked or just not worked out how to do something, or a feature might just not be obviously documented.
I'm basing my comparison on Windows Server DHCP Server which I currently use, and within that, the features I currently use.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Keeping open in hope in gets fixed
Sorry for missing this
Doesn't work on Windows (I just tried to configure a scope and got error "Can't detect static IP: not supported on Windows")
This would be extremely complicated to implement:(
The only option on Windows is to run AGH with Docker.
Doesn't support setting DHCP Reservations
It does support DHCP static leases.
Not sure, but doesn't appear to support multiple IP ranges, or conversely, range exclusions?
Yeah, it is rather simple right now.
Not option to define DNS Server IP (is this 'hard coded' assuming that AGH's IP is offered as DNS server address?).
No option to offer multiple IP addresses for DNS setting (i.e. primary and secondary DNS) so clients have fallback
Yeah, that's the reason to use it in the first place.
DHCP Logging (audit logs)
It's all in the AdGuard Home logs. Is it useful to expose this information to the UI?
Conflict detection (i.e. server checks for existence of the IP address it plans to offer, before it offers)
It does it automatically
Doesn't work on Windows (I just tried to configure a scope and got error "Can't detect static IP: not supported on Windows")
This would be extremely complicated to implement:(
The only option on Windows is to run AGH with Docker.
Hmm.. So, name resolution (which started this thread if you recall) relies on running the AGH DHCP server, and the DHCP server function isn't available on all platforms.
This feels like you've architected yourselves into a corner with increasingly significant feature compromise. Well, it does from a Windows user perspective anyway.
This feels like you've architected yourselves into a corner with increasingly significant feature compromise. Well, it does from a Windows user perspective anyway.
It was the Windows version limitation from the very beginning -- caused by the limitations of golang. The alternative solution is possible I think, we could write that part in C, but it is time-consuming, and we've not seen a big demand for it: https://github.com/AdguardTeam/AdGuardHome/issues/616
Understood.
Still, feature disparity across OS's is not ideal.
on linux the correspondence between ip and mac can be monitored from netlink socket,but on windows maybe a dhcp server is needed to do this or use wincap to get the arp package
We have a separate task for DHCP Server for Windows:
https://github.com/AdguardTeam/AdGuardHome/issues/616
multiple IP ranges, or conversely, range exclusions?
Is it really that necessary? Please describe your use-case.
DHCP Logging (audit logs)
I think we can add info messages on which IP we assign for each MAC. That's useful indeed.
Multiple ranges and/range exclusions would normally come about over time. For example, scenario where you need to extend a DHCP scope but run up against fixed IP devices that changing the IP will require other apps/devices to require a config change so it's easier to extend the range through this and then exclude a small chunk of the IPs
One problem with the DHCP server I ran into. My server had a static IP address assigned by my router. When I switched over to using AdGuards DHCP server I was unable to set that IP as it's static when I tried it said IP already in use. Why can't assign the IP a device already has as it's static?
when I tried it said IP already in use
It was already fixed in #833, it will be published in the next version.
@szolin This issue mentioned about in quote and the linked commit/fix seems to be an issue that I still have several times now.
Quite often when I am doing my testing with AGH, I set my main Windows client system with a static IP during this testing time so that I don't lose connections during this time. When I am satisfied with my testing of changes to AGH, I set my main Windows client system back to receiving IP and DNS automatically.
It is at this point that my Windows client machine fails to receive an IP address from AGH DHCP server, noting a conflict of IP. I always have to resort to drastic measures by stopping the AGH service, deleting leases.db, sessions.db, stats.db and restarting the AGH service.
This is the only time that I get an IP conflict and there is no choice but to do these drastic measures because AGH DHCP cannot recover from this state. This only affects my Windows client machine and only specifically after setting a static IP address.
Hi guys. A little question: due to the lack of synchronism due to the use of DHCP in the blocking of websites, it would no longer be correct to enable blocking only for the settings where the administrator user uses "static DHCP leases".
It would be great to use mac address blocking using this feature. It's possible?
Here's the tip!
Merging #2383 here, we shouldn't forget to add MAC-addresses support to client modifier.