J'ai une connexion réseau filaire et si j'utilise le gestionnaire de réseau (ci-après "NM"), tout fonctionne bien sauf l'adresse matérielle (elle ne change pas). Je pense à utiliser /etc/network/interfaces
. J'ai donc ajouté du code et cela ressemble à ceci:
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet static
address #corresponding value
netmask #corresponding value
gateway #corresponding value
hwaddress #corresponding value
Après avoir redémarré le réseau, je reçois le message suivant:
*Reconfiguring network interfaces...
#here some help code appears
Failed to bring up eth1.
L'interface par défaut qui fonctionne avec NM est eth0. Veuillez indiquer comment gérer le problème.
eth0 ou eth1 est le nom logique donné à votre carte réseau par Linux (je ne sais pas exactement quel composant gère le nommage mais je suppose que c'est le noyau). vous ne pouvez utiliser eth0 ou eth1 que si c'est le nom logique donné à votre carte et pas autrement.
En ce qui concerne votre problème d'origine, c'est-à-dire en utilisant une adresse matérielle différente à différents emplacements, cela est possible en définissant un mappage de nom logique dans /etc/network/interfaces
mais vous devrez vous connecter manuellement au réseau en utilisant la commande ifup
à chaque fois.
Pour ce faire, ouvrez votre /etc/network/interfaces
fichier et remplacez son contenu par ce qui suit
auto lo
iface lo inet loopback
mapping eth0
script /home/<username>/net.sh
map eth0 eth0-home
map eth0 eth0-work
iface eth0-home inet static
address #ip address for home
netmask #subnet mask for home
hwaddress ether #MAC address for home
iface eth0-work inet static
address #ipaddress for work
netmask #netmask for work
hwaddress ether #MAC address for work
définissez l'adresse IP, le masque de réseau et l'adresse hwaddh pour eth0-home et eth0-work à votre convenance. Remplacez également le <nom d'utilisateur> à la quatrième ligne du script avec votre nom d'utilisateur. Maintenant, enregistrez et fermez le fichier d'interfaces.
Créez maintenant un fichier /home/<username>/net.sh avec le contenu suivant
#!/bin/sh
echo eth0
enregistrez et fermez le fichier net.sh.
Vous êtes tous prêts maintenant. Vous pouvez utiliser la commande Sudo ifup eth0=eth0-home
pour démarrer le réseau avec les paramètres eth0-home et Sudo ifup eth0=eth0-work
pour commencer avec les paramètres de travail eth0.
Veuillez également noter que la section de mappage dans le fichier d'interfaces et le fichier de script que nous avons créé dans le répertoire de base de vos utilisateurs sont réellement nécessaires lorsque l'interface est configurée pour se connecter automatiquement. Mais nous devons les fournir pour que les choses fonctionnent. Ainsi, le contenu du fichier de script et le contenu de la section de mappage sont en quelque sorte des espaces réservés. Si vous souhaitez vous connecter automatiquement, vous devrez les modifier. Pour une discussion plus approfondie des deux, vous pouvez voir la page de manuel pour les interfaces (5) ou visiter le lien suivant http://addisu.taddese.com/blog/mapping-in-linux-network-interfaces/
Vous devez décider si vous voulez utiliser NM ou la configuration "hardcoded" dans le fichier interfaces
. Pour autant que je sache, ce n'est pas une bonne idée de les mélanger, vous avez des problèmes. Vous voudrez peut-être abandonner avec NM, ok. Cependant, des noms comme eth0
et eth1
sont affectés aux cartes réseau Ethernet, donc si vous utilisez eth1
, Je pense que vous avez deux cartes réseau dans votre machine. Oui, il est possible que vous n'ayez que eth1
et pas eth0
(vous pouvez même renommer des cartes réseau) mais je ne vois pas le point ici. Veuillez émettre la commande /sbin/ifconfig -a
dans le terminal et utilisez le nom eth ce que vous pouvez y voir. Si vous ne voyez que eth1
et pas eth0
c'est correct d'utiliser aussi, c'est possible: les règles udev nomment les interfaces en fonction de l'adresse HW ("adresse MAC") pour être sûr, que vos interfaces ne seront pas renumérotées si vous changez les positions de la carte PCI et des choses similaires. J'ai eu l'expérience, que le remplacement d'une carte par une autre a provoqué que je n'ai que eth1
(et non eth0
du tout) car udev se souvient de l'adresse HW de l'ancienne carte, alors nommez eth0
est réservé à cet effet, donc j'avais eth1
comme nouveau NIC. Je ne suis pas sûr que vous vouliez dire à ce sujet lorsque vous souhaitez utiliser eth1
mais c'est bien de le mentionner (btw udev stocke les affectations ici: /etc/udev/rules.d/70-persistent-net.rules
).