Synology DSM 7.3 y DSM 7.2 incluyen Container Manager, pero su interfaz gráfica expone sobre todo las redes básicas bridge y host. Si tu NAS tiene varias tarjetas de red, por ejemplo LAN1 para la red interna y LAN2 para otro router o una subred independiente, y quieres que algunos contenedores usen LAN2 o reciban una IP propia dentro de esa subred, normalmente necesitas Docker macvlan.
Los casos habituales son:
- vincular un contenedor a una NIC física y darle una IP independiente en esa subred;
- conectar un contenedor tanto a la red
bridgepredeterminada como a una redmacvlanasociada a una NIC concreta.
Los ejemplos siguientes usan la segunda NIC ovs_eth1 y la subred LAN2 192.168.2.0/24. Ajusta la subred, la puerta de enlace y el nombre de la interfaz según tu red real.
Primero confirma el nombre de la interfaz física
Activa SSH en DSM, inicia sesión en el NAS y ejecuta:
|
|
Si Open vSwitch está activado, los nombres de interfaz suelen verse como ovs_eth0 y ovs_eth1. En equipos con Virtual Machine Manager instalado, Open vSwitch suele activarse automáticamente.
Si Open vSwitch no está activado, los nombres suelen ser eth0, eth1, etc.
En los ejemplos se usa ovs_eth1 como segunda NIC. Si tu NAS no usa Open vSwitch, reemplaza ovs_eth1 por el nombre real que veas, como eth1.
Escenario 1: dar al contenedor una IP dedicada en una NIC concreta
Este es el uso más común. Encaja bien con Pi-hole, AdGuard Home, gestores de descargas, servicios tipo gateway y casos similares. El objetivo es que el contenedor aparezca directamente en la subred LAN2 con una IP parecida a la de un dispositivo físico, en lugar de quedar oculto detrás de la red Docker predeterminada de Synology.
Container Manager no puede crear una red macvlan directamente desde la GUI, así que créala una vez por SSH:
|
|
Los parámetros significan:
-d macvlan: usa el controladormacvlan;--subnet=192.168.2.0/24: la subred completa de LAN2;--gateway=192.168.2.1: la puerta de enlace de LAN2, normalmente la IP del router;--ip-range=192.168.2.200/29: limita el rango que Docker puede asignar para evitar conflictos con móviles, PCs, televisores y otros dispositivos;-o parent=ovs_eth1: indica la NIC física a la que se vincula la red;custom_lan2_net: el nombre de esta red Docker.
Después de crearla, abre Container Manager en DSM y entra en la página “Network”. Deberías ver custom_lan2_net. Desde ahí puedes añadir contenedores existentes a esa red o seleccionarla al crear un contenedor nuevo y asignarle una IP fija dentro de la subred.
Escenario 2: conectar un contenedor a varias redes
Algunos contenedores necesitan estar presentes en más de una red. Por ejemplo, puede que el host Synology deba acceder al contenedor por la red bridge predeterminada, mientras el contenedor también tiene una IP dedicada en la subred física LAN2. En ese caso, conecta el contenedor a dos redes virtuales.
Método A: añadir la segunda red desde la GUI
Crea primero el contenedor de forma normal y elige una red principal, por ejemplo la bridge predeterminada. No lo inicies todavía; si ya está en ejecución, detenlo antes.
Luego abre la página “Network” de Container Manager, selecciona custom_lan2_net, haz clic en “Manage”, marca el contenedor objetivo y guarda. Al arrancar, el contenedor normalmente tendrá dos interfaces virtuales internas, como eth0 y eth1.
Este método es el más cómodo cuando solo necesitas configurar uno o dos contenedores y no quieres editar archivos Compose.
Método B: usar un proyecto Docker Compose
Si prefieres la función “Project” de Container Manager, define ambas redes en docker-compose.yml:
|
|
Aquí custom_lan2_net es la red macvlan creada antes por SSH. bridge hace referencia a la red bridge Docker integrada en Synology.
La IP de ejemplo 172.20.0.10 solo sirve si tu red bridge usa realmente esa subred. En muchos sistemas Synology, la red bridge predeterminada de Docker suele ser 172.17.0.0/16. Comprueba el valor real con docker network inspect bridge.
La limitación de Macvlan entre host y contenedor
macvlan tiene una trampa importante: por defecto, el kernel de Linux no permite que el host se comunique directamente con los contenedores a través de la misma interfaz macvlan.
En la práctica, si un contenedor solo se une a custom_lan2_net, DSM puede no ser capaz de acceder a ese contenedor mediante su IP física en LAN2. El contenedor también puede no poder acceder al host por esa misma interfaz.
Las soluciones habituales son:
- conectar el contenedor también a la red
bridgepredeterminada y dejar que Synology lo alcance mediante la dirección interna de Docker; - crear una subinterfaz
macvlanadicional del lado del host en el NAS, para que el host entre también en el mismo dominio de comunicaciónmacvlan.
La segunda opción se acerca más a una configuración de red avanzada y requiere más mantenimiento. Para la mayoría de entornos domésticos o de oficina pequeña, usar bridge y macvlan al mismo tiempo es más sencillo.
Evita conflictos de IP desde el principio
Con macvlan, las IP de los contenedores aparecen directamente en la LAN física, así que hay que evitar conflictos con el pool DHCP.
Lo ideal es excluir el rango de Docker en el router principal. Por ejemplo, si planeas asignar 192.168.2.200/29 a Docker, no dejes que el router entregue 192.168.2.200 a 192.168.2.207 a móviles, ordenadores u otros dispositivos.
Si tu router no permite excluir rangos DHCP fácilmente, usa al menos una zona alta de direcciones que tenga poca probabilidad de asignarse automáticamente y deja constancia de ella.
Cómo activar Open vSwitch
En DSM 7.x, Open vSwitch se puede activar desde la interfaz gráfica. No hace falta modificar archivos de red de bajo nivel. La forma más cómoda es instalar Virtual Machine Manager de Synology, porque el puente de red de las máquinas virtuales depende de Open vSwitch y el asistente te pedirá activarlo.
Pasos:
- abre “Package Center” en DSM;
- busca e instala
Virtual Machine Manager; - abre el paquete y sigue el asistente para activar Open vSwitch;
- espera a que se reinicie el servicio de red.
Si no quieres instalar VMM, puedes activarlo manualmente:
- abre “Control Panel”;
- entra en “Network”;
- cambia a la pestaña “Network Interface”;
- haz clic en “Manage” y elige “Open vSwitch Settings”;
- marca “Enable Open vSwitch” y aplica los cambios.
Después de aplicar el cambio, DSM reinicializará las NIC y la sesión del navegador puede desconectarse durante unos segundos. Evita hacerlo mientras el NAS transfiere archivos grandes o ejecuta escrituras importantes.
Verificar que Open vSwitch funciona
En la GUI, vuelve a “Control Panel -> Network -> Network Interface” y revisa el estado de las NIC. El menú de administración también debería mostrar opciones relacionadas con Open vSwitch.
En la línea de comandos, ejecuta de nuevo:
|
|
o:
|
|
Si ves interfaces como ovs_eth0 y ovs_eth1, Open vSwitch está activo. Al crear una red macvlan, usa la interfaz con prefijo ovs_ en -o parent=, por ejemplo:
|
|
Si sigues usando eth1, el contenedor puede no conectarse por la NIC esperada.
Lista de comprobación antes de configurar
Antes de tocar la configuración, confirma:
- cuántas NIC físicas tiene el NAS Synology y qué puertos tienen cable conectado;
- a qué switch, router o VLAN está conectado cada puerto;
- si DSM muestra la NIC objetivo como
ethXoovs_ethX; - si
--subnety--gatewaypertenecen a la subred de la NIC objetivo; - si
--ip-rangeestá excluido del pool DHCP; - si el contenedor necesita ser accesible desde el host Synology. Si lo necesita, conéctalo también a
bridge.
Si el nombre de interfaz, la subred y el pool de IP son correctos, DSM 7.3 Container Manager funciona bien con macvlan para desplegar contenedores con varias NIC. La GUI sirve para la gestión diaria, y SSH solo hace falta para crear la red base.