-
Notifications
You must be signed in to change notification settings - Fork 790
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dnsmasq: offer DHCP functionality #8329
Comments
AdSchellevis
added a commit
that referenced
this issue
Feb 13, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 15, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 15, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 15, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 15, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 16, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 16, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 16, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 16, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 16, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 17, 2025
AdSchellevis
added a commit
that referenced
this issue
Feb 17, 2025
This rather large commit implements most relevant dhcp options and rewrites dnsmasq's backend. By default dnsmasq is disabled, eventually we do want dnsmasq enabled for dhcp services by default, but dns itself disabled. For this reason we support port "0" as implemented at dnsmasq (not listening for dns). For cases where users want to integrate dns and dhcp services, the advise is to make dnsmasq listen on a non standard port and point unbound to the zones where dnsmasq is responsible for. This has the advantage of a direct connection between dhcp registered hosts and the requesting service. In these cases dnsmasq's dns service acts like a "connector". In the long run we should deprecate `regdhcpstatic` and `regdhcp` as these either belong to legacy isc-dhcp or hook kea entries (which are better served via unbound). The first mvc migration phase implemented IndexController.php, which we rename to SettingsController.php now as these results in more logical ui endpoints. Since we don't bind to addresses directly (unless specifically configured and adviced only for static setups), we can skip the newwanip event which means we don't restart the service on interface changes. dnsmasq is able to filter the relevant networks on the fly, which is the advised scenario and can cope more easily with changes. When different clients need to receive different options, we can use "tags" now. Requests can add tags to filter options which will be offered to the client, in the most simple scenario one would tag on a range or a host reservation, but more advanced choices can also be achieved using match statements (for example architecture [client-arch])
AdSchellevis
added a commit
that referenced
this issue
Feb 17, 2025
This rather large commit implements most relevant dhcp options and rewrites dnsmasq's backend. By default dnsmasq is disabled, eventually we do want dnsmasq enabled for dhcp services by default, but dns itself disabled. For this reason we support port "0" as implemented at dnsmasq (not listening for dns). For cases where users want to integrate dns and dhcp services, the advise is to make dnsmasq listen on a non standard port and point unbound to the zones where dnsmasq is responsible for. This has the advantage of a direct connection between dhcp registered hosts and the requesting service. In these cases dnsmasq's dns service acts like a "connector". In the long run we should deprecate `regdhcpstatic` and `regdhcp` as these either belong to legacy isc-dhcp or hook kea entries (which are better served via unbound). The first mvc migration phase implemented IndexController.php, which we rename to SettingsController.php now as these results in more logical ui endpoints. Since we don't bind to addresses directly (unless specifically configured and adviced only for static setups), we can skip the newwanip event which means we don't restart the service on interface changes. dnsmasq is able to filter the relevant networks on the fly, which is the advised scenario and can cope more easily with changes. When different clients need to receive different options, we can use "tags" now. Requests can add tags to filter options which will be offered to the client, in the most simple scenario one would tag on a range or a host reservation, but more advanced choices can also be achieved using match statements (for example architecture [client-arch])
Roadmap discussion notes:
|
2 tasks
AdSchellevis
added a commit
that referenced
this issue
Feb 19, 2025
This rather large commit implements most relevant dhcp options and rewrites dnsmasq's backend. By default dnsmasq is disabled, eventually we do want dnsmasq enabled for dhcp services by default, but dns itself disabled. For this reason we support port "0" as implemented at dnsmasq (not listening for dns). For cases where users want to integrate dns and dhcp services, the advise is to make dnsmasq listen on a non standard port and point unbound to the zones where dnsmasq is responsible for. This has the advantage of a direct connection between dhcp registered hosts and the requesting service. In these cases dnsmasq's dns service acts like a "connector". In the long run we should deprecate `regdhcpstatic` and `regdhcp` as these either belong to legacy isc-dhcp or hook kea entries (which are better served via unbound). The first mvc migration phase implemented IndexController.php, which we rename to SettingsController.php now as these results in more logical ui endpoints. Since we don't bind to addresses directly (unless specifically configured and adviced only for static setups), we can skip the newwanip event which means we don't restart the service on interface changes. dnsmasq is able to filter the relevant networks on the fly, which is the advised scenario and can cope more easily with changes. When different clients need to receive different options, we can use "tags" now. Requests can add tags to filter options which will be offered to the client, in the most simple scenario one would tag on a range or a host reservation, but more advanced choices can also be achieved using match statements (for example architecture [client-arch])
AdSchellevis
added a commit
that referenced
this issue
Feb 19, 2025
This rather large commit implements most relevant dhcp options and rewrites dnsmasq's backend. By default dnsmasq is disabled, eventually we do want dnsmasq enabled for dhcp services by default, but dns itself disabled. For this reason we support port "0" as implemented at dnsmasq (not listening for dns). For cases where users want to integrate dns and dhcp services, the advise is to make dnsmasq listen on a non standard port and point unbound to the zones where dnsmasq is responsible for. This has the advantage of a direct connection between dhcp registered hosts and the requesting service. In these cases dnsmasq's dns service acts like a "connector". In the long run we should deprecate `regdhcpstatic` and `regdhcp` as these either belong to legacy isc-dhcp or hook kea entries (which are better served via unbound). The first mvc migration phase implemented IndexController.php, which we rename to SettingsController.php now as these results in more logical ui endpoints. Since we don't bind to addresses directly (unless specifically configured and adviced only for static setups), we can skip the newwanip event which means we don't restart the service on interface changes. dnsmasq is able to filter the relevant networks on the fly, which is the advised scenario and can cope more easily with changes. When different clients need to receive different options, we can use "tags" now. Requests can add tags to filter options which will be offered to the client, in the most simple scenario one would tag on a range or a host reservation, but more advanced choices can also be achieved using match statements (for example architecture [client-arch])
AdSchellevis
added a commit
that referenced
this issue
Feb 19, 2025
This rather large commit implements most relevant dhcp options and rewrites dnsmasq's backend. By default dnsmasq is disabled, eventually we do want dnsmasq enabled for dhcp services by default, but dns itself disabled. For this reason we support port "0" as implemented at dnsmasq (not listening for dns). For cases where users want to integrate dns and dhcp services, the advise is to make dnsmasq listen on a non standard port and point unbound to the zones where dnsmasq is responsible for. This has the advantage of a direct connection between dhcp registered hosts and the requesting service. In these cases dnsmasq's dns service acts like a "connector". In the long run we should deprecate `regdhcpstatic` and `regdhcp` as these either belong to legacy isc-dhcp or hook kea entries (which are better served via unbound). The first mvc migration phase implemented IndexController.php, which we rename to SettingsController.php now as these results in more logical ui endpoints. Since we don't bind to addresses directly (unless specifically configured and adviced only for static setups), we can skip the newwanip event which means we don't restart the service on interface changes. dnsmasq is able to filter the relevant networks on the fly, which is the advised scenario and can cope more easily with changes. When different clients need to receive different options, we can use "tags" now. Requests can add tags to filter options which will be offered to the client, in the most simple scenario one would tag on a range or a host reservation, but more advanced choices can also be achieved using match statements (for example architecture [client-arch])
AdSchellevis
added a commit
that referenced
this issue
Feb 27, 2025
When dnsmasq is not used for dns services, no default dns is being send to the client for dhcp. Add a non specific option, which can be overwritten using tags.
AdSchellevis
added a commit
that referenced
this issue
Mar 3, 2025
…ty reasons best implement 'static' within 'mode' selection so we have room to add the ipv6 ones ( #8329) For ipv4 there only appears to be a static mode type, ipv6 will extend the options. If we don't want to risk needing a checkbox for each of them, it's better to implement this as a mode dropdown.
AdSchellevis
added a commit
that referenced
this issue
Mar 3, 2025
AdSchellevis
added a commit
that referenced
this issue
Mar 3, 2025
AdSchellevis
added a commit
that referenced
this issue
Mar 3, 2025
missed a couple of spots, options specified but not implemented. Also add dhcp-reply-delay for dhcp scope splits.
AdSchellevis
added a commit
that referenced
this issue
Mar 3, 2025
missed a couple of spots, options specified but not implemented. Also add dhcp-reply-delay for dhcp scope splits.
AdSchellevis
added a commit
that referenced
this issue
Mar 3, 2025
missed a couple of spots, options specified but not implemented. Also add dhcp-reply-delay for dhcp scope splits.
AdSchellevis
added a commit
that referenced
this issue
Mar 3, 2025
missed a couple of spots, options specified but not implemented. Also add dhcp-reply-delay for dhcp scope splits.
AdSchellevis
added a commit
that referenced
this issue
Mar 4, 2025
AdSchellevis
added a commit
that referenced
this issue
Mar 4, 2025
…nosync to it and ranges so we can test the new nosync approach. for #8329
AdSchellevis
added a commit
that referenced
this issue
Mar 4, 2025
…nd add unit test also needed for #8329
AdSchellevis
added a commit
that referenced
this issue
Mar 4, 2025
AdSchellevis
added a commit
that referenced
this issue
Mar 4, 2025
AdSchellevis
added a commit
that referenced
this issue
Mar 4, 2025
…specified, avoids duplication warning message for #8329
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Important notices
Before you add a new report, we ask you kindly to acknowledge the following:
Is your feature request related to a problem? Please describe.
In an attempt to deprecate ISC-DHCP we implemented KEA, which for enterprise environments is likely a good choice, but for smaller setups not always as practical, certainly when people are seeking a tight integration between
dhcp
anddns
services (which can only be reached by implementing all sorts of hacks).As we are not planning to "bridge" unbound and kea, but would also like to support the small and medium sized setups, it would be practical to offer dhcp services using
dnsmasq
as this is what most systems use in similar cases.Describe the solution you like
Add dhcp options to
dnsmasq
so we can switch to this option as default and deprecate isc-dhcp.Describe alternatives you considered
Just drop isc in favor of KEA and dropping some of the current use-cases.
Additional context
The text was updated successfully, but these errors were encountered: