Skip to content

feat: 8-VLAN Segmentation & Router Automation#52

Closed
geeksbsmrt wants to merge 6 commits intomainfrom
feature/vlan-segmentation
Closed

feat: 8-VLAN Segmentation & Router Automation#52
geeksbsmrt wants to merge 6 commits intomainfrom
feature/vlan-segmentation

Conversation

@geeksbsmrt
Copy link
Copy Markdown
Owner

@geeksbsmrt geeksbsmrt commented Mar 23, 2026

Implements the 8-VLAN network segmentation plan: migrate from Pi-hole DHCP to ISC Kea, deploy router 802.1Q tagging and firewall isolation, and configure Docker host VLAN sub-interfaces with system d persistence.

Define envsubst-templated Kea configuration with subnet4 entries for
Management (10), Infrastructure (20), Personal (30), Work (40),
IoT (50), Cameras (60), Guest (70), and Homelab (80) VLANs.
Uses raw DHCP sockets across eth0 and eth0.{20-80} interfaces.
Create services-start to configure 802.1Q tagged interfaces on eth4,
map eth3 as an IoT access port, and bridge SSIDs to VLANs.
Create firewall-start to implement inter-VLAN access policies with a
5-minute auto-revert dead man's switch.
Create confirm-firewall.sh to disarm the switch.
Create setup-vlans.sh to idempotently configure eth0.20-80 with
static IPs for the Docker host.
Create pi-vlans.service oneshot unit for reboot persistence.
Automate deployment of Merlin scripts to /jffs/scripts/ via SSH.
Implements connectivity verification to automatically disarm the
firewall dead man's switch upon successful SSH reconnection.
Configure deploy-prod workflow to inject env vars into ISC Kea config.
Deploy pi-vlans.service and execute setup-vlans.sh to ensure
Docker host sub-interfaces exist before docker compose up.
Disable Pi-hole built-in DHCP. Add ISC Kea DHCP4 container attached
to the host network. Migrate the entire Docker stack from the legacy
192.168.254.0/24 macvlan to the new Infrastructure VLAN (20).
Create 8 dedicated macvlan networks and attach Pi-hole to all
for native per-VLAN DNS visibility. Update SOPS secrets with new IPs.
@geeksbsmrt geeksbsmrt closed this Mar 23, 2026
@geeksbsmrt geeksbsmrt deleted the feature/vlan-segmentation branch March 23, 2026 15:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant