Documentation complète: infrastructure, réseau, issues, recommandations
This commit is contained in:
114
docs/infra/network.md
Normal file
114
docs/infra/network.md
Normal file
@@ -0,0 +1,114 @@
|
||||
# Réseau & Accès
|
||||
|
||||
## Tailscale VPN
|
||||
|
||||
Tailscale remplace ZeroTier depuis décembre 2025 pour le mesh VPN.
|
||||
|
||||
### Configuration
|
||||
|
||||
| Machine | IP Tailscale | Hostname |
|
||||
|---------|--------------|----------|
|
||||
| Talloires (RPi5) | 10.171.171.1 | talloires.tailfd281f.ts.net |
|
||||
| Annecy (Synology) | 10.171.171.50 | annecy.tailfd281f.ts.net |
|
||||
| Mac Lionel | 100.x.x.x | (dynamique) |
|
||||
|
||||
### DNS MagicDNS
|
||||
|
||||
Tailscale fournit la résolution DNS automatique :
|
||||
|
||||
```
|
||||
*.talloires.tailfd281f.ts.net → Services Talloires
|
||||
```
|
||||
|
||||
### Accès aux services
|
||||
|
||||
Tous les services sont accessibles via deux domaines :
|
||||
|
||||
| Type | Domaine | Exemple |
|
||||
|------|---------|---------|
|
||||
| LAN | `*.talloires.local` | `jellyfin.talloires.local` |
|
||||
| Tailscale | `*.talloires.tailfd281f.ts.net` | `jellyfin.talloires.tailfd281f.ts.net` |
|
||||
|
||||
## Accès LAN
|
||||
|
||||
### Prérequis
|
||||
|
||||
1. **Certificat CA Caddy** installé sur le client
|
||||
2. **DNS local** configuré (dnsmasq ou /etc/hosts)
|
||||
|
||||
### Installation du certificat
|
||||
|
||||
```bash
|
||||
# Sur Talloires
|
||||
docker exec caddy cat /data/caddy/pki/authorities/local/root.crt > caddy-root.crt
|
||||
|
||||
# Sur Mac
|
||||
sudo security add-trusted-cert -d -r trustRoot \
|
||||
-k /Library/Keychains/System.keychain caddy-root.crt
|
||||
```
|
||||
|
||||
### Configuration DNS
|
||||
|
||||
Option 1 : **dnsmasq** sur le routeur
|
||||
```
|
||||
address=/talloires.local/192.168.1.100
|
||||
```
|
||||
|
||||
Option 2 : **/etc/hosts** sur chaque client
|
||||
```
|
||||
192.168.1.100 jellyfin.talloires.local
|
||||
192.168.1.100 git.talloires.local
|
||||
192.168.1.100 homeassistant.talloires.local
|
||||
# etc.
|
||||
```
|
||||
|
||||
## Ports exposés
|
||||
|
||||
| Port | Service | Protocole |
|
||||
|------|---------|-----------|
|
||||
| 443 | Caddy (HTTPS) | TCP |
|
||||
| 80 | Caddy (HTTP → HTTPS) | TCP |
|
||||
| 2222 | Gitea SSH | TCP |
|
||||
| 8123 | Home Assistant (interne) | TCP |
|
||||
|
||||
## Sécurité
|
||||
|
||||
### Authelia SSO
|
||||
|
||||
La plupart des services sont protégés par Authelia :
|
||||
|
||||
```
|
||||
Client → Caddy → Authelia → Service
|
||||
```
|
||||
|
||||
Services protégés par Authelia :
|
||||
- Transmission
|
||||
- Netdata
|
||||
- Dozzle
|
||||
- Cockpit
|
||||
|
||||
Services avec auth propre (bypass Authelia) :
|
||||
- Jellyfin (auth interne)
|
||||
- Gitea (OIDC via Authelia)
|
||||
- Home Assistant (auth interne)
|
||||
- Arcane (désactivé temporairement)
|
||||
|
||||
### ProtonVPN (WireGuard)
|
||||
|
||||
Transmission utilise un tunnel WireGuard vers ProtonVPN :
|
||||
|
||||
```
|
||||
Transmission → WireGuard container → ProtonVPN → Internet
|
||||
↓
|
||||
Kill switch intégré
|
||||
(network_mode: service:wireguard)
|
||||
```
|
||||
|
||||
Vérification IP :
|
||||
```bash
|
||||
# IP Transmission (doit être ProtonVPN)
|
||||
docker exec transmission curl -s ifconfig.me
|
||||
|
||||
# IP locale
|
||||
curl -s ifconfig.me
|
||||
```
|
||||
Reference in New Issue
Block a user