chramb / router-lab

A repository that I used to test and configure my router

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Router Lab

This lab was created to help me configure and test my homelab router configuration.

I opted for terraform based lab because it would be easy to create and destroy. My hypervisor of choice was libvirt with QEMU/KVM backend.

Terraform provider used: dmacvicar/terraform-provider-libvirt(GitHub)

Router Plan

Test Lab Network Diagram

flowchart LR
    A{{"🌐 Internet"}} --- B(["πŸ”₯ Alpine Router"])
    B --- C(["πŸ–₯️ Ubuntu Desktop"]) & D(["πŸ–₯️ Fedora Desktop"])
Loading

Software

Operating System: Alpine Linux

due to minimalistic nature and ability to be ran from ram (Diskless Mode) (lbu)

DHCP: ISC DHCP

it's battle tested and most well known while being fairly minimal (to the point that some distributions package it as just dhcp package).

DNS: BIND 9

another ISC product, while the same reasoning as above applies it's also the only mainstream DNS solution that supports DNSSEC, recursive DHCP lookup and dynamic DHCP host registration (RFC 2136)

Certificate Authority: step ca

provides ssh and X.509 certificate management with ACME protocol support.

Firewall: nftables(wiki)

minimal Linux firewall, modern replacement for iptables.

Allows for seamless connection with other servers (cloud or remote), will allow usage of common DNS on all nodes no matter of the locationta

References

About

A repository that I used to test and configure my router


Languages

Language:HCL 100.0%