Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

Gateway con Pi: "RTNETLINK answers: File exists" en ifup eth0 y caídas de keepalive tras el arranque

Gateway con Pi: "RTNETLINK answers: File exists" en ifup eth0 y caídas de keepalive tras el arranque

Resuelto 6 5

Traducido del English por IA ·

Primera publicación, llevo un tiempo leyendo aquí.Construimos nuestro propio gateway sobre una Raspberry Pi 3B+ (Raspberry Pi OS Bullseye) para una pequeña subestación: lee tres medidores Modbus RTU y los publica en v1/gw/telemetry. La LAN de la subestación no tiene DHCP, así que eth0 necesita una dirección estática. Añadí esto en /etc/network/interfaces:

auto eth0
iface eth0 inet static
    address 10.40.2.20
    netmask 255.255.255.0
    gateway 10.40.2.1
    dns-nameservers 10.40.2.1

Tras un reinicio a veces funciona y a veces no. Cuando no funciona, sudo ifup eth0 dice:

RTNETLINK answers: File exists
ifup: failed to bring up eth0

En Hermetry, la pestaña Log del gateway muestra una desconexión por keepalive_timeout en cada arranque, y luego se reconecta unos minutos más tarde, o no se reconecta hasta que inicio sesión en el sitio. ip addr a veces muestra dos direcciones en eth0: la estática y una 169.254.

♥ 0

Traducido del English por IA ·

¿Probaste primero con ifdown y luego con ifup?

♥ 1

Traducido del English por IA ·

Sí, ifdown indica interface eth0 not configured y ifup falla de la misma forma después.

♥ 1

Traducido del English por IA ·

Bullseye usa dhcpcd para la red. /etc/network/interfaces es la forma antigua, yo no mezclaría ambos.

♥ 2

Traducido del English por IA ·

Daniel tiene razón. Me pasó exactamente esto en una Pi de una estación de bombeo el año pasado. Hay dos cosas configurando eth0: dhcpcd arranca con el sistema, no encuentra ningún servidor DHCP, asigna al puerto una dirección link-local 169.254 y rutas, y luego ifup intenta añadir su propia dirección y ruta por defecto. La ruta ya existe, así que el kernel responde «File exists» y ifup se rinde. Según cuál gane la carrera al arrancar, tu gateway sale o no.Elige uno. En Bullseye eso significa dhcpcd. Quita el bloque de eth0 de /etc/network/interfaces (el archivo debe quedar solo con la línea source) y pon la configuración estática en /etc/dhcpcd.conf:

interface eth0
static ip_address=10.40.2.20/24
static routers=10.40.2.1
static domain_name_servers=10.40.2.1
noipv4ll

Luego limpia sin reiniciar:

sudo ip addr flush dev eth0
sudo systemctl restart dhcpcd
ip addr show eth0

noipv4ll evita la dirección 169.254. Si más adelante pasas a Bookworm, dhcpcd ya no está y haces lo mismo con nmcli, así que anótalo.

QoS 1 and a lot of patience.
Solución aceptada♥ 6

Traducido del English por IA ·

No sabía que las versiones de Pi OS habían cambiado esto, buena información.

♥ 0

Traducido del English por IA ·

Solucionado. Se limpió el archivo interfaces, la configuración estática está en dhcpcd.conf con noipv4ll, y reinicié la Pi diez veces seguidas esta mañana; la pasarela se conectó en pocos segundos en todas las ocasiones. La pestaña Log ahora muestra una sola conexión limpia por arranque.

♥ 2
Viendo 7 entradas – de la 1 a la 7 (de un total de 7)
  • Debes estar registrado para responder a este debate.

Únete a la conversación

Inicia sesión para preguntar y responder, dar me gusta a las publicaciones útiles y marcar la respuesta que resolvió tu problema. Cada aportación suma puntos y niveles.

Compartir