Loopback-Adapter Name in Linux
-
06-07-2019 - |
Frage
Ist es sicher anzunehmen, dass der Loopback-Netzwerkadapter auf einem Linux-System wird immer ‚lo‘ genannt wird - ist dies nur eine Namenskonvention, die möglicherweise nicht eingehalten, oder muss es immer der Fall sein?
Lösung
Ich weiß nicht, von jedem Linux-System, das eine Loopback-Schnittstelle etwas anderes als lo
hat. Ich würde auf dieser Namenskonvention verlassen, wenn ich eine systemspezifische Skript schreiben, aber nicht, wenn ein portables Programm zu schreiben. Zum Beispiel Loopback in OSX ist lo0
.
Eine zuverlässige Art und Weise in C eine SIOCGIFCONF
ioctl
auf einem Sockel ruft, über die Schnittstellen laufen, auf jeder SIOCGIFFLAGS
ioctl
Aufruf und Kontrolle, welche Schnittstellen ein IFF_LOOPBACK
-Flag gesetzt haben (siehe /usr/include/linux/if.h
).
SIOCGIFCONF
geben Sie auch die Namen verbinden.
Andere Tipps
Nach meiner Erfahrung ist es ein gebräuchlicher Name, obwohl man nicht immer in es so zu sein vertrauen sollte. Vielleicht die Schnittstellen Aufzählen und für die eine mit einer Adresse 127.0.0.1 suchen wäre der Weg zu gehen?
Es ist eine ziemlich alte Konvention, in der Tat habe ich nicht eine Linux-Box / Distro noch gesehen, dass nicht angerufen hat es lo '.
Allerdings Gerätenamen in * nix-Systeme sind so vielfältig, kann sie ändern sich nicht übernommen werden. Verwenden Sie die Standards, wenn Sie Portabilität (in diesem Fall 127.0.0.1) wollen.
Schnittstellen können Sie wollen etwas umbenannt werden - aber wer der Loopback-Schnittstelle umbenennt ist extrem albern und verdient ein arbeitsfreien System haben:)
Ja, können Sie die Schnittstellen aufzählen, und ihre Namen bekommen. Aber vielleicht ist es genau so einfach zu einfach davon ausgehen, es wird sein „lo“.
Mit 127.0.0.1 ist wahrscheinlich die ausfallsichere Art und Weise, darüber zu gehen.
RFC3330 127.0.0.0/8
definiert immer das Loopback-Subnetz sein.
Die Verwendung von localhost
jedoch definiert unter Windows in c:\windows\system32\drivers\etc\hosts
und Linux in /etc/hosts
ist rein Konvention. Darüber der Name lo
ist der typische Name der angegebene localhost Schnittstelle in Linux.
Wenn Sie müssen absolut sicher sein, verwenden Sie 127.0.0.1
.