Comment créez-vous un nouveau réseau eth?

16

J'ai une machine qui a eth0 et eth1, et maintenant je veux créer un eth2 et lui attribuer une adresse IP.

Quelle est la commande pour ce faire?

sivabudh
la source
1
Sur la base de votre description, je crois que cette réponse répondra mieux à vos demandes:http://stackoverflow.com/questions/2082722/how-do-i-create-virtual-ethernet-devices-in-linux
mnmnc

Réponses:

17

Sur les machines Linux, eth0 et eth1 correspondent aux ports réseau réels. Pour ajouter un eth2 , vous devrez ajouter un autre NIC, soit en ajoutant une carte réseau PCI (e) interne, soit en ajoutant un adaptateur réseau USB. Voir Configuration de l'interface réseau Redhat .

Si tout ce que vous voulez, c'est une autre adresse IP, vous pouvez créer un alias Ethernet sur l'un de vos adaptateurs existants. Un alias est comme une carte réseau virtuelle - il vous permet d'attribuer une autre adresse IP à un port existant. Supposons que votre eth0 possède l'adresse IP 192.168.1.5.

Pour ce faire une fois, exécutez (en tant que root) ifconfig eth0:0 192.168.1.6 up. (À utiliser eth0:1pour un deuxième alias sur eth0, eth0:2pour un troisième, ou eth1:0pour alias eth1 au lieu de eth0.) Cette configuration sera perdue au redémarrage.

Pour le configurer définitivement, ajoutez-le à un script de configuration. Faites une copie du /etc/sysconfig/network-scripts/ifcfg-eth0fichier ifcfg-eth0:0dans le même répertoire. Modifiez le nouveau fichier pour qu'il ressemble à ceci:

DEVICE=eth0:0
IPADDR=192.168.1.6
NETMASK=255.255.255.0
NETWORK=192.168.1.0
ONBOOT=yes
NAME=eth0:0

Supprimez ou commentez les lignes GATEWAY dans les deux fichiers et ajoutez la ligne GATEWAY à votre /etc/sysconfig/networkfichier. Ensuite, vous pouvez démarrer le nouvel alias avec ifup eth0:0ou redémarrer entièrement la mise en réseau avec service network restart.

Quack Quichotte
la source
1
l'ajout NM_CONTROLLED="no"peut aussi aider (rhel6)
sje397
@ sje397 Merci, le mien n'a pas fonctionné jusqu'à l'ajout de cette ligne.
squareskittles
4

Suivez ces étapes:

  1. Éteindre l'ordinateur
  2. Déconnectez de l'alimentation
  3. Un dossier ouvert
  4. Insérer une carte réseau
  5. Fermer le cas
  6. Rebrancher l'alimentation
  7. Ordinateur de démarrage
alexanderpas
la source
4

De la façon dont la question est posée, il n'est pas clair ce que l'on entend quand on dit que la machine n'a que eth0et eth1. D'autres répondeurs ont émis l'hypothèse qu'il n'y a que deux cartes NIC, mais il est également possible que le troisième NIC soit déjà installé sur le calcul, mais qu'il n'ait pas été "mis en place" (ou qu'il ait été explicitement arrêté).

Supposons que vous êtes sûr que vous disposez de 3 cartes NIC, mais d'une manière ou d'une autre lorsque vous effectuez ifconfigvotre sortie, c'est quelque chose comme:

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:439793 errors:0 dropped:0 overruns:0 frame:0
          TX packets:439793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:412415058 (412.4 MB)  TX bytes:412415058 (412.4 MB)

eth0      Link encap:Ethernet  HWaddr [mac address]
          [...]

eth1      Link encap:Ethernet  HWaddr [mac address]
          [...]

Il semble y avoir une contradiction, vous avez 3 cartes NIC, mais seulement deux ports. En effet, ifconfigne montre que les ports qui sont "en place". Donc, la seule chose que vous devez faire est d'exécuter la commande:

ifconfig eth2 up

Gardez à l'esprit qu'il doit être exécuté en tant que root, faites-le comme cela est requis dans votre distribution.

Vous pouvez combiner la définition de l'adresse IP avec "la mise en place du port":

ifconfig eth2 192.168.222.2 netmask 255.255.255.0 up

Le "up" devrait être après d'autres choses sur cette ligne, mais cela fonctionnera toujours.

v010dya
la source