96 lines
2.3 KiB
Markdown
96 lines
2.3 KiB
Markdown
|
---
|
||
|
tags:
|
||
|
- evergreen
|
||
|
- homelab
|
||
|
---
|
||
|
# Router/Switch
|
||
|
|
||
|
- 16 Gbps switch (8 Gigabit ports)
|
||
|
- FTTH WAN dengan advertised bandwidth 30 Mbps (15 Mbps)
|
||
|
- 1 failover WAN port (4G, tergantung paket alias on-demand)
|
||
|
- QoS: SQM (64000 Kb/s limit on wan0 port)
|
||
|
- Deep Packet Inspection :)
|
||
|
|
||
|
# Firewall
|
||
|
|
||
|
Yes?
|
||
|
# DNS
|
||
|
|
||
|
AdGuard Home dengan upstream [edgyDNS](https://edgy.network/dns). Block iklan, malware, ads, apapun yang dijual oleh si edgyDNS
|
||
|
|
||
|
# VLAN
|
||
|
|
||
|
IEEE 802.1Q (dot1q)
|
||
|
|
||
|
# Setup
|
||
|
|
||
|
- Workload di-isolasi menggunakan Virtual Machine melalui KVM (libvirt).
|
||
|
- Network driver yang digunakan adalah Bridge
|
||
|
- Remote access hanya melalui Tailscale (100.64.0.0/10)
|
||
|
- Akses ke *services* selalu melalui reverse proxy, untuk akses TCP (L4) dan HTTP (L7)
|
||
|
- Akses dari internet melalui Tailscale (beberapa) dan Cloudflare Tunnel (rata-rata)
|
||
|
- Dukungan untuk akses melalui jaringan [[Yggdrasil]], dan, ya, melalui reverse proxy
|
||
|
|
||
|
# Host Software
|
||
|
|
||
|
- [Cloudflare Tunnel](https://www.cloudflare.com/en-gb/products/tunnel/)
|
||
|
- [Tailscale](https://tailscale.com)
|
||
|
- [Libvirt](https://libvirt.org)
|
||
|
- [OpenSSH](https://www.openssh.com)
|
||
|
- [[Yggdrasil]]
|
||
|
- [[Traefik]]
|
||
|
|
||
|
# OS
|
||
|
|
||
|
- [Ubuntu Server 22.04 LTS](https://ubuntu.com/server) (Host)
|
||
|
- [Fedora Asahi 39](https://asahilinux.org/fedora/) (Host)
|
||
|
- [Synology DiskStation Manager](https://www.synology.com/en-us/dsm) ([[NAS | Host]])
|
||
|
- [Debian Bookworm](https://www.debian.org/) (Guest)
|
||
|
- [Alpine Linux 3.19](https://alpinelinux.org/) (Guest)
|
||
|
|
||
|
# Diagram
|
||
|
|
||
|
```mermaid
|
||
|
flowchart LR
|
||
|
|
||
|
Internet --> B("Cloudflare (AS13335)")
|
||
|
Internet --> C("cgk01-egress (AS20940)")
|
||
|
Internet --> Yggdrasil
|
||
|
|
||
|
B --> D("EdgeRouter X SFP")
|
||
|
C --> D
|
||
|
Yggdrasil -.-> D
|
||
|
|
||
|
D --> nuc
|
||
|
D --> mac-mini
|
||
|
|
||
|
D -.-> nuc
|
||
|
D -.-> mac-mini
|
||
|
|
||
|
nuc --> cloudflared1
|
||
|
nuc --> traefik1
|
||
|
nuc -.-> traefik1
|
||
|
|
||
|
mac-mini --> cloudflared2
|
||
|
mac-mini -.-> traefik2
|
||
|
mac-mini --> traefik2
|
||
|
|
||
|
cloudflared1 --> traefik1
|
||
|
cloudflared1 --> traefik2
|
||
|
cloudflared2 --> traefik1
|
||
|
cloudflared2 --> traefik2
|
||
|
|
||
|
traefik1 --> vm1x
|
||
|
traefik1 --> vm2x
|
||
|
traefik2 --> vm1x
|
||
|
traefik2 --> vm2x
|
||
|
|
||
|
traefik1 --> nas01
|
||
|
traefik2 --> nas01
|
||
|
```
|
||
|
- EdgeRouter adalah SPOF (always bet in router)
|
||
|
- Gue masih agak bimbang antara all-in Cloudflare atau pakai solusi sendiri
|
||
|
- Gue ada rencana untuk menambahkan satu prajurit lagi yang khusus bertindak sebagai reverse proxy di DMZ (nunggu lebaran LOL)
|
||
|
- Info diatas cukup menggambarkan informasi jaringan rumah gue, 'kan?[^1]
|
||
|
|
||
|
[^1]: Hello, internet!
|