Jestem zaskoczony nikt nie wspomniał najprostsze polecenia, aby to zrobić: ifmetric
. Można go zainstalować za pomocą sudo apt-get install ifmetric
. Za pomocą tego polecenia można zmienić metrykę dowolnego interfejsu. Interfejs z niższym metryki jest korzystne dla Internetu.
Aby tego użyć, najpierw zobacz metryki za pomocą route
polecenia:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.42.0.1 0.0.0.0 UG 100 0 0 eth0
0.0.0.0 10.42.0.2 0.0.0.0 UG 600 0 0 wlan0
Tutaj eth0
ma niższą charakterystykę, więc będzie lepsza niż wlan0
. Jeśli chcesz wlan0
, obniż jego metrykę:
sudo ifmetric wlan0 50
Teraz tabela routingu wyglądałaby następująco:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.42.0.2 0.0.0.0 UG 50 0 0 wlan0
0.0.0.0 10.42.0.1 0.0.0.0 UG 100 0 0 eth0
Teraz Linux będzie korzystał wlan0
z Internetu. Zmiana zostanie odzwierciedlona natychmiast.
crontab -e
a następnie dodaj linię na końcu:@reboot sudo ifmetric wlan0 50
.Ustawienie wskaźników to sposób zmiany priorytetów. Wyższy wskaźnik jest droższy w użyciu, więc system operacyjny użyje interfejsów o najniższym wskaźniku, jeśli będzie musiał kierować ruchem. W przypadku zamknięcia interfejsu o niższej wartości metrycznej użyje interfejsu o wyższej wartości, ponieważ jest to jedyny interfejs, którego można użyć do kierowania ruchu do tej konkretnej sieci / miejsca docelowego.
Metryki są określone w pliku / etc / network / interfaces , odsyłacz wskazuje na dokumentację.
Użyj dowolnego edytora tekstu, aby edytować plik, zidentyfikować sieci, po prostu zmień
metric
parametr i zapisz. Ponowne uruchomienie to najprostszy sposób na zresetowanie wszystkich wartości bez wchodzenia w geekowe szczegóły ponownego uruchamiania usług sieciowych.źródło
Priorytetyzacja interfejsów dla ogólnego ruchu odbywa się poprzez manipulowanie metrykami routingu. Każda trasa ma powiązane parametry, takie jak liczba przeskoków i przepustowość. Zobacz opcję „metryka” na stronie podręcznika dla
route
polecenia.Priorytetowy dostęp aplikacji do zasobów sieciowych jest często rozwiązany przez „kształtowanie ruchu” - użyłbym wyszukiwarki internetowej, aby sprawdzić, czy Ubuntu lub router może to zrobić.
Notatka.
W systemie MS Windows, ale nie w systemie Linux,
netstat -nr
polecenie wyświetla te same informacje, coroute print
. W tym metryki routingu.źródło
Naprawdę tego nie wypróbowałem, ale do tego celu można użyć NCD (Network Configuration Daemon - 1). Witryna twierdzi, że ułatwia konfigurację sieci. Składnia wydaje się prosta.
# Poczekaj na połączenie sieciowe. Preferuj eth1, umieszczając go przed eth0.
pnames list („NET-eth1”, „NET-eth0”);
(1) - http://code.google.com/p/badvpn/wiki/NCD
źródło
pnames
lista ta jest w rzeczywistości tylko argumentem domultidepend()
oświadczenia w następnym wierszu - tym, który realizuje priorytety. Mechanizmem tego jest to, że gdyeth1
pojawia się, gdyeth0
jest już w górze, wykonuje sięmultiprovide("NET-eth1");
, ponieważNET-eth1
jest przedNET-eth0
,multidepend()
spadnie i natychmiast wróci, aleeth1
zamiast tego ujawnia zmienne z procesueth0
.Wszystko to z powodu wskaźników trasy. Chcesz usunąć domyślną trasę z najniższą metryką, a następnie przywrócić starą trasę z wyższą metryką. Wykonaj poniższe polecenia.
Powiedzmy, że twoja tabela routingu wygląda następująco:
Teraz usuń domyślną bramę
Teraz przywróć starszą domyślną bramę (zauważ, że w tym przypadku metryka jest wyższa niż 102 niż bieżąca domyślna trasa 101)
źródło
Gateway
=10.16.87.254
, który jestUG
najniższyMetric
, a krok 2 odsyła go z wyższym,Metric
więc jest nadal dostępny jako kopia zapasowa na wypadek, gdyby192.168.151.2
był niedostępny.[Aktualizacja] Począwszy od Ubuntu 18.04 LTS (serwer),
netplan
jest domyślnym opakowaniem do zarządzania siecią. Konfigurowanie Netplan odbywa się domyślnie za pomocą pliku YAML/etc/netplan/01-netcfg.yaml
(więcej szczegółów tutaj ).Metryka routingu jest zdefiniowana przez
metric
opcję „ ”, która oczekuje dodatniej liczby całkowitej (100
jest to zazwyczaj wartość domyślna). Oto przykład ze strony referencyjnej:Trasa o najniższej
metric
(długości ścieżki) staje się bramą „preferowaną”. (Użyj:sudo netplan try
aby włączyć zmiany)Zauważ, że w środowisku mobilnym (wiele połączeń, włączanie i wyłączanie) możesz ustawić parametr
optional
(boolean) natrue
(domyślnie false):Zwróć uwagę na nieco inną składnię metryki trasy w przypadku połączeń DHCP.
Możesz także użyć
NetworkManager
jako renderer, który, jak sądzę (jeszcze nie przetestowałem), pozwoliłby ci zobaczyć / edytować tę część konfiguracji również za pomocą narzędzi GUI.(Ostatni „duży” przykład na stronie referencyjnej pokazuje takie hybrydowe użycie obu rendererów).
Zobacz także to pytanie (askubuntu) .
źródło