Ir al contenido

Red y egress

Por defecto, nada sale.

Un snapshot guarda el nombre del TAP del host. N copias del mismo dorado pedirían el mismo TAP.

La solución: un namespace de red por microVM. Dentro, el TAP siempre es tap0 y el invitado siempre tiene la misma IP. Un solo snapshot vale para todas.

host │ netns kl-<id> │ microVM
vh-<id> 172.30.a.b/30 ◄─veth─► vg-<id> 172.30.a.b+1 │
│ tap0 172.16.0.1/30 ├─ eth0 172.16.0.2
Ventana de terminal
kling run -egress none # por defecto: contesta, no inicia nada
kling run -egress internet # internet, nunca redes privadas
kling run -egress allowlist -allow api.github.com,pypi.org

allowlist falla cerrado: solo salen los dominios declarados (DNS → ipset). Un valor desconocido es un error, no el modo más permisivo.

RESULT 192.168.2.100: BLOCKED (Proxmox host)
RESULT 192.168.2.1: BLOCKED (home router)
RESULT 10.10.10.1: BLOCKED (WireGuard tunnel)
RESULT 169.254.169.254: BLOCKED (cloud metadata)
RESULT 1.1.1.1: REACHABLE

Cada máquina tiene un tope de 16 MiB/s de red y 128 MiB/s de disco.