Wie bekommt man andere Loopback-Adressen als 127.0.0.1 für OS X?


55

Nach allem, was ich gelesen habe, sollte das gesamte 127.xxx-Subnetz ein Loopback durchführen.

Auf meinem Mac kann ich jedoch nur 127.0.0.1 anpingen

Ich weiß, dass ich das schon einmal gemacht habe (obwohl möglicherweise auf einem anderen Betriebssystem) und es sich als sehr nützlich erwiesen hat, um mehrere SSL-Sites lokal zu entwickeln und Remote-Dienste für den Zugriff auf eine lokale IP-Adresse zu tunneln (zum Beispiel könnte ich in meinen MySQL-Server ssh und leiten Sie einfach den Standardport an denselben Port auf meinem lokalen Computer weiter, aber auf 127.0.0.2, während mein lokaler Server auf 127.0.0.1 lief.

Antworten:


72

Hier ist die kurze Antwort: sudo ifconfig lo0 alias 127.0.0.* up

Jeder Alias ​​muss einzeln hinzugefügt werden ( sudo ifconfig lo0 alias 127.0.0.2 up, sudo ifconfig lo0 alias 127.0.0.3 up). Es kann manuell zum Testen durchgeführt werden, oder eine Teilmenge oder die vollständige Liste der anderen 250 verfügbaren Nummern in diesem Teilnetz kann in ein StartupItems-Skript umgewandelt werden, das dies beim Start automatisch ausführt.

Die lange Antwort: Laut RFC3330, 127.0.0.0/8 - Dieser Block wird zur Verwendung als Loopback-Adresse des Internet-Hosts zugewiesen. Ein Datagramm, das von einem übergeordneten Protokoll an eine beliebige Adresse innerhalb dieses Blocks gesendet wird, sollte innerhalb des Hosts eine Schleife zurückführen. Dies wird normalerweise nur mit 127.0.0.1/32 für Loopback implementiert, aber in keinem Netzwerk dürfen Adressen in diesem Block jemals irgendwo auftauchen.


4
Wenn es nur eine Möglichkeit gäbe, es für 127 zum Laufen zu bringen. *. *. *
Matthew Schinckel

Wenn sich herausstellt, dass dies auch auf CentOS funktioniert, bekommen Sie eine Prämie von mir.
Parthian Shot

Eigentlich bekommt man so oder so ein Kopfgeld. Da es bei CentOS nicht funktioniert, stelle ich diese Frage und beantworte sie, sobald ich die Antwort gefunden habe.
Parthian Shot

Wie richte ich 4 - Server auf Port 8 mit verschiedenen Loopback - Adressen auf debian9 Gnu / Linux superuser.com/a/1255308/62123
ctrl-alt-Delors

12

Für Interessenten ist hier ein kleines Bash-Skript, das alle Aliase für die IPs 127.0.0 hinzufügt. *:

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

Lese ich das falsch? Was Sie erstellt haben, funktioniert anscheinend für alle Adressen von 127.0.0.1 bis 127.0.0.255. Wenn Sie "sudo ifconfig lo0 alias 127.0.0. $ I up" in "sudo ifconfig lo0 alias 127. $ i. $ I. $ I up" ändern, erhalten Sie die meisten von ihnen richtig? Sie würden jedoch alles überspringen, was weniger als 2 ist. Verwenden Sie also möglicherweise eine andere Variable für die anderen beiden Oktette? Die höchste IP-Adresse für Loopback lautet 127.255.255.255
Everett

1
@ Everett, du hast das richtig gelesen, es werden nur die Adressen 127.0.0. *. Der Grund, warum ich nicht den gesamten Bereich abgedeckt habe, ist, dass es eigentlich ziemlich langsam ist, selbst 255 Adressen zu verarbeiten, sodass 255x255x255 viel zu lange dauern würde.
Laurent

1
Vielen Dank. Ich wollte nur sicherstellen, dass die Erwartung gesetzt wurde, weil jemand hier eintrifft und sagt: "Hey, es hat bei 127.7.53.91 nicht funktioniert." Ich würde das nicht tun, aber jemand wird ...
Everett

2
Eigentlich würde @ Everetts Vorschlag auch nicht funktionieren, da nur Adressen wie 127.7.7.7 oder 127.42.42.42 möglich wären, dh alle mit den drei letzten Ziffern sind gleich. Sie benötigen drei verschiedene Schleifen, um tatsächlich alle IPs im 127/8-Block zu aktivieren. Dies wäre jedoch sicherlich keine gute Idee: Angesichts der Tatsache, dass jede IP separat aktiviert werden muss, ist es sehr wahrscheinlich, dass mit jeder zugewiesenen IP einige Ressourcen verknüpft sind. Das Zuweisen von ungefähr 17,7 Millionen IPs (das sind 256 ^ 3) könnte erhebliche Konsequenzen haben ...
jwatkins

2
@jwatkins Fazit: Aktiviere sie nur, wenn du sie brauchst, was wirklich eine Faustregel für alles ist.
William T Froggard
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.