Diferencia entre revisiones de «Migrar a systemd networkd»

De Recursos Educativos
Ir a la navegación Ir a la búsqueda
mSin resumen de edición
Sin resumen de edición
 
(No se muestran 6 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
Problema: usas Linux, pongamos Debian 10 y estas usando el bueno y viejo <code>/etc/network/interfaces</code>, pero por el motivo que sea quieres comenzar a usar <code>systemd</code>, en concreto <code>systemd-networkd</code>
Problema: usas Linux, pongamos Debian 10 y estas usando el bueno y viejo <code>/etc/network/interfaces</code>, pero por el motivo que sea quieres comenzar a usar <code>systemd</code>, en concreto <code>systemd-networkd</code> y <code>systemd-resolved</code>.


He aquí una pequeña chuleta para convertir un sistema de 1 sola tarjeta y DHCP.
He aquí una pequeña chuleta para convertir un sistema de 1 sola tarjeta y DHCP y/o IP fija
 
Fichero: <code>/etc/systemd/network/fija.network</code>
 
[Match]
Name=enp0s3
[Network]
Address=10.1.10.9/24
Gateway=10.1.10.1
DNS=10.1.10.1


Fichero: <code>/etc/systemd/network/dhcp.network</code>
Fichero: <code>/etc/systemd/network/dhcp.network</code>
Línea 10: Línea 20:
  [Network]
  [Network]
  DHCP=ipv4
  DHCP=ipv4
MulticastDNS=true
   
   
  [DHCP]
  [DHCP]
  ClientIdentifier=mac
  ClientIdentifier=mac


Comandos:
Comandos:
Línea 21: Línea 31:
  systemctl enable systemd-networkd
  systemctl enable systemd-networkd
  systemctl disable networking.service
  systemctl disable networking.service
OJO: en debian, antes de hacer esta parte, la migracion de DNS, asegurate de que tu sistema tiene instalado el paquete <code>systemd-resolved</code> porque si haces esto te quedas sin DNS y no podrás instalar paquetes de la red.
   
   
  rm /etc/resolv.conf  
  rm /etc/resolv.conf  
Línea 26: Línea 38:
  systemctl enable systemd-resolved.service  
  systemctl enable systemd-resolved.service  


Lo mas normal es que no necesites el <code>ClientIdentifier=mac</code>, yo si porque el servidor DHCP es un Windows Server 2012 y si no pongo eso las reservas DHCP no funcionan. Es el equivalente a poner <code>send dhcp-client-identifier = hardware;</code> en el <code>/etc/dhcp/dhclient.conf</code>
Si está <code>NetworkManager</code> instalado (entornos gráficos), necesitarás tambien pararlo.
 
systemctl stop NetworkManager.service
systemctl disable NetworkManager.service
 
Nota: tanto el <code>ClientIdentifier=mac</code> como el <code>MulticastDNS=true</code>, son muy específicos de mi red, que es mixta Linux/Windows 2012 Server. Lo mas posible es que tu no lo necesites. mDNS funcionaba por defecto en el modo antiguo y el equivalente a <code>ClientIdentifier=mac</code> en el modo antiguo si se usa el cliente DHCP <code>dhclient</code> era poner <code>send dhcp-client-identifier = hardware;</code> en el <code>/etc/dhcp/dhclient.conf</code> (sin esto las reservas DHCP en el Windows Server 2012 no me funcionaban).
 
En IPFire se usa el cliente <code>dhcpcd</code> y en ese habia que tocar el fichero <code>dhcpcd.conf</code> y en el propio fichero vienen las instrucciones.


-----
-----


[[Category:Linux]]
[[Category:Linux]]

Revisión actual - 12:20 16 jul 2024

Problema: usas Linux, pongamos Debian 10 y estas usando el bueno y viejo /etc/network/interfaces, pero por el motivo que sea quieres comenzar a usar systemd, en concreto systemd-networkd y systemd-resolved.

He aquí una pequeña chuleta para convertir un sistema de 1 sola tarjeta y DHCP y/o IP fija

Fichero: /etc/systemd/network/fija.network

[Match]
Name=enp0s3

[Network]
Address=10.1.10.9/24
Gateway=10.1.10.1
DNS=10.1.10.1

Fichero: /etc/systemd/network/dhcp.network

[Match]
Name=enp0s3

[Network]
DHCP=ipv4
MulticastDNS=true

[DHCP]
ClientIdentifier=mac

Comandos:

cd /etc/network/
mv interfaces interfaces.migrado-a-systemd
systemctl enable systemd-networkd
systemctl disable networking.service

OJO: en debian, antes de hacer esta parte, la migracion de DNS, asegurate de que tu sistema tiene instalado el paquete systemd-resolved porque si haces esto te quedas sin DNS y no podrás instalar paquetes de la red.

rm /etc/resolv.conf 
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
systemctl enable systemd-resolved.service 

Si está NetworkManager instalado (entornos gráficos), necesitarás tambien pararlo.

systemctl stop NetworkManager.service
systemctl disable NetworkManager.service

Nota: tanto el ClientIdentifier=mac como el MulticastDNS=true, son muy específicos de mi red, que es mixta Linux/Windows 2012 Server. Lo mas posible es que tu no lo necesites. mDNS funcionaba por defecto en el modo antiguo y el equivalente a ClientIdentifier=mac en el modo antiguo si se usa el cliente DHCP dhclient era poner send dhcp-client-identifier = hardware; en el /etc/dhcp/dhclient.conf (sin esto las reservas DHCP en el Windows Server 2012 no me funcionaban).

En IPFire se usa el cliente dhcpcd y en ese habia que tocar el fichero dhcpcd.conf y en el propio fichero vienen las instrucciones.