linuxserver / docker-netbootxyz

GNU General Public License v3.0
269 stars 27 forks source link

[BUG] Documentation for configuring VyOS's DHCP server is not valid #47

Closed b- closed 1 year ago

b- commented 1 year ago

Is there an existing issue for this?

Current Behavior

Documentation on https://github.com/linuxserver/docker-netbootxyz#edgeosvyos is not valid.

vyos@vyos:~$ configure
[edit]
vyos@vyos# set service dhcp-server use-dnsmasq enable

  Configuration path: service dhcp-server [use-dnsmasq] is not valid
  Set failed

and also

vyos@vyos# set service dns forwarding options "dhcp-match=set:bios,60,PXEClient:Arch:00000"

  Configuration path: service dns forwarding [options] is not valid

Expected Behavior

VyOS doesn't have the option to choose dnsmasq over isc-dhcpd, so the entirety of this section doesn't actually work at all.

(Forgive me, but this is where I sort of break from the template because it's too restrictive for documentation-based issue reports)

The upcoming version (1.4) makes it easy to specify the options required to send out a boot file, but unfortunately it doesn't have any easy provisions to choose the file based on the firmware or architecture:

vyos@vyos:~$ configure
[edit]
vyos@vyos# set service dhcp-server shared-network-name foo_network subnet 192.168.10.0/24 bootfile-name netboot.xyz-snponly.efi
[edit]
vyos@vyos# set service dhcp-server shared-network-name foo_network subnet 192.168.10.0/24 bootfile-server my-tftp-server.com

You can specify dhcpd.conf options in the VyOS CLI in order to serve different files per-architecture, and it sounds like these options might work on older versions of VyOS, as well as UI EdgeOS, but I don't have experience with EdgeOS to really confirm anything about that. Check this gist, though.

Steps To Reproduce

  1. Use VyOS
  2. Use LSIO docs to set up its DHCP server for PXE boot
  3. profit cry

Environment

VyOS 1.4-rolling

But according to [the VyOS documentation](https://docs.vyos.io/en/latest/configuration/service/dhcp-server.html), this specific configuration option (`service dhcp-server use-dnsmasq`) is not a valid option as far back as [VyOS 1.2 Crux](https://docs.vyos.io/en/crux/configuration/service/dhcp-server.html).

CPU architecture

x86-64

Docker creation

Not applicable

Container logs

Not applicable
github-actions[bot] commented 1 year ago

Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.

b- commented 1 year ago

Just to preserve the contents of that isc-dhcpd configuration gist:

set service dhcp-server global-parameters "if exists user-class and option user-class = "iPXE" {"
set service dhcp-server global-parameters "filename "http://172.29.0.27/ipxe/boot.php";"
set service dhcp-server global-parameters " } else { "
set service dhcp-server global-parameters "filename "undionly.kpxe";"
set service dhcp-server global-parameters "}"
set service dhcp-server global-paramters "next-server 172.29.0.27;"

I agree that supporting multiple DHCP servers is absolutely a crapshoot, so I don't really know if it would be a good idea or potentially set a bad precedent or something to really document all this. I also am not confident about my documentation-writing skills, or else I would have volunteered by submitting a PR instead of this issue 😅

github-actions[bot] commented 1 year ago

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.

github-actions[bot] commented 1 year ago

This issue is locked due to inactivity