Mam serwer z 2 interfejsami. eth0 jest 100 razy szybszy niż eth1. Chociaż z jakiegoś powodu przy każdym ponownym uruchomieniu domyślny interfejs jest wybierany losowo. Aby wszystko było bardziej denerwujące, oboje korzystają z tej samej bramy, więc wybranie domyślnej bramy nie będzie działać. W jaki sposób Linux wybiera domyślny interfejs i jak wybrać domyślny?
Oto moja route -n
pomoc, aby trochę wyjaśnić sytuację.
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. To jest VPS, więc mój dostawca może być gdzieś winny. Powodem drugiego interfejsu jest posiadanie innego adresu IP dla dns, ponieważ obsługuje on tylko DNS, jest bardzo wolny.
EDYCJA: To jest serwer Ubuntu 10.04
linux
networking
route
interface
użytkownik163365
źródło
źródło
Odpowiedzi:
Służy
ifmetric
do zmiany wartości metryki obu interfejsów. Zwiększenie wartości eth1 powyżej wartości eth0 spowoduje użycie parametru eth0 do wszystkich połączeń. Rozwiązuje problem całkowicie.źródło
Powinieneś wyłączyć drugi, wolny interfejs, a następnie dodać drugi adres IP do podstawowego. W tym celu dokonaj edycji pliku interfejsów za pomocą:
Po uzyskaniu dostępu do pliku sieciowego prawdopodobnie pojawi się coś takiego:
Zmień konfigurację, aby wyglądała następująco:
Spowoduje to przypisanie obu adresów IP do pierwszej karty sieciowej. Po wykonaniu tej czynności zapisz plik i uruchom:
I zmiany zostaną zatwierdzone.
<- EDYCJA ->
Z mojego doświadczenia wynika, że jeśli jest on na tym samym przełączniku wirtualnym, nie powinno to mieć znaczenia, chociaż środowiska hostowane mogą go jeszcze bardziej zablokować. Warto jednak spróbować, jeśli to nie zadziała, możesz poprosić firmę hostingową o zmianę interfejsu wirtualnego na coś bardziej wydajnego.
<- EDYCJA ->
Ponadto, jeśli twój podstawowy adres IP nie obsługuje obecnie DNS, dlaczego nie wykorzystać go również do DNS? Możesz hostować kilka różnych usług pod jednym adresem IP, ponieważ korzystają one z różnych portów.
źródło
Wygląda na to, że masz dwa interfejsy w tej samej podsieci, co jest nieco dziwne. Linux (zakładając, że używasz pochodnej Red Hat) wybiera domyślną bramę, odczytując wartość GATEWAY z
/etc/sysconfig/network
. Ta zmienna zawiera jednak adres IP jako identyfikator bramy, a nie nazwę interfejsu. Tak więc, w twoim przypadku, jeden adres IP może być bramą dla obu interfejsów, prowadząc (jak sądzę) do pewnego rodzaju warunków wyścigu.Nadal nie jestem pewien, dlaczego potrzebujesz drugiego interfejsu. Co się stanie, jeśli całkowicie spowolnisz interfejs?
źródło