
Ich habe Folgendes eingegeben: ifconfig eth0:0 192.198.6.1 up ifconfig eth0:1 192.198.6.2 up ifconfig eth0:2 192.198.6.3 up
Nun gab es für keinen dieser Befehle einen Fehler. Und als ich 192.168.6.1 anpingte, bekam ich die Antwort von dieser IP. Was genau passiert hier also?
kann mir jemand genauer erklären, was eth0:0, eth0:1 usw. bedeutet?
Weisen die obigen Befehle demselben Betriebssystem mehrere Adressen zu? Ich verwende Ubuntu
Wenn derselben Maschine mehrere IPs zugewiesen werden, bedeutet das dann, dass das Hosten eines MySQL-Servers beispielsweise dem Hosten auf vier verschiedenen Maschinen oder derselben Maschine mit mehreren IP-Adressen gleichkommt?
Antwort1
Es handelt sich um dieselbe Maschine mit mehreren IPs. Linux kann durch die Verwendung von IP-Aliasing mehrere IP-Adressen einer einzigen Netzwerkkarte zuordnen.
So richten Sie beispielsweise einen IP-Alias ein:
ifconfig eth0:0 192.198.5.2 netmask 255.255.255.0 up
Dadurch wird eth0 die IP-Adresse 192.198.5.2 als erster Alias (angegeben als eth0:0) auf eth0 zugewiesen. Wenn Sie sich die Ausgabe von ifconfig ansehen, sehen Sie die unterschiedliche IP-Adresse für eth0 und eine andere für eth0:0.
Die Aliase lauten „NetworkInterface:Number“, zum Beispiel eth0:0, eth0:1, eth0:2 usw.
In einigen Systemen können Sie die Aliasdatei ifcfg-ethX:Y
(wobei X die Netzwerkschnittstelle und Y der Alias ist) einfach im Verzeichnis erstellen /etc/sysconfig/network-scripts/
und sie wird beim Booten/Neustart des Netzwerks gelesen.
Der Inhalt der Datei ähnelt den anderen Schnittstellendateien, zum Beispiel:
DEVICE=eth0
ONBOOT=yes
IPADDR="192.198.5.2"
NETMASK="255.255.255.0"
Auf Systemen, die diese Netzwerkskripte nicht verwenden, fügen Sie den Aufruf von ifconfig einfach direkt in Ihr Startskript ein (normalerweise /etc/rc.d/rc.local).
Antwort2
In Bezug auf Ihre MySQL-Frage. Beides. Je nachdem, wie Sie es konfigurieren, können Sie MySQL alle 4 IP-Adressen oder nur eine abhören lassen.
Bei den meisten Daemons können Sie auswählen, auf welcher Schnittstelle sie lauschen sollen.
Antwort3
(Zusätzlich zu Prix‘ Antwort:) Die Methode mit den ifcfg-ethX:Y
Dateien ist unter RedHat-basierten Systemen (z. B. Fedora, CentOS usw.) weit verbreitet. Unter Debian-basierten Systemen (z. B. Ubuntu) würden Sie Einträge in der Datei /etc/network/interfaces verwenden. Außerdem: Ihre Gerätekennung muss die virtuelle Schnittstelle angeben. Beispiel:
iface eth0 inet statisch Adresse 192.168.6.1 Netzmaske 255.255.255.0 Gateway 192.168.6.254 iface eth0:1 inet statisch Adresse 192.168.6.2 Netzmaske 255.255.255.0 iface eth0:2 inet statisch Adresse 192.168.6.3 Netzmaske 255.255.255.0
Wenn Sie hiermit die zusätzlichen Adressen aufrufen,NICHTFügen Sie Zeilen für Gateways hinzu, da Sie sonst mehrere Standardrouten haben, die Ihre Routing-Engine völlig verwirren können.