Cada vez que inicio mi computadora, necesito reiniciar mi servicio de red (usando el reinicio de la red de servicio) para habilitar mi puente (br0). ¿Cómo hago para que Linux haga esto cuando enciendo mi computadora para que no tenga que hacerlo manualmente?
La red está iniciando los otros 2 adaptadores de Ethernet están activos cuando inicio.
linux
networking
boot
bridge
Peter Turner
fuente
fuente
Respuestas:
Esto parece ser un problema con el orden en que se muestran las interfaces. Mirando en el
/etc/init.d/network
guión de inicio hay este bit que construye todas las interfaces:La salida de este comando produce esta lista:
No he encontrado una solución para esto que no sea incluir un
ifup br0
en el/etc/rc.local
script para forzar manualmente labr0
activación DESPUÉS de que eleth0
dispositivo se haya activado.EDITAR
¡Acabo de crear algo
/etc/sysconfig/network-scripts/ifcfg-br0
así y al reiniciar tuve br0 comencé DESPUÉS de eth0!Ejemplo
/etc/sysconfig/network-scripts/ifcfg-eth0
Con archivos como este ahora veo los dispositivos de red surgiendo así:
fuente
Verifique que el servicio de "red" esté habilitado. puede usar los servicios GUI (system-config-services) o chkconfig si está familiarizado con eso. Esto resolvió el mismo problema para mí.
fuente
Tuve este mismo problema en una caja física que ejecuta Centos 7.3 x86_64 y pude resolverlo moviendo primero el adaptador físico a una ranura PCI-X diferente en la placa base y luego haciendo todo lo siguiente:
Elimine el archivo de configuración de la interfaz del puente:
Elimine el archivo de configuración de la interfaz esclava:
Donde enp6s0f0 era el nombre original de la interfaz esclava, y era la única interfaz esclava asignada al puente br0
Asegúrese de eliminar por completo el puente original, asegurándose de que todos los rastros del mismo hayan desaparecido (brctl show) no deberían incluir la interfaz del puente br0.
Apaga el puente:
ifconfig br0 down
Apaga al esclavo:
Detenga el servicio de red:
Retire manualmente el puente si es necesario: (En mi caso, lo fue).
Antes de que se pueda quitar el puente, se deben quitar todas las interfaces esclavas. Puede usar la utilidad de control de puente para eliminarlos
Una vez que se han eliminado todas las interfaces esclavas, se puede eliminar el puente en sí.
Confirme que no quedan archivos de configuración de referencia br0:
No debería devolver resultados
En mi caso, el nuevo nombre de interfaz basado en mover la tarjeta hacia arriba una ranura ahora es enp5s0f0.
Inicie la interfaz y luego confirme con ethtool, o 'ip link', que debería informar que se detectó ese enlace para la interfaz.
Use nmcli para crear un nuevo puente.
nmcli escribirá los archivos de configuración de interfaz necesarios en / etc / sysconfig / network-scripts /
Cree la interfaz del puente:
Agregue la interfaz esclava al puente:
Deshabilite el protocolo de árbol de expansión si la red ya tiene un maestro de árbol de expansión:
Asegúrese de que el puente esté configurado para iniciarse en el arranque con nmcli:
En este punto, puedo iniciar y detener el servicio de red con éxito, y al reiniciar, la interfaz del puente se inicia correctamente.
Notas de solución de problemas:
Sospecho que omite la línea:
desde mi archivo de configuración original para br0 puede haber llevado a este problema. También sospecho que no usar nmcli y crear manualmente los archivos de interfaz del puente también causó problemas. Esto puede deberse a que NetworkManager todavía está intentando administrar la interfaz. Esto se puede confirmar con:
Este comando mostrará una tabla que enumera todas las interfaces de red junto con su ESTADO. Si Network Manager no controla una interfaz, su ESTADO aparecerá como no administrado. Cualquier otro valor indica que la interfaz está bajo el control de Network Manager.
Si termina modificando manualmente un archivo ifcfg en / etc / sysconfig / network-scripts, asegúrese de informar al administrador de red de los cambios con una recarga.
Esto le indicará al administrador de red que vuelva a leer todos los archivos ifcfg y reconozca cualquier cambio.
Encontré la siguiente publicación: ¿Cómo evito que Network Manager controle una interfaz?
Para aquellos que no quieren usar NetworkManager en RHEL / CENTOS 7.x
Otra cosa menor que noté durante las pruebas fue que el contexto de selinux en los archivos de configuración de interfaz originales que había creado manualmente no era idéntico a los archivos de configuración generados automáticamente.
ls -lZ mostró que los archivos ifcfg generados automáticamente tenían el siguiente contexto:
system_u: object_r: net_conf_t: s0
Mientras que los archivos que creé tenían unconfined_u como usuario.
Usé chcon para configurar el usuario en system_u
Otra observación es que cuando se activa o desactiva la nueva interfaz del puente, systemd ahora informa correctamente que la interfaz está conectada y desconectada. Antes de hacer estos cambios, al usar mis propios archivos de configuración escritos por mí mismo, systemd parecía no tener conocimiento de la interfaz. Mostraría que la interfaz estaba configurada pero no conectada. A pesar de la detección de enlaces de informes de ethtool.
fuente
Tengo el mismo problema pero me encontré escribiendo el nombre de la interfaz de puente / etc / sysconfig / network-scripts / br0 en lugar de / etc / sysconfig / network-scripts / ifcfg-br0
Llegué a él cuando abro el " /etc/init.d/network " y encuentro que el script carga solo los archivos comienzan con " ifcfg- "
fuente