netbootd

command module
v0.14.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 28, 2024 License: Apache-2.0 Imports: 1 Imported by: 0

README

netbootd

Netbootd is a lightweight network boot server designed for automation. It connects to an IPAM (currently only Netbox) to assign IPs to hosts and automatically boots hosts to a configured system in the IPAM.

It is composed of three processes: an API server, a DHCP server, and a TFTP server.

API

The API server is responsible for connecting to the IPAM, retrieving information from it, and exposing this information to DHCPD, TFTPD, and admin users.

Usage
Usage:
  netbootd api [flags]

Flags:
      --api-tls-cert string                   Path to TLS certificate API
      --api-tls-key string                    Path to TLS certificate for API
      --dhcpd-default-dns string              Default DNS server for dhcpd server
      --dhcpd-default-lease-duration string   Default lease duration for dhcpd server
      --dhcpd-default-range string            Default range for dhcpd server
      --dhcpd-default-router string           Default router for dhcpd server
  -h, --help                                  help for api
  -k, --kubeconfig string                     load manifests from Kubernetes
  -l, --listen-address string                 IP address to listen on (default "127.0.0.1")
  -p, --listen-port int                       TCP port to listen on (default 8080)
      --netbox-api-key string                 load manifests from Netbox
  -n, --netbox-url string                     load manifests from Netbox
      --powerdns-api-key string               update PowerDNS record from manifest
      --powerdns-url string                   update PowerDNS record from manifest

Global Flags:
  -d, --debug                    enable debug logging
      --trace                    enable trace logging

DHCPD

The DHCP daemon is responsible for IP assignment over the DHCP protocol. It retrieves the IP corresponding to a host based on the host's MAC address by making a request to the API server.

Usage
Usage:
  netbootd dhcpd [flags]

Flags:
  -t, --api-token string        Token for API auth
  -a, --api-url string          API url for fetching manifest (default "http://127.0.0.1:8080")
  -h, --help                    help for dhcpd
  -i, --interface string        interface to listen on, e.g. eth0 (DHCP)
  -l, --listen-address string   IP address to listen on
  -p, --listen-port int         UDP port to listen on (default 6767)

Global Flags:
  -d, --debug                    enable debug logging
      --trace                    enable trace logging

TFTPD

The TFTP daemon is responsible for sending boot files over the TFTP protocol to hosts. It knows which files it must send to a host based on the host's IP address by making a request to the API server.

It embeds some IPXE binaries to assist in the network booting of complex exploitation systems.

Usage
Usage:
  netbootd tftpd [flags]

Flags:
  -t, --api-token string        Token for API auth
  -a, --api-url string          API url for fetching manifest (default "http://127.0.0.1:8080")
  -h, --help                    help for tftpd
  -l, --listen-address string   IP address to listen on (default "127.0.0.1")
  -p, --listen-port int         UDP port to listen on (default 6969)

Global Flags:
  -d, --debug                    enable debug logging
      --trace                    enable trace logging

Author

This project is maintained by Leni.tech and is a fork of an original project from github.com/DSpeichert/netbootd.

License

This project is Apache 2.0 Licensed. See LICENSE for full details.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
Package dhcpd contains snippets from MIT-licensed coredhcp project at https://github.com/coredhcp/coredhcp
Package dhcpd contains snippets from MIT-licensed coredhcp project at https://github.com/coredhcp/coredhcp
arp

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL