Ich habe einen Server mit 2 Schnittstellen. eth0 ist 100 mal schneller als eth1. Obwohl aus irgendeinem Grund bei jedem Neustart die Standardschnittstelle zufällig ausgewählt wird. Um die Sache noch ärgerlicher zu machen, verwenden beide dasselbe Gateway, sodass die Auswahl des Standard-Gateways nicht funktioniert. Wie wählt Linux die Standardschnittstelle aus und wie wähle ich die Standardschnittstelle aus?
Hier ist meine route -n
Hilfe, um die Situation ein wenig zu erklären.
Destination Gateway Genmask Flags Metric Ref Use Iface
173.246.100.0 0.0.0.0 255.255.252.0 U 0 0 0 eth1
173.246.100.0 0.0.0.0 255.255.252.0 U 0 0 0 eth0
0.0.0.0 173.246.103.254 0.0.0.0 UG 0 0 0 eth1
0.0.0.0 173.246.103.254 0.0.0.0 UG 100 0 0 eth0
PS. Dies ist ein VPS, daher ist mein Provider möglicherweise auch irgendwo schuld. Grund für die zweite Schnittstelle ist eine andere IP für DNS, da nur DNS ausgeführt wird, was sehr langsam ist.
EDIT: Dies ist ein Ubuntu 10.04 Server
linux
networking
route
interface
user163365
quelle
quelle
Antworten:
Verwenden Sie
ifmetric
diese Option , um den Metrikwert beider Schnittstellen zu ändern. Wenn Sie eth1 über eth0 erhöhen, wird eth0 für alle Verbindungen verwendet. Löst das Problem vollständig.quelle
Sie sollten die zweite, langsame Schnittstelle deaktivieren und dann die sekundäre IP zur primären hinzufügen. Bearbeiten Sie dazu Ihre Schnittstellendatei mit:
Sobald Sie auf die Netzwerkdatei zugegriffen haben, wird Ihnen wahrscheinlich Folgendes angezeigt:
Konfigurieren Sie es so, dass es so aussieht:
Dadurch werden beide IPs der ersten Netzwerkkarte zugewiesen. Sobald Sie dies getan haben, speichern Sie die Datei und führen Sie Folgendes aus:
Und die Änderungen werden übernommen.
<- EDIT ->
Nach meiner Erfahrung sollte es keine Rolle spielen, wenn es sich auf demselben virtuellen Switch befindet, obwohl gehostete Umgebungen ihn möglicherweise weiter sperren. Es kann jedoch einen Versuch wert sein. Wenn dies nicht funktioniert, können Sie Ihr Hosting-Unternehmen bitten, die virtuelle Schnittstelle auf eine leistungsfähigere zu ändern.
<- EDIT ->
Wenn Ihre primäre IP-Adresse derzeit kein DNS bereitstellt, können Sie sie dann auch für DNS verwenden. Sie können mehrere verschiedene Dienste auf einer IP hosten, da diese unterschiedliche Ports verwenden.
quelle
Sie scheinen zwei Schnittstellen im selben Subnetz zu haben, was etwas seltsam ist. Linux (vorausgesetzt, Sie verwenden ein Red Hat-Derivat) wählt das Standard-Gateway aus, indem es den GATEWAY-Wert von liest
/etc/sysconfig/network
. Diese Variable enthält jedoch eine IP-Adresse als Gateway-ID und keinen Schnittstellennamen. In Ihrem Fall kann die eine IP-Adresse das Gateway für beide Schnittstellen sein, was (glaube ich) zu einer Art Race-Bedingung führt.Ich bin mir immer noch nicht sicher, warum Sie die zweite Schnittstelle benötigen. Was passiert, wenn Sie die langsame Oberfläche vollständig herunterfahren?
quelle