Arkitektur
Internett
│
▼
DNS: elev15.sevgs.no → 213.236.208.48
│
▼
[ Brannmur: UFW ] åpne porter: 22, 80, 443, 81
│
▼
[ Debian VM på Proxmox ]
├─ ens19 (WAN): 213.236.208.48/27
└─ ens18 (LAN): 10.20.31.208/23 (DHCP)
│
▼
[ Docker ]
├─ npm → port 80, 443, 81
├─ portainer → port 9000 (intern)
└─ minside → port 80 (intern)
↑
alle på Docker-nettet "proxy"
Steg jeg gjorde
- Proxmox + Debian VM — opprettet VM med to nettverkskort (LAN + WAN VLAN 400).
- WAN-IP — satt statisk
213.236.208.48/27påens19i/etc/network/interfaces. - Docker — installert via offisiell apt-repo.
- UFW brannmur — kun port 22, 80, 443, 81 åpne.
- Docker-nett — opprettet eksternt nettverk
proxyfor å koble containere sammen. - Nginx Proxy Manager — kjører som container, lytter på 80/443/81.
- Portainer — kjører som container, eksponert via NPM med SSL.
- Let's Encrypt SSL — automatisk sertifikat per Proxy Host via HTTP-01.
Viktige kommandoer
Nettverk
ip a # se IP-er på alle kort
ip route # se rutetabell
curl ipinfo.io # bekreft WAN-IP utad
ifdown ens19; ifup ens19 # restart ett kort
Docker
docker ps # kjørende containere
docker compose up -d # start fra docker-compose.yml
docker compose logs -f # følg logger
docker network ls # liste alle Docker-nett
docker network create proxy
UFW
ufw status # se åpne porter
ufw allow 80 # åpne port 80
ufw enable # slå på
Når noe feiler
| Problem | Sjekk |
|---|---|
| 502 Bad Gateway i NPM | Container kjører? docker ps. Container på proxy-nettet? |
| Let's Encrypt feiler | Port 80 åpen utenfra? DNS peker riktig? |
| SSH mister kontakt | Logg inn via Proxmox-konsoll og kjør ip a |
| Container ikke synlig fra NPM | Mangler networks: [proxy] + external: true |
Sjekkliste før eksamen
- WAN-IP aktiv (
curl ipinfo.ioviser 213.236.208.48) - LAN-tilkobling fungerer (
ping 10.20.30.1) - UFW aktiv med kun nødvendige porter
- Alle containere har
restart: unless-stopped - Reboot-test bestått (alt kommer opp av seg selv)
- Sterke passord på root, NPM, Portainer
- SSL-sertifikat gyldig (hengelås i nettleser)