Est-il possible de mettre une véritable IP sur un périphérique de bouclage?

9

Est-il possible de mettre une véritable IP (pas dans la plage 127.xxx) sur un périphérique de bouclage?

Peter Smit
la source
Oui bien sûr.
Ipor Sircer
3
... un danger est bien sûr que vous oubliez que cette adresse IP est là et que vous ayez ensuite des problèmes de mise en réseau de la tête car les paquets ne vont pas à l'adresse IP publique attendue ...
thrig

Réponses:

5

Rien n'interdit de le faire.

# ifconfig lo: 1 10.0.0.1/8 
# ifconfig lo: 1
lo: 1 Encapsulation de lien: boucle locale  
          add inet: 10.0.0.1 Masque: 255.0.0.0
          UP LOOPBACK RUNNING MTU: 65536 Métrique: 1
# ping -c 1 10.0.0.1    
PING 10.0.0.1 (10.0.0.1) 56 (84) octets de données.
64 octets à partir de 10.0.0.1: icmp_seq = 1 ttl = 64 temps = 0,025 ms

--- Statistiques de ping 10.0.0.1 ---
1 paquets transmis, 1 reçu, 0% de perte de paquets, temps 0 ms
rtt min / moy / max / mdev = 0,025 / 0,025 / 0,025 / 0,000 ms

Mise à jour:

Pour que cette adresse persiste après un redémarrage sur Ubuntu 16.04, vous pouvez modifier votre /etc/network/interfacesfichier avec ces ethtoolcommandes:

auto lo lo:1

iface lo inet loopback

iface lo:1 inet static
  address 10.0.0.1
  network 10.0.0.0
  netmask 255.0.0.0
jlliagre
la source
Cela persiste-t-il après un redémarrage?
Peter Smit
1
Non. Mieux vaut indiquer le système d'exploitation / la distribution précis que vous utilisez pour obtenir une réponse fiable, et éventuellement poser une nouvelle question ou vérifier si elle n'a pas déjà été répondue.
jlliagre
Ubuntu 16.04 LTS
Peter Smit
Réponse mise à jour.
jlliagre
5

Comme alternative à l'utilisation lo:0, vous pouvez également utiliser des dummyinterfaces sous Linux comme dans:

ifconfig dummy0 10.0.0.1/32
ifconfig dummy1 10.1.1.1/24

En plus des autres réponses:

  • Je ne recommande pas de changer l'adresse de l'interface de bouclage habituelle / officielle car beaucoup de fonctionnalités en dépendent;
  • cependant, vous pouvez avoir / créer plusieurs interfaces de bouclage / factices - soit des interfaces lo: 0 à lo: 255 ou dummyX;
  • il faut tenir compte du fait que lo: 0 à lo: 255 sont des alias, tandis que dummyX sont des interfaces complètes;
  • de plus, l'une des tactiques habituelles de Linux pour créer des IP virtuelles sur BGP ou OSPF est de les affecter à des interfaces de bouclage / factices ET de leur créer des chemins via le routage;
  • encore une fois, certains démons ont des problèmes avec l'annonce des adresses dans les alias (par exemple, quagga) - donc les interfaces dummyX sont conseillées dans ces cas;
  • Je voudrais souligner que sans routage dans l'infrastructure, ces adresses ne sont connues / capables d'être utilisées que sur le serveur en question;
  • attribuer une adresse privée / publique à une interface de bouclage, sans le routage approprié, peut être une mesure de faible coût informatique pour mettre temporairement sur liste noire les communications avec une adresse IP / un réseau.

Pour plus de détails, voir par exemple un tutoriel de configuration BIND anycast réalisé avec Quagga / BIRD.

des indices de routage ici: OSPF: Migration de Quagga vers BIRD

PS Linux par défaut ne crée que dummy0 et dummy1 et doit être chargé de créer un plus grand nombre d'interfaces factices.

Rui F Ribeiro
la source
1
Je vais absolument l'utiliser avec un routage (statique). Existe-t-il une réelle différence entre les interfaces factices et les boucles de bouclage?
Peter Smit
@PeterSmit attribue des vips au bouclage en traitant les alias d'une interface, tandis que les mannequins sont des interfaces complètes à part entière. il y a eu des problèmes d'utilisation d'alias d'interface avec quagga ... et je ne recommande pas de changer lo. Il arrive aussi souvent que vous puissiez / ayez à associer des règles fw avec une interface réelle et non un alias.
Rui F Ribeiro
3

Sur le noyau Linux actuel avec l' iputilitaire, c'est assez simple:

ip addr add 10.0.1.8 dev lo

Cela peut être utile lorsque vous disposez d'un service qui lie un port sur une interface et que vous souhaitez exécuter un programme différent sur le même port et le même réseau. Je l'utilise pour activer les deux bindet dnsmasqcoexister sur le même serveur.

Si vous utilisez /etc/network/interfacespour configurer vos interfaces, mettez à jour la lostrophe pour inclure:

up ip addr add 10.0.1.8 dev lo
BillThor
la source
Merci. Est-ce que cela persistera les redémarrages?
Peter Smit
1
@PeterSmit Peu probable.
Kusalananda
1

Oui, mais cela ne veut pas dire que c'est une bonne idée. Si vous utilisez une adresse IP à laquelle votre système aura un jour accès, toutes les données qu'il tentera d'y envoyer seront redirigées vers le système local à la place, ce qui peut provoquer toutes sortes de problèmes de réseau étranges. Cela signifie en particulier que vous ne pouvez rien utiliser en toute sécurité en dehors des plages suivantes:

127.0.0.0/8
192.0.2.0/24
198.51.100.0/24
203.0.113.0/24
240.0.0.0/4

À l'exception possible de l'un des éléments suivants, selon la configuration de vos autres interfaces réseau:

10.0.0.0/8
192.168.0.0/16
172.16.0.0/12
169.254.0.0/16

C'est un cas où la RFC 1925 , section 2, article 3 s'applique.

Austin Hemmelgarn
la source
En fait, il y a plus de gammes. Dans mon cas, ce serait dans la gamme 100.64.0.0/10 (Carrier Grade NAT)
Peter Smit
1
Il peut y en avoir plus, mais la plupart d'entre eux ne sont pas largement utilisés sur les systèmes clients (je pense que la gamme CGN convient probablement à cela), ou ils ont des utilisations mal définies que beaucoup de gens ne comprennent pas (comme 198.18.0.0/15, utilisé pour analyse comparative), et je voulais éviter de dire que quelque chose qui pourrait ne pas être raisonnablement sûr était en fait sûr.
Austin Hemmelgarn