network/README.md
2024-11-03 10:47:35 +01:00

48 lines
1.9 KiB
Markdown

# `network.tjo.cloud`
Handling networking between nodes and between virtual machines.
# Architecture
<img align="left" src="docs/arhitecture.excalidraw.svg" width="40%">
__WAN interface__ either represents an actual public interface (on Hetzner) or an interface in home LAN that has port-forwarded ports to it from home router.
__LAN interface__ is an ordinary lan network.
__ingress.tjo.cloud__ has port-forwarded all public ports to it (22, 25, 80, 443, 587 etc.). No other VM is accessible from the internet.
__network.tjo.cloud__ establishes Tailscale VPN connection between other network.tjo.cloud VMs. Using subnet routing it makes it possible that each VM can connect to all other VMs on any Proxmox host.
# Subnets
| Host | IPv4 | IPv6 |
|---------|---------------|-----------------------|
| batuu | 10.0.0.16/20 | fd9b:5314:0:1000::/52 |
| jakku | 10.0.0.32/20 | fd9b:5314:0:2000::/52 |
| nevaroo | 10.0.0.48/20 | fd9b:5314:0:3000::/52 |
| | 10.0.0.64/20 | fd9b:5314:0:4000::/52 |
| | 10.0.0.80/20 | fd9b:5314:0:5000::/52 |
| | 10.0.0.96/20 | fd9b:5314:0:6000::/52 |
| | 10.0.0.112/20 | fd9b:5314:0:7000::/52 |
| | 10.0.0.128/20 | fd9b:5314:0:8000::/52 |
| | 10.0.0.144/20 | fd9b:5314:0:9000::/52 |
| | 10.0.0.160/20 | fd9b:5314:0:a000::/52 |
| | 10.0.0.176/20 | fd9b:5314:0:b000::/52 |
| | 10.0.0.192/20 | fd9b:5314:0:c000::/52 |
| | 10.0.0.208/20 | fd9b:5314:0:d000::/52 |
| | 10.0.0.224/20 | fd9b:5314:0:e000::/52 |
| | 10.0.0.240/20 | fd9b:5314:0:f000::/52 |
# Setting up new Host
### 1. Add new device to terraform.tfvars.
### 2. Manually configure vmbr0 and use import to import it.
### 3. Deploy terraform and manually install OPNsense via console.
### 4. Manually configure Tailscale.
Ref: https://tailscale.com/kb/1097/install-opnsense
### 5. Done!