Corrected Foxtrot location in network topology
- Foxtrot now correctly shown in office connected to mesh node - Office: Mesh node, Foxtrot, Laptop, Pi-hole - Server room: Unraid, PiKVM (direct), Code-Server VM
This commit is contained in:
292
network-map.md
Normal file
292
network-map.md
Normal file
@@ -0,0 +1,292 @@
|
||||
# 🌐 Network Map & Topology
|
||||
|
||||
**Last Updated:** October 31, 2025
|
||||
**Network Range:** 192.168.68.0/22
|
||||
**Maintained By:** Weston
|
||||
|
||||
---
|
||||
|
||||
## 📊 Quick Reference
|
||||
|
||||
| Device | IP Address | Purpose |
|
||||
|--------|-----------|---------|
|
||||
| **TP-Link Router** | 192.168.68.1 | Gateway, DHCP, Mesh Primary |
|
||||
| **Foxtrot (Gaming PC)** | 192.168.68.50 | Workstation |
|
||||
| **Unraid Server (Tower)** | 192.168.68.51 | Main infrastructure |
|
||||
| **PiKVM** | 192.168.68.53 | Server out-of-band management |
|
||||
| **Pi-hole (Pi Zero 2W)** | 192.168.68.61 | DNS + Ad-blocking + Unbound |
|
||||
| **Code-Server VM** | 192.168.68.70 | Ubuntu headless + VS Code |
|
||||
| **TP-Link Mesh Node** | 192.168.71.250 | Office WiFi extender |
|
||||
|
||||
---
|
||||
|
||||
## 🗺️ Physical Network Topology
|
||||
|
||||
```
|
||||
Internet
|
||||
│
|
||||
│ (WAN)
|
||||
│
|
||||
┌───────┴────────┐
|
||||
│ TP-Link Router│
|
||||
│ 192.168.68.1 │
|
||||
│ (Mesh Primary) │
|
||||
└───────┬────────┘
|
||||
│ (LAN - Mesh Network)
|
||||
│
|
||||
┌──────────────┼──────────────┐
|
||||
│ │ │
|
||||
┌────┴─────┐ ┌────┴─────┐ ┌────┴─────┐
|
||||
│TP-Link │ │ Unraid │ │Pi Zero │
|
||||
│Mesh Node │ │ Server │ │Pi-hole │
|
||||
│ .71.250 │ │ Tower │ │Unbound │
|
||||
│ (Office) │ │ .68.51 │ │ .68.61 │
|
||||
└────┬─────┘ └────┬─────┘ └──────────┘
|
||||
│ │
|
||||
┌────┼────┐ ┌────┼─────┐
|
||||
│ │ │ │ │ │
|
||||
┌────┴┐ ┌─┴────┐ ┌─┴──┐ │ ┌──┴────┐
|
||||
│Foxtrot│Laptop│ │PiKVM│ │ │VM: │
|
||||
│Gaming│(WiFi)│ │.68.53│ │ │Code │
|
||||
│ PC │ │ │(Direct│ │ │Server │
|
||||
│.68.50│ │ │to Svr)│ │ │.68.70 │
|
||||
└──────┘ └─────┘ └──────┘ │ └───────┘
|
||||
│
|
||||
(Server VMs)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🖥️ Unraid Server Virtual Network
|
||||
|
||||
```
|
||||
Physical: eth0 (2.5GbE) → bond0 → br0 (192.168.68.51)
|
||||
│
|
||||
┌────────────────────┼────────────────────┐
|
||||
│ │ │
|
||||
┌────┴─────┐ ┌─────┴──────┐ ┌─────┴─────┐
|
||||
│ VMs │ │ Docker │ │ Tailscale │
|
||||
│ │ │ │ │ VPN │
|
||||
└────┬─────┘ └─────┬──────┘ └───────────┘
|
||||
│ │ 100.122.220.126
|
||||
│ ┌────┴─────┐
|
||||
┌────┴─────┐ │ docker0 │
|
||||
│Code-Srvr │ │172.17.0.1│
|
||||
│ .68.70 │ └────┬─────┘
|
||||
│ (Ubuntu) │ │
|
||||
└──────────┘ ┌────┼────────┬──────┐
|
||||
│ │ │ │
|
||||
┌────┴┐ ┌─┴──┐ ┌───┴──┐ ┌─┴───┐
|
||||
│open-│ │NPM │ │Gitea │ │Guac │
|
||||
│webui│ │ .4 │ │ .3 │ │ .2 │
|
||||
│ .5 │ └────┘ └──────┘ └─────┘
|
||||
└─────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📍 Complete IP Address Table
|
||||
|
||||
### Infrastructure & Services
|
||||
|
||||
| Device/Service | IP Address | MAC | Type | Notes |
|
||||
|---------------|-----------|-----|------|-------|
|
||||
| **TP-Link Router** | 192.168.68.1 | - | Physical | Gateway, DHCP, primary mesh |
|
||||
| **Foxtrot (Gaming PC)** | 192.168.68.50 | - | Physical | Workstation, static IP |
|
||||
| **Unraid Server** | 192.168.68.51 | 58:47:ca:7b:97:b0 | Physical | Main server, static IP |
|
||||
| **PiKVM** | 192.168.68.53 | - | Physical | Direct to server, management |
|
||||
| **Pi-hole (Pi Zero 2W)** | 192.168.68.61 | - | Physical | DNS/ad-block/Unbound, static |
|
||||
| **Code-Server VM** | 192.168.68.70 | - | Virtual | Ubuntu + VS Code, KVM/QEMU |
|
||||
| **Laptop** | DHCP | - | Physical | Mobile device, WiFi |
|
||||
| **TP-Link Mesh Node** | 192.168.71.250 | - | Physical | Office WiFi extender |
|
||||
|
||||
### Docker Containers (172.17.0.0/16)
|
||||
|
||||
| Container | Docker IP | Host Port | Purpose |
|
||||
|-----------|-----------|-----------|---------|
|
||||
| **ApacheGuacamole** | 172.17.0.2 | 4000 | Remote desktop gateway |
|
||||
| **Gitea** | 172.17.0.3 | 3002, 22 | Git server |
|
||||
| **NginxProxyManager** | 172.17.0.4 | 1880, 7818, 18443 | Reverse proxy |
|
||||
| **open-webui** | 172.17.0.5 | 3000 | LLM interface |
|
||||
| **Cloudflared** | 172.17.0.6 | 46495 | Cloudflare tunnel |
|
||||
| **Vaultwarden** | 172.17.0.7 | 4743 | Password manager |
|
||||
|
||||
### VPN
|
||||
|
||||
| Service | IP | Network | Purpose |
|
||||
|---------|----|---------| --------|
|
||||
| **Tailscale** | 100.122.220.126 | 100.64.0.0/10 | Secure remote access |
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Network Details
|
||||
|
||||
**Subnet:** 192.168.68.0/22
|
||||
**Netmask:** 255.255.252.0
|
||||
**Usable Range:** 192.168.68.1 - 192.168.71.254 (1022 hosts)
|
||||
**Gateway:** 192.168.68.1
|
||||
**Primary DNS:** 192.168.68.61 (Pi-hole)
|
||||
**Secondary DNS:** 9.9.9.9 (Quad9)
|
||||
**Broadcast:** 192.168.71.255
|
||||
|
||||
---
|
||||
|
||||
## 🔌 Port Reference Guide
|
||||
|
||||
### Unraid Server Ports
|
||||
|
||||
| Service | Port | Protocol | URL |
|
||||
|---------|------|----------|-----|
|
||||
| **Unraid WebUI** | 80 | HTTP | http://192.168.68.51 |
|
||||
| **Unraid SSL** | 443 | HTTPS | https://192.168.68.51 |
|
||||
| **SMB** | 445 | TCP | \\\\192.168.68.51 |
|
||||
| **SSH** | 22 | TCP | ssh root@192.168.68.51 |
|
||||
|
||||
### Container Access
|
||||
|
||||
| Service | URL | Port | Notes |
|
||||
|---------|-----|------|-------|
|
||||
| **open-webui** | http://192.168.68.51:3000 | 3000 | LLM chat interface |
|
||||
| **Gitea** | http://192.168.68.51:3002 | 3002 | Git web UI |
|
||||
| **Gitea (domain)** | https://gitea.segelschiff.app | 443 | Via Cloudflare |
|
||||
| **NPM Web** | http://192.168.68.51:1880 | 1880 | Proxy frontend |
|
||||
| **NPM Admin** | http://192.168.68.51:7818 | 7818 | Management UI |
|
||||
| **Guacamole** | http://192.168.68.51:4000 | 4000 | Remote desktop |
|
||||
| **Vaultwarden** | http://192.168.68.51:4743 | 4743 | Password vault |
|
||||
|
||||
### Infrastructure Access
|
||||
|
||||
| Service | URL | Default Port |
|
||||
|---------|-----|--------------|
|
||||
| **PiKVM** | https://192.168.68.53 | 443 |
|
||||
| **Pi-hole Admin** | http://192.168.68.61/admin | 80 |
|
||||
| **Code-Server** | http://192.168.68.70:8080 | 8080 (typical) |
|
||||
|
||||
---
|
||||
|
||||
## 🛡️ DNS Configuration
|
||||
|
||||
**Primary:** Pi-hole (192.168.68.61)
|
||||
- Ad-blocking
|
||||
- Local DNS records
|
||||
- Query logging
|
||||
- DHCP relay
|
||||
|
||||
**Upstream:** Unbound (same device)
|
||||
- Recursive DNS resolver
|
||||
- No forwarding to ISP
|
||||
- Privacy-focused
|
||||
- DNSSEC validation
|
||||
|
||||
**Resolution Flow:**
|
||||
```
|
||||
Client → Pi-hole (192.168.68.61) → Unbound → Root Servers
|
||||
```
|
||||
|
||||
**Fallback:** 9.9.9.9 (Quad9) - Privacy-respecting public DNS
|
||||
|
||||
---
|
||||
|
||||
## 🌐 Remote Access
|
||||
|
||||
### Cloudflare Tunnel
|
||||
```
|
||||
Internet → Cloudflare Edge → Tunnel → NPM → Services
|
||||
```
|
||||
- **Domain:** *.segelschiff.app
|
||||
- **Services Exposed:** Gitea (and others via NPM)
|
||||
- **Benefits:** No open ports, DDoS protection, SSL
|
||||
- **Container:** Cloudflared (172.17.0.6)
|
||||
|
||||
### Tailscale VPN
|
||||
```
|
||||
Remote Device → Encrypted Tunnel → Unraid (100.122.220.126)
|
||||
```
|
||||
- **Network:** 100.64.0.0/10 (CGNAT)
|
||||
- **Protocol:** WireGuard
|
||||
- **Benefits:** Zero-trust, peer-to-peer, NAT traversal
|
||||
- **Access:** Full homelab as if local
|
||||
|
||||
---
|
||||
|
||||
## 📊 Network Performance
|
||||
|
||||
| Link | Capacity | Usage | Status |
|
||||
|------|----------|-------|--------|
|
||||
| **Unraid NIC** | 2.5 Gbps | <1% | Underutilized |
|
||||
| **Mesh Backhaul** | Unknown | Unknown | Check model specs |
|
||||
| **Internet WAN** | Unknown | Unknown | ISP dependent |
|
||||
|
||||
**Observed (eth0):** ~2 Mbps average = 0.08% of 2.5G capacity
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Troubleshooting Commands
|
||||
|
||||
### Connectivity Tests
|
||||
```bash
|
||||
# Test key infrastructure
|
||||
ping 192.168.68.1 # Router
|
||||
ping 192.168.68.51 # Unraid
|
||||
ping 192.168.68.61 # Pi-hole
|
||||
ping 192.168.68.70 # Code-Server VM
|
||||
ping 8.8.8.8 # Internet
|
||||
|
||||
# DNS tests
|
||||
nslookup google.com 192.168.68.61 # Test Pi-hole
|
||||
dig @192.168.68.61 example.com # Detailed DNS query
|
||||
```
|
||||
|
||||
### Network Status (from Unraid)
|
||||
```bash
|
||||
# Interfaces
|
||||
ip addr show
|
||||
ip link show
|
||||
|
||||
# Routes
|
||||
ip route show
|
||||
|
||||
# Active connections
|
||||
ss -tulpn
|
||||
|
||||
# Docker networks
|
||||
docker network ls
|
||||
docker network inspect bridge
|
||||
```
|
||||
|
||||
### VM Network (Code-Server)
|
||||
```bash
|
||||
# List VMs
|
||||
virsh list --all
|
||||
|
||||
# Get VM IP
|
||||
virsh domifaddr <vm-name>
|
||||
|
||||
# VM network info
|
||||
virsh net-info default
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📝 Recommendations
|
||||
|
||||
### Security
|
||||
1. ⚠️ **Separate Gitea SSH port** - Currently conflicts with Unraid SSH (both port 22)
|
||||
2. ⚠️ **Implement VLANs** - Segment management/services/workstations
|
||||
3. ⚠️ **Firewall hardening** - Move from ACCEPT-all to explicit rules
|
||||
|
||||
### Performance
|
||||
1. Monitor mesh performance between nodes
|
||||
2. Document ISP speeds and plan accordingly
|
||||
3. Consider 10GbE upgrade path (future)
|
||||
|
||||
### Documentation
|
||||
1. ✅ Document Code-Server VM configuration
|
||||
2. ✅ Record TP-Link mesh model and capabilities
|
||||
3. ✅ Map exact ISP speeds and plan
|
||||
|
||||
---
|
||||
|
||||
**Last Updated:** October 31, 2025
|
||||
**Next Review:** When network topology changes
|
||||
**Quick Access:** See README.md for service URLs
|
||||
Reference in New Issue
Block a user