Diferencia entre revisiones de «Migrar a systemd networkd»

De Recursos Educativos
Ir a la navegación Ir a la búsqueda
Sin 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]
Línea 21: Línea 32:
  systemctl enable systemd-networkd
  systemctl enable systemd-networkd
  systemctl disable networking.service
  systemctl disable networking.service
rm /etc/resolv.conf
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
systemctl enable systemd-resolved.service
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).


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>
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 - 15:27 15 dic 2022

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

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.