web-dev-qa-db-fra.com

Pourquoi l'interface eth0 par défaut est arrêtée par défaut sur CentOS?

Je connais déjà un peu les distributions Linux comme Debian ou Ubuntu (ouais, très similaire) mais je voulais essayer basé sur Red Hat - CentOS 6.2. Je l'ai installé sur mon hôte Windows 7 dans virtualBox et j'ai essayé de jouer un peu avec.

J'ai rencontré un petit problème, à savoir: la valeur par défaut eth0 l'interface est arrêtée par défaut. J'utilise l'option avec NAT (la machine virtuelle est "derrière" l'hôte). Même si je mets l'interface avec

ifconfig eth0 up ça ne marche pas tout de suite. J'obtiens ceci après avoir mis l'interface en place:

Que faut-il faire de plus pour configurer le réseau sur la machine CentOS?CentOS showing the output of ifconfig. Note that eth0 is down.

P.S. Désolé pour la capture d'écran mais je ne sais pas comment extraire le texte de la VirtualBox.

44
Patryk

Éditer /etc/sysconfig/network-scripts/ifcfg-$IFNAME. Modifiez la valeur de la ligne ONBOOT en yes.

$IFNAME sera eth0 sur de nombreuses boîtes EL6, mais sur les boîtes EL7 et EL6 utilisant le schéma Consistent Network Device Naming , cela pourrait être autre chose, comme en3p1. Utilisez la commande ip link pour obtenir une liste des interfaces réseau, y compris celles qui sont actuellement en panne.

Dans vos futures installations, faites plus attention. Vous avez dépassé une option dans la section de configuration réseau qui vous permet de lui dire de lancer l'interface au démarrage. Cette option au démarrage est désactivée par défaut dans EL6 et EL7, tandis que dans les versions précédentes, elle était activée par défaut.

Pour que l'interface réseau apparaisse au premier démarrage lors de l'installation dans EL7, accédez à l'onglet ConfigureGeneral dans l'écran de configuration réseau, puis cochez la case intitulée Automatically connect to the network when available.

Quant à pourquoi ils ont changé cela, je devine des raisons de sécurité. Cela vous donne une chance de resserrer un peu les choses par rapport à la configuration par défaut avant de lancer l'interface réseau pour la première fois.

53
Warren Young

Si vous n'avez pas de serveur DHCP sur votre réseau, vous devez définir une adresse IP statique. Veuillez considérer l'exemple suivant:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

BOOTPROTO=none
DEVICE=eth0
IPADDR=192.168.1.10 # your IP address
NETMASK=255.255.255.0 # your netmask
NETWORK=192.168.1.0 
ONBOOT=yes

Ajoutez GATEWAY à votre /etc/sysconfig/network fichier:

NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=hostname.domainname
GATEWAY=192.168.1.1 # your gateway

Exécutez la commande suivante pour démarrer le réseau au démarrage:

chkconfig network on

Redémarrez votre service réseau:

service network restart

Jetez un œil à vos interfaces réseau

ifconfig
8
alexnorthsoul

Vous n'avez pas mentionné la version de CentOS que vous utilisez. Si je ne me trompe pas, 6.x utilise NetworkManager par défaut.

J'installe rarement X windows sur mes serveurs, donc NetworkManager est juste une douleur pour moi. Je le désactive et active le service "réseau" standard.

chkconfig NetworkManager désactivé
réseau chkconfig activé

arrêt du service NetworkManager
démarrage du réseau de service

Pour activer DHCP sur l'interface, exécutez system-config-network, modifiez le périphérique approprié, enregistrez et redémarrez le service réseau. Vous pouvez également modifier /etc/sysconfig/network-scripts/ifcfg-eth0 et ajouter

ONBOOT=yes
BOOTPROTO=dhcp

Enregistrez les modifications et redémarrez le service réseau.

5
George M

D'après ce que j'ai recueilli en expérimentant et en lisant, je suis d'accord avec le fait que Network Manager semble se charger par défaut, mais pas le service réseau.

Lorsque j'ai récemment eu un VM hôte démarrant sans que eth0 apparaisse dans la sortie ifconfig, c'était parce que j'avais Network Manager en cours d'exécution, le réseau ne fonctionnant pas et NM_CONTROLLED=no dans mon /etc/sysconfig/network-scripts/ifcfg-eth0 fichier.

Dès que j'ai couru service network restart, eth0 est apparu dans la sortie ifconfig. Le redémarrage, cependant, l'a fait disparaître à nouveau.

La solution pour moi semble être de définir NM_CONTROLLED=no dans /etc/sysconfig/network-scripts/ifcfg-eth0, puis en activant le service réseau au démarrage (chkconfig network on, comme le soulignent alexnorthsoul). Je pourrais (devrais?) Probablement désactiver NetworkManager par défaut, mais cela fonctionne pour moi maintenant et je suis nerveux à l'idée de toucher à autre chose.

Soit dit en passant, mon objectif était de faire en sorte que le système respecte mon IP statique sélectionnée. Lorsque j'ai quitté NetworkManager en cours d'exécution et défini NM_CONTROLLED=yes (ou omis), j'ai obtenu eth0 apparaissant dans ifconfig, mais l'adresse était une adresse DHCP, pas mon IP statique. La désactivation de NetworkManager m'a donc épargné du DHCP et l'activation du réseau l'a obligé à charger mes paramètres, y compris l'IP statique.

Je ne suis pas administrateur système, mais plutôt développeur, donc ce ne sont pas des mots d'un expert CentOS, mais juste un survivant de la configuration des machines virtuelles dont j'avais besoin.

1
SteveW