79 votes

Comment faire fonctionner les adresses de bouclage autres que 127.0.0.1 sous OS X ?

D'après tout ce que j'ai lu, l'ensemble du sous-réseau 127.x.x.x doit être bouclé.

Cependant, sur mon Mac, je ne peux envoyer un ping qu'à 127.0.0.1.

Je sais que je l'ai déjà fait (mais peut-être sur un autre système d'exploitation) et que cela s'est avéré très utile pour développer plusieurs sites SSL localement et pour tunneliser des services distants afin d'y accéder sur une IP locale (par exemple, je pouvais me connecter à mon serveur MySQL et transférer le port standard vers le même port sur ma machine locale mais sur 127.0.0.2 alors que mon serveur local fonctionnait sur 127.0.0.1).

111voto

Everett Points 5775

Voici la réponse courte : sudo ifconfig lo0 alias 127.0.0.* up

Chaque alias doit être ajouté individuellement ( sudo ifconfig lo0 alias 127.0.0.2 up , sudo ifconfig lo0 alias 127.0.0.3 up ). Cela peut être fait manuellement pour les tests, ou un sous-ensemble ou la liste complète des 250 autres numéros disponibles dans ce sous-réseau peut être fait dans StartupItems script qui le fera automatiquement au moment du démarrage.

La réponse longue : Selon la RFC3330, 127.0.0.0/8 - Ce bloc est attribué pour être utilisé comme adresse de bouclage de l'hôte Internet. Un datagramme envoyé par un protocole de niveau supérieur à une adresse située n'importe où dans ce bloc doit revenir en boucle à l'intérieur de l'hôte. Cela est généralement mis en œuvre en utilisant uniquement 127.0.0.1/32 pour le bouclage, mais aucune adresse de ce bloc ne doit jamais apparaître sur un réseau quelconque.

21voto

laurent Points 5747

Pour ceux qui sont intéressés, voici un petit bash script qui ajoute tous les alias pour les IP 127.0.0.* :

#!/bin/bash
for ((i=2;i<256;i++))
do
    sudo ifconfig lo0 alias 127.0.0.$i up
done

7voto

rzlvmp Points 166

Basé sur la réponse de @laurent et este article :

  1. Ajouter l'alias localhost script :

    $ sudo touch /usr/local/bin/localhost_alias $ sudo chmod +x /usr/local/bin/localhost_alias

  2. localhost_alias contenu :

    !/usr/bin/env bash

    from=${1} to=${2}

    if [[ -z "$from" || -z "$to" ]]; then echo "Usage: "basename "$0"" 2-255 2-255 [from and to range numbers (127.0.0.[from-to])]" exit 0 fi

    for ((i=${from};i<=${to};i++)) do sudo ifconfig lo0 alias 127.0.0.$i up done

  3. ajouter la description du démon autorun :

    $ sudo touch /Library/LaunchDaemons/org.localhost.alias.plist

  4. org.localhost.alias.plist contenu :

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>org.localhost.alias</string> <key>RunAtLoad</key> <true/> <key>ProgramArguments</key> <array> <string>/usr/local/bin/localhost_alias</string> <string>2</string> <string>8</string> </array> </dict> </plist>

  5. Et nous avons 127.0.0.2 - 127.0.0.8 alias au démarrage

*Testé sur MacOS Mojave.
** Vous devez autoriser l'exécution sudo script-name sans mot de passe dans le fichier sudoers.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X