WireGuard necessita exactament un nucli que posseeixi la seva interfície, i aquest fet resol la major part del debat sobre la ubicació a Proxmox abans que el rendiment entri a l'habitació. Un contenidor LXC és una vista d'espai de noms del nucli de l'amfitrió, mentre que una VM arrenca el seu propi. Per tant, la pregunta útil no és quina opció és més lleugera, sinó quin nucli esteu disposats a modificar i amb quin camí de recuperació podeu conviure. Responeu això i l'elecció entre amfitrió, contenidor o VM normalment es fa sola.

Un convidat LXC treballa dins del nucli de l'amfitrió

Instal·lar wireguard-tools dins d'un contenidor us dona el programa de control, no un nucli privat. La interfície wg0 que creeu es registra a la pila de xarxa de l'amfitrió i apareix a la llista de mòduls de l'amfitrió. És per això que un contenidor pot passar totes les comprovacions de paquets i tot i així fallar a la primera ordre wg quan el nucli de l'amfitrió no té el mòdul. I la referència de contenidors de Proxmox documenta aquest model de nucli compartit, juntament amb els límits d'espai de noms i de privilegis dins dels quals treballeu.

L'autoritat és la segona restricció. Aixecar una interfície i hi adjuntar adreces necessita drets d'administració de xarxa dins de l'espai de noms que la posseeix, i un contenidor sense privilegis mapeja aquests drets a través del seu espai de noms d'usuari en lloc de tenir-los directament. No busqueu mai el privilegi complet com a primera resposta; mireu què se li demana realment al contenidor i després concediu-ho.

El nucli de l'amfitrió també és una dependència compartida. Una actualització del nucli de Proxmox canvia la implementació de WireGuard sota cada contenidor alhora, cosa que és convenient fins que una actualització i les expectatives d'un contenidor no es posen d'acord.

Amfitrió, contenidor, VM: què posseeix realment cada ubicació

La ubicació a l'amfitrió posa la VPN a la xarxa pròpia de l'hipervisor. Les rutes, les regles de tallafocs i el túnel passen a formar part de la recuperació de l'amfitrió, i un error allà es pot endur la interfície de gestió. Això és acceptable per a l'encaminament d'infraestructura en un amfitrió al qual arribeu per consola, i dolorós en una caixa remota sense accés fora de banda.

Un contenidor manté el servei empaquetat i reiniciable mentre encara manlleva el nucli de l'amfitrió. S'adiu a un servei deliberadament de nucli compartit i us dona una unitat petita per reconstruir. No us dona un nucli independent, així que qualsevol cosa que necessiti una compilació de mòdul específica assenyala lluny d'aquesta opció.

PlacementKernel ownerTypical failure mode
Proxmox hostHypervisorA routing change breaks host management access
LXC containerHost kernel, container namespaceMissing capability or missing module at wg0 creation
Virtual machineGuest kernelExtra maintenance and a second patch cycle

Una VM costa més memòria i un altre sistema per pedaçar, i a canvi el túnel obté el seu propi nucli, la seva pròpia taula d'encaminament i una frontera d'instantània. Quan la VPN és allò que revertiu després d'un mal canvi, aquesta instantània val la sobrecàrrega.

Tres condicions que trien per vosaltres

Si el túnel necessita una versió de nucli o una funció de WireGuard que l'amfitrió Proxmox no inclou, atureu-vos aquí i feu servir una VM. No podeu instal·lar un nucli més nou dins d'un contenidor, i no hauríeu de substituir el nucli de l'hipervisor per satisfer un sol convidat.

Si el túnel és la porta d'enllaç del lloc per a prefixos LAN reals, pregunteu qui ja posseeix la ruta de tornada. Un contenidor pot encaminar trànsit, però les seves interfícies seuen a la pila de l'amfitrió, així que l'amfitrió acaba portant part de la configuració, tant si ho vau planificar com si no. La ubicació a l'amfitrió és honesta sobre això; la ubicació en contenidor sovint no ho és.

Després valoreu el radi d'impacte d'un error. Reiniciar un contenidor és barat, restaurar una instantània de VM és predictible, i reparar la xarxa de l'amfitrió pot requerir accés físic o per consola. L'elecció correcta és la que podeu recuperar de debò en el pitjor cas, a l'hora que passi.

Una quarta pregunta poques vegades és decisiva però val la pena dir-la: hi ha res més a l'amfitrió que necessiti veure la interfície del túnel? Si sí, la ubicació a l'amfitrió o en contenidor manté aquesta visibilitat local, mentre que una VM us obliga a encaminar entre el convidat i l'amfitrió.

Demostreu la ubicació abans d'encaminar-hi trànsit

Un cop instal·lat, confirmeu quin nucli serveix realment la interfície i si el contenidor ha rebut prou autoritat per mantenir-la:

$ pct config 101 | grep -E 'unprivileged|features'
unprivileged: 1
$ pct exec 101 -- wg show
interface: wg0
  listening port: 51820
$ pct exec 101 -- ip -4 addr show wg0
inet 10.60.0.2/24 scope global wg0

Després comproveu el costat de reenviament des de l'amfitrió, perquè una encaixada de mans només demostra que el túnel està aixecat. Feu servir ip route get per a una adreça de client i confirmeu que el següent salt i la interfície coincideixen amb el disseny, i que el camí de tornada existeix a l'altre costat.

Deixeu el desplegament amb un propietari escrit: quin nucli porta la implementació, quin espai de noms té la interfície i quins prefixos pot reenviar la porta d'enllaç. Aquesta frase evita més incidents que qualsevol comparació de referència de les tres ubicacions.

Articles relacionats