add intro content, outline (refs #14)

This commit is contained in:
2025-12-11 17:30:40 -06:00
parent 1acdf171f9
commit 9d73f1c56d
@@ -1,11 +1,113 @@
+++
categories = ["software"]
tags = ["router","opnsense"]
date = 2025-08-09T08:00:00-05:00
date = 2025-08-27T08:00:00-05:00
description = ""
draft = false
slug = "router-build"
title = "Router Build"
title = "🔀 Router Build"
author = "nicholas"
+++
My router (Netgear R6400v2) lacks many of the features I would like to use and become familiar with:
- VLANs
- Advanced routing, firewall
- Monitoring, logging, alerts
- etc.
**I need a new router.**
I have a few options from here:
1.**Write custom firmware to existing router** (*DD-WRT, OpenWRT, Tomato, etc.*)
- Fun
- Free
- Too much jank
2.**Buy new hardware**
- Very easy setup
- 💲 Could require expensive/high-end router hardware
3.**Repurpose existing hardware**
- Fun
- Makes use of an out-of-work mini PC (Dell OptiPlex 5050 Micro)
- Can run proper router OS
- Use old router as WAP
---
## 🪵 Router-on-a-stick (ROAS)
My VM host (where I will build my router) has only a single NIC, with only one physical port. That means I cannot replicate the behavior of ordinary consumer routers, which are typically configured with a dedicated WAN port, and several dedicated LAN ports. The router simply routes between the two. Very simple. I need to find a way to replicate the *function* of such a router without the same hardware.
I have a couple of options:
1. ❌ Configure the **virtual switch** to perform 802.1Q VLAN tagging for router VM.
- Free, no additional hardware required
2. ✅ Configure a **managed physical switch** to handle 802.1Q VLAN tagging and trunking to the router
- Gain additional physical ports
- 💲 Addtional hardware required
I want the extra ports!
## 🖧 Logical Network Topology
```mermaid
graph TD
isp["🌐ISP"]
modem["📡Modem"]
switch["🔀Switch"]
subgraph vm-host["VM Host"]
router["🛡️Router (OPNSense)"]
end
wap["🛜WAP"]
nas["🗄️NAS"]
workstation["🖥️Workstation"]
subgraph wireless["Wireless Devices"]
laptop["💻Laptop"]
phone["📱Phone"]
printer["🖨️Printer"]
end
isp --- modem
modem --- switch
switch --- |"🪵 Trunk (VLANs 10,100)"| router
switch --- wap
switch --- nas
switch --- workstation
wap -.- wireless
```
## 🔀 Switch Port VLAN Assignment Table
| Port | Device | VLAN Mode | PVID | Tagged VLANs |
|-|-|-|-|-|
| 1 | Router | Trunk | 10 | 10,100 |
| 2 | Workstation | Access | 10 | - |
| 3 | NAS | Access | 10 | - |
| 4 | WAP | Access | 10 | - |
| 5 | - | Access | 10 | - |
| 6 | - | Access | 10 | - |
| 7 | - | Management | 1 | - |
| 8 | Modem | Access | 100 | - |
## 🖥️ VM Configuration
- 3 GB RAM
- 1 vCPU
- Static MAC address (Spoof NETGEAR router MAC)
- Enable router VM network adapter to carry VLANs ID 10,100
## ⏺️ OPNSense
### Interfaces - VLAN 10,100
LAN = VLAN 10
WAN = VLAN 20
### Unbound DNS
### Query Forwarding
- forward to pi-hole -> network-wide ad-blocking
### Overrides
### DHCP
### Firewall - GeoIP
[Block countries](https://AccountID:AccountKey@download.maxmind.com/geoip/databases/GeoLite2-Country-CSV/download?suffix=zip)