Comment ajouter une adresse IP supplémentaire à / etc / network / interfaces?

42

J'ai une adresse IP supplémentaire disponible sur mon serveur et je dois donc l'attribuer dans le fichier d'interface. Pour le moment, j'ai ceci:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address aaa.aaa.aaa.aaa
netmask 255.255.254.0
gateway bbb.bbb.bbb.bbb
dns-nameservers ccc.ccc.ccc.ccc ddd.ddd.ddd.ddd eee.eee.eee.eee
dns-search vps-number.com

Que dois-je ajouter pour attribuer ma nouvelle adresse IP (fff.fff.fff.fff)? Et comment puis-je le redémarrer pour accepter la nouvelle configuration?

babbaggeii
la source
Quel ensemble de personnages est-ce? Où as-tu trouvé ça?
Vert

Réponses:

55
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address aaa.aaa.aaa.aaa
  netmask 255.255.254.0
  gateway bbb.bbb.bbb.bbb
  dns-nameservers ccc.ccc.ccc.ccc ddd.ddd.ddd.ddd eee.eee.eee.eee
  dns-search vps-number.com

auto eth0:0
iface eth0:0 inet static
  address fff.fff.fff.fff
  netmask 255.255.254.0

Ensuite, vous pouvez courir sudo ifup eth0:0pour le faire monter et sudo ifdown eth0:0le faire descendre.

Eric Carvalho
la source
4
C'est une variante obsolète avec des alias. Utilisez ci-dessous celui avec "ip addr" à la place.
Alexander Kim
5
Elle est peut-être ancienne (et peut-être obsolète), mais l’utilisation de cette méthode n’est pas fausse, car elle n’était pas marquée «dépréciée» et il n’était pas prévu de la supprimer dans un proche avenir. À mon humble avis, cette méthode est plus propre et plus sûre que les autres (voir la réponse de Wilmer et ses commentaires).
Eric Carvalho
Post-scriptum Si utiliser auto eth1(il n'a pas sur AWS) ne fonctionne pas utiliser comme dans l'exemple auto eth0:0.
IvRRimUm
L’ancienne solution ne fonctionnait pas pour moi sur Debian Stretch, j’ai fini avec la deuxième adresse IP. Voir la iproute2méthode , ça a fonctionné.
x-yuri le
24

Pour une adresse IP supplémentaire, j'ajoute généralement:

up ip addr add fff.fff.fff.fff/prefixlen dev eth0

en bas de la iface eth0 inet staticstrophe pour les prochains redémarrages, puis relancez la commande sudo ip addr add fff.fff.fff.fff/prefixlen dev eth0manuellement pour l'activer directement.

Si votre masque de réseau est 255.255.254.0alors prefixlendevrait être 23pour vous.

J'aimerais savoir s'il existe un meilleur moyen, cependant.

Robie Basak
la source
merci beaucoup, l'approche acceptée ne fonctionne pas pour le collage ( ifenslave ), mais ça marche !
mekkanizer
upest problématique car network-online.target ne l'attend pas. Les services systemd tels que nginx ne parviendront pas à se lier sur une adresse IP ajoutée par upau moment du démarrage
sdaffa23fdsf
Pour Debian Stretch / Ubuntu 16.04 Xenial ou une version ultérieure, il existe une solution officielle .
x-yuri le
22

Comme le souligne Heihachi, l'utilisation de ethx: x aliases est obsolète. Cependant, la ip addrsolution est pire. C'est moche et incomplet, car vous devrez aussi ajouter une downvariante ou vous ifdownne travaillerez pas très proprement.

Voir https://wiki.debian.org/NetworkConfiguration#Multiple_IP_addresses_on_one_Interface pour une meilleure solution: Vous pouvez maintenant avoir juste répété des strophes iface pour la même interface. Donc, juste la solution ci-dessus, mais laissez tomber le :xsuffixe.

Wilmer
la source
2
Dans la documentation de votre lien, vous parlez de la méthode la plus moderne (appelée iproute2): Notez toutefois que cette méthode est dangereuse ! Certaines combinaisons pilote / matériel peuvent parfois ne pas réussir à établir la liaison si aucune étiquette n'est affectée aux interfaces alias. Étant donné que la documentation officielle indique que la nouvelle méthode n’est pas aussi fiable, je préférerais rester avec la méthode de travail obsolète.
vraiment novice
1
Upvote en raison de la référence de documentation officielle et précise, mais pas pour "une meilleure solution", car elle est marquée comme dangereuse dans la documentation officielle.
vraiment novice
2
@reallynice Point raisonnable, mais à mon humble avis si cela pose des problèmes sur un système qui me semble être un noyau / pilote buggy. J'utilise plusieurs adresses IP sur une seule interface sans les alias: 0 /: 1 / etc pendant des années (je suis également presque sûr que la solution du Wiki est fonctionnellement équivalente à la solution de Robbie ci-dessus.)
Wilmer
@Wilmer J'ai un périphérique vmxnet3 (VMware ESXi 6.5) sur Ubuntu 16.04 et je ne pouvais que me familiariser avec le nouveau moyen de faire apparaître le premier périphérique. Abandonner le suffixe: x n'était clairement pas meilleur pour moi. La documentation a effacé une erreur que je rencontrais avec le suffixe: x.
jbo5112
Le dernier problème connu avec la iproute2méthode remonte à 2015 . Et la méthode traditionnelle (avez-vous remarqué le nom?) Ne m'a pas fonctionné sous Debian Stretch. Il semblait que les options ultérieures (de eth0:0) remplaçaient les précédentes ( from eth0). C'est-à-dire après que systemctl restart networkingje me suis retrouvé avec seulement la deuxième adresse IP (la première adresse IP a été détachée).
x-yuri le