Features: - Docker-based DHCP server with MAC address whitelisting - Binds to specific ethernet interface only - NO DNS/gateway advertised (direct link only, not a router) - Configurable network parameters (subnet, DHCP range, lease times) - Systemd service integration for Arch/Manjaro - Test environment with isolated network (172.20.0.0/24) - Auto-configuration script to detect network settings - Complete Makefile with management targets Security: - Only responds to whitelisted MAC addresses - deny unknown-clients configuration - Runs in Docker container for isolation Configuration: - Copy .example files to create your config - interface.conf: Network interface to bind to - whitelist.conf: Allowed MAC addresses - network.conf: Network parameters (optional)
18 lines
342 B
Docker
18 lines
342 B
Docker
FROM alpine:3.19
|
|
|
|
RUN apk add --no-cache \
|
|
dhcp \
|
|
bash \
|
|
iproute2
|
|
|
|
RUN mkdir -p /var/lib/dhcp /etc/dhcp /run/dhcp
|
|
|
|
COPY dhcp/entrypoint.sh /entrypoint.sh
|
|
COPY dhcp/dhcpd.conf.template /etc/dhcp/dhcpd.conf.template
|
|
|
|
RUN chmod +x /entrypoint.sh && \
|
|
touch /var/lib/dhcp/dhcpd.leases
|
|
|
|
EXPOSE 67/udp
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"] |