{
"meta": {
"title": "Post-instalación: Red | Documentación de ProxMenux",
"description": "Opciones de red de la post-instalación personalizable de ProxMenux: forzar APT sobre IPv4, aplicar un perfil sysctl seleccionado, instalar Open vSwitch, activar TCP BBR + Fast Open y vincular los nombres de interfaz a sus direcciones MAC."
},
"header": {
"title": "Post-instalación: Red",
"section": "Configuración post instalación de Proxmox"
},
"intro": {
"title": "Qué cubre esta categoría",
"body": "Cinco opciones de red independientes. Dos son pequeñas (APT sobre IPv4, instalación de Open vSwitch), dos tunean el comportamiento de TCP (perfil sysctl de red, BBR + Fast Open), y una soluciona un dolor de cabeza operativo común — fijar nombres de interfaz para que una NIC nueva o una actualización de BIOS no renombre enp3s0 a enp4s0 y rompa tus bridges."
},
"ipv4": {
"heading": "Forzar a APT a usar IPv4",
"intro": "Escribe Acquire::ForceIPv4 \"true\"; en /etc/apt/apt.conf.d/99-force-ipv4. APT entonces se niega a usar IPv6 para descargas de paquetes, incluso si el host tiene conectividad IPv6.",
"tipTitle": "A quién beneficia",
"tipBody": "Útil cuando tu ruta IPv6 es inestable, más lenta que IPv4, o el mirror Debian/Proxmox falla ocasionalmente sobre IPv6 (pasa). Inofensivo en hosts sin IPv6. En una red dual-stack sana, es solo una garantía de comportamiento predecible — apt no te va a sorprender con un timeout de IPv6."
},
"sysctl": {
"heading": "Aplicar optimizaciones de red",
"intro": "Escribe un perfil sysctl seleccionado en /etc/sysctl.d/99-network.conf que ajusta los búferes de sockets del núcleo, refuerza ICMP, añade protección básica contra suplantación y configura búferes TCP adecuados para un hipervisor con muchos flujos simultáneos.",
"tunedTitle": "Qué se ajusta",
"headerArea": "Área",
"headerSettings": "Ajustes clave",
"rows": [
{
"area": "Búferes de sockets del núcleo",
"settings": "netdev_max_backlog=8192, rmem_max=16M, wmem_max=16M, somaxconn=8192"
},
{
"area": "Hardening de ICMP",
"settings": "icmp_echo_ignore_broadcasts=1, icmp_ignore_bogus_error_responses=1"
},
{
"area": "Seguridad de routing",
"settings": "accept_redirects=0, accept_source_route=0, secure_redirects=0, send_redirects=0, log_martians=0"
},
{
"area": "Filtro de ruta inversa",
"settings": "rp_filter=2 (modo loose, mira la nota abajo)"
},
{
"area": "TCP",
"settings": "tcp_mtu_probing=1, tcp_rfc1337=1, tcp_sack=1, tcp_rmem=8K/87K/16M, tcp_wmem=8K/64K/16M"
},
{
"area": "Puertos",
"settings": "ip_local_port_range=1024 65535 (pool de puertos efímeros)"
},
{
"area": "Sockets Unix",
"settings": "net.unix.max_dgram_qlen=4096"
}
],
"sourceOutro": "También añade source /etc/network/interfaces.d/* a /etc/network/interfaces si no está ya presente — práctica estándar para que puedas dejar snippets modulares de interfaz sin editar el archivo principal.",
"fwbrTitle": "Ajuste automático de los bridges de firewall virtual",
"fwbrBody": "Junto al perfil sysctl, ProxMenux instala un helper en /usr/local/sbin/proxmenux-fwbr-tune que aplica rp_filter=0 y log_martians=0 a las interfaces fwbr* / fwln* / fwpr* / tap* que Proxmox crea alrededor de VMs y contenedores. El helper lo lanza la unit oneshot proxmenux-fwbr-tune.service al arranque y la regla /etc/udev/rules.d/99-zz-proxmenux-fwbr-tune.rules en cada evento net add que coincida con esos prefijos — cubriendo las interfaces que Proxmox recrea al iniciar/parar VMs, en reinicios y en migraciones en vivo. Además el helper se ejecuta inmediatamente al terminar la instalación para barrer las interfaces ya presentes.",
"rpFilterTitle": "Por qué rp_filter=2 (loose) en lugar de 1 (strict)",
"rpFilterBody": "El reverse-path filtering strict descarta paquetes cuya fuente se rutearía por una interfaz distinta. Es el valor por defecto correcto en una máquina cliente, pero rompe gravemente en un host Proxmox donde el tráfico de VMs a menudo llega por un bridge y sale por un uplink con rutas asimétricas. rp_filter=2 (loose) solo descarta paquetes con fuentes verdaderamente no enrutables. Es un trade-off pragmático — ligera reducción en la detección de spoofing de IP local a cambio de no romper tu red de VMs."
},
"ovs": {
"heading": "Instalar Open vSwitch",
"intro": "Instala openvswitch-switch + openvswitch-common. Estos paquetes añaden OVS como implementación alternativa de bridges a los bridges Linux estándar que Proxmox usa por defecto. La instalación por sí sola no cambia ninguna configuración de red — los bridges vmbrX existentes siguen funcionando. OVS pasa a estar disponible en la UI de Proxmox cuando creas un bridge nuevo y lo eliges del desplegable de tipo.",
"tipTitle": "Cuándo tiene sentido OVS",
"tipBody": "Considera OVS si necesitas trunking VLAN con IDs de VLAN no contiguos, LACP con LLDP en modos específicos, programación de flujos granular (OpenFlow), o interoperación con controladores SDN. Para un home lab con un par de VLANs y un único uplink LACP, los bridges Linux estándar + vmbrX.VID son más simples y van perfectamente bien.",
"revertTitle": "Reversible desde el menú Desinstalar",
"revertBody": "OVS queda registrado. Desinstalar optimizaciones ejecuta apt purge sobre openvswitch-switch y openvswitch-common. Migra los bridges OVS a bridges Linux antes de desinstalar; de lo contrario, sus VM perderán la red en el próximo arranque. Equivalente manual:"
},
"bbr": {
"heading": "Activar TCP BBR + TCP Fast Open",
"intro": "Escribe dos archivos sysctl y los recarga. BBR sustituye el control de congestión CUBIC por el algoritmo de Google basado en ancho de banda, que gestiona mejor los enlaces de gran capacidad y alta latencia y los enlaces con pérdidas. TCP Fast Open (TFO) elimina un intercambio de ida y vuelta en conexiones TCP repetidas enviando datos en el SYN.",
"verifyTitle": "Verificación",
"impactTitle": "El impacto depende de la carga",
"impactBody": "BBR brilla en enlaces de alta latencia o con pérdidas (replicación intercontinental, túneles VPN, clientes móviles). En una LAN entre dos máquinas en el mismo switch, la diferencia a menudo está dentro del ruido. TFO ayuda más a conexiones HTTP cortas y repetidas.",
"revertTitle": "Reversible desde el menú Desinstalar",
"revertBody": "BBR/TFO quedan registrados. Desinstalar optimizaciones elimina los dos archivos sysctl (/etc/sysctl.d/99-kernel-bbr.conf y 99-tcp-fastopen.conf) y recarga la configuración restante. Borrar un archivo no restablece sus valores activos en el núcleo. Los valores predeterminados como cubic y tcp_fastopen=1 vuelven tras reiniciar, salvo que otra configuración los sobrescriba. Equivalente manual:"
},
"names": {
"heading": "Nombres de interfaz (persistentes)",
"intro": "Itera sobre cada NIC física que tiene el host (saltándose loopback, veths de Docker, bridges, dispositivos TAP, bonds, Cilium, ZeroTier, WireGuard) y escribe un archivo .link de systemd que vincula el nombre de interfaz actual a la dirección MAC actual. La lógica de naming del kernel ya no puede renombrar esa NIC — el MAC gana.",
"whyTitle": "Por qué importa",
"whyItems": [
"Añadir o quitar dispositivos PCIe puede desplazar la numeración del bus, convirtiendo enp3s0 en enp4s0. Si tu /etc/network/interfaces referencia el nombre antiguo, el bridge desaparece al reiniciar.",
"Actualizaciones de BIOS / firmware a veces cambian cómo se enumeran los dispositivos, con el mismo efecto.",
"El auxiliar escribe archivos .link para las NIC físicas, incluidos los puertos de los bonds, con la MAC que muestra sysfs en ese momento; en los puertos de un bond puede ser la MAC compartida del bond, así que comprueba sus nombres tras reiniciar. Omite interfaces virtuales como veth de LXC y los propios dispositivos bond; no corrige carreras de nombres de NIC virtuales hotplug."
],
"writtenTitle": "Qué se escribe",
"writtenIntro": "Un archivo por NIC física, en /etc/systemd/network/10-proxmenux-<iface>.link. Cada archivo comienza con la cabecera # Managed by ProxMenux — do not edit, marca que permite a ProxMenux distinguir sus propios archivos de los .link provistos por el usuario o por otros paquetes.",
"writtenOutro": "Los archivos .link de otros paquetes o escritos a mano por el usuario se dejan intactos — solo se gestionan los archivos que llevan la cabecera de ProxMenux. En cada nueva ejecución la función reconcilia su propio conjunto: relee MACAddress= de cada 10-proxmenux-*.link y elimina los cuya MAC ya no aparece en /sys/class/net/. Los archivos escritos por una versión antigua de ProxMenux en el formato 10-<iface>.link se migran automáticamente en la primera ejecución.",
"pveTitle": "PVE 9 vs PVE 8",
"pveBody": "El script utiliza archivos .link de systemd para los nombres persistentes. En Proxmox VE 9 también recarga las reglas udev al escribirlos, para que una NIC ya fijada que se vuelva a conectar o detectar aplique su regla sin reiniciar. Comprueba las interfaces existentes tras reiniciar tanto en PVE 8 como en PVE 9. Esto no sustituye ifupdown2 en el host. El script marca el reinicio como necesario en ambos casos para que la post-instalación personalizable lo solicite.",
"reviewTitle": "Revisa antes el /etc/network/interfaces existente",
"reviewBody": "Si tu host tiene configuración legacy en /etc/network/interfaces que referencia nombres de NIC generados por el esquema por defecto del kernel, fijar los nombres de hoy es exactamente lo que quieres. Pero si ya has customizado manualmente la configuración alrededor de nombres específicos, comprueba dos veces que el pinning coincide con lo que el archivo interfaces espera antes de reiniciar.",
"revertTitle": "Reversible desde el menú Desinstalar",
"revertBody": "Desinstalar optimizaciones elimina solo los archivos 10-proxmenux-*.link con cabecera ProxMenux de /etc/systemd/network/. Conserva cualquier .link añadido por el usuario u otro paquete. Los nombres vuelven al comportamiento predeterminado de systemd al reiniciar."
},
"related": {
"heading": "Relacionado",
"items": [
{
"label": "Gestión de Red",
"href": "/docs/network",
"tail": " — diagnósticos, análisis de bridges, reparaciones guiadas."
},
{
"label": "Nombres de interfaz persistentes",
"href": "/docs/network/persistent-names",
"tail": " — la misma idea expuesta como su propio menú más tarde (usa uno u otro, no ambos)."
},
{
"label": "Referencia de comandos de red",
"href": "/docs/help-info/network-commands",
"tail": " — ip, ss, ethtool, sysctl."
},
{
"label": "Desinstalar optimizaciones",
"href": "/docs/post-install/uninstall",
"tail": " — revierte cualquiera de estos cambios de red."
},
{
"label": "Post-instalación personalizable",
"href": "/docs/post-install/customizable",
"tail": " — volver al menú padre."
}
]
}
}