Wie kann man wlan immer zur Standardroute machen? (IP-Routenliste)

8

Immer wenn ich mein 4G-Modem zu meiner Himbeere hinzufüge, wird es über den Standardrouten angezeigt. ip route listIch möchte jedoch, dass alles über WLAN läuft, und verwende nur das 4G-Modem, um SSH-Verbindungen zu empfangen.

Ich habe diese Antwort zum Deaktivieren der Standardrouten gefunden.

Nach dem Neustart kehrt das 4G-Modem jedoch wieder nach oben zurück.

Wie mache ich es wlan0, immer die erste Standardregel zu sein?

AKTUALISIEREN:

Hier ist die dmesg-Ausgabe, wenn ich den USB-Dongle anschließe:

[426102.910168] usb 1-1.5.1: new full-speed USB device number 6 using dwc_otg
[426103.046670] usb 1-1.5.1: not running at top speed; connect to a high speed hub
[426103.056674] usb 1-1.5.1: New USB device found, idVendor=12d1, idProduct=1f01
[426103.056693] usb 1-1.5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[426103.056704] usb 1-1.5.1: Product: HUAWEI_MOBILE
[426103.056714] usb 1-1.5.1: Manufacturer: HUAWEI_MOBILE
[426103.056724] usb 1-1.5.1: SerialNumber: 0123456789ABCDEF
[426103.121355] usb-storage 1-1.5.1:1.0: USB Mass Storage device detected
[426103.122875] scsi host0: usb-storage 1-1.5.1:1.0
[426103.987177] usb 1-1.5.1: USB disconnect, device number 6
[426105.470211] usb 1-1.5.1: new full-speed USB device number 7 using dwc_otg
[426105.606666] usb 1-1.5.1: not running at top speed; connect to a high speed hub
[426105.615673] usb 1-1.5.1: New USB device found, idVendor=12d1, idProduct=14dc
[426105.615692] usb 1-1.5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[426105.615703] usb 1-1.5.1: Product: HUAWEI_MOBILE
[426105.615713] usb 1-1.5.1: Manufacturer: HUAWEI_MOBILE
[426105.766297] usb-storage 1-1.5.1:1.2: USB Mass Storage device detected
[426105.766768] scsi host0: usb-storage 1-1.5.1:1.2
[426105.855053] cdc_ether 1-1.5.1:1.0 eth1: register 'cdc_ether' at usb-3f980000.usb-1.5.1, CDC Ethernet Device, 0c:5b:8f:27:9a:64
[426105.855593] usbcore: registered new interface driver cdc_ether
[426106.785653] scsi 0:0:0:0: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2
[426106.803758] sd 0:0:0:0: Attached scsi generic sg0 type 0
[426106.820687] sd 0:0:0:0: [sda] Attached SCSI removable disk

Hier ist ip addr

eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 0c:5b:8f:27:9a:64 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::584f:751f:bb3e:e26b/64 scope link 
       valid_lft forever preferred_lft forever

UPDATE 2

Ich habe es noch ein paar Mal angehängt, bis es die eth1Route zeigte :

[10787.229141] usb 1-1.5: new full-speed USB device number 7 using dwc_otg
[10787.363515] usb 1-1.5: New USB device found, idVendor=05e3, idProduct=0606
[10787.363533] usb 1-1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[10787.363544] usb 1-1.5: Product: USB Hub 2.0
[10787.363555] usb 1-1.5: Manufacturer: ALCOR
[10787.365166] hub 1-1.5:1.0: USB hub found
[10787.369831] hub 1-1.5:1.0: 4 ports detected
[10797.419094] usb 1-1.5.1: new full-speed USB device number 8 using dwc_otg
[10797.555636] usb 1-1.5.1: not running at top speed; connect to a high speed hub
[10797.565759] usb 1-1.5.1: New USB device found, idVendor=12d1, idProduct=1f01
[10797.565777] usb 1-1.5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[10797.565789] usb 1-1.5.1: Product: HUAWEI_MOBILE
[10797.565799] usb 1-1.5.1: Manufacturer: HUAWEI_MOBILE
[10797.565808] usb 1-1.5.1: SerialNumber: 0123456789ABCDEF
[10797.630477] usb-storage 1-1.5.1:1.0: USB Mass Storage device detected
[10797.631101] scsi host0: usb-storage 1-1.5.1:1.0
[10798.472745] usb 1-1.5.1: USB disconnect, device number 8
[10799.469081] usb 1-1.5.1: new full-speed USB device number 9 using dwc_otg
[10799.630768] usb 1-1.5.1: not running at top speed; connect to a high speed hub
[10799.646891] usb 1-1.5.1: New USB device found, idVendor=12d1, idProduct=14dc
[10799.646909] usb 1-1.5.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[10799.646920] usb 1-1.5.1: Product: HUAWEI_MOBILE
[10799.646930] usb 1-1.5.1: Manufacturer: HUAWEI_MOBILE
[10799.814489] usb-storage 1-1.5.1:1.2: USB Mass Storage device detected
[10799.815008] scsi host0: usb-storage 1-1.5.1:1.2
[10799.897788] cdc_ether 1-1.5.1:1.0 eth1: register 'cdc_ether' at usb-3f980000.usb-1.5.1, CDC Ethernet Device, 0c:5b:8f:27:9a:64
[10799.898127] usbcore: registered new interface driver cdc_ether
[10800.889652] scsi 0:0:0:0: Direct-Access     HUAWEI   TF CARD Storage  2.31 PQ: 0 ANSI: 2
[10800.910585] sd 0:0:0:0: Attached scsi generic sg0 type 0
[10800.923297] sd 0:0:0:0: [sda] Attached SCSI removable disk

Hier ist route -n

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
0.0.0.0         192.168.8.1     0.0.0.0         UG    207    0        0 eth1
0.0.0.0         192.168.1.1     0.0.0.0         UG    303    0        0 wlan0
169.254.0.0     0.0.0.0         255.255.0.0     U     202    0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     204    0        0 docker0
169.254.0.0     0.0.0.0         255.255.0.0     U     206    0        0 veth4557ad2
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U     303    0        0 wlan0
192.168.8.0     0.0.0.0         255.255.255.0   U     207    0        0 eth1

Sehen Sie, dass ich tat , ifmetric wlan0um in der Lage zu sein , das zu verwenden , wlan0um sshin meine Himbeere

UPDATE 09/10:

allow-hotplug wlan0
iface wlan0 inet dhcp
    up ifmetric wlan0 0
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Dadurch habe ich keine wlan0Metrik 0. Was mache ich falsch?

Guerlando OCs
quelle
1
Der erste Schritt besteht darin, herauszufinden, warum das 4G-Modem eine Standardroute erhält. Tut es DHCP? Wenn ja, finden Sie heraus, wie es aufgerufen wird (Netzwerkmanager? Traditionelles ifup / ifdown?), Und konfigurieren Sie dhclient usw. in diesem Aufruf so, dass die Standardroute für diese bestimmte Schnittstelle nicht festgelegt wird.
Dirkt
@dirkt Es ist ein USB-Dongle. Wenn er angeschlossen ist, erhält er standardmäßig eine neue Schnittstelle. Es gibt keine Regel für eth1 in / etc / network / interfaces, dies ist jedoch das ihm zugewiesene Ethernet-Gerät. Wissen Sie, warum? Ich weiß nicht, ob es DHCP macht, die Oberfläche ist ziemlich einfach, es gibt keine fortgeschrittenen Dinge zu ändern oder zu schauen. Es ist ein Huawei-Modem. Könnten Sie uns helfen?
Guerlando OCs
1
Bitte bearbeiten Sie die Frage mit der Ausgabe von dmesgund syslog (verwenden journalctlSie, wenn Sie systemd haben), nachdem Sie den USB-Dongle angeschlossen haben (ziehen Sie 4 Leerzeichen ein, um die ordnungsgemäße Formatierung beim Stackoverflow zu gewährleisten).
Dirkt
@dirkt Ich werde das dmesg bald posten, wenn ich jemanden dazu bringe, das 4G-Modem für mich anzuschließen. Wie finde ich in der Zwischenzeit heraus, welches Objekt eine IP-Adresse für meinen Router angibt? Ich verwende Raspbian, das auf Debian basiert. Hast du eine Idee?
Guerlando OCs
Im Allgemeinen erhalten Sie IP-Adressen über DHCP , normalerweise durch Aufrufen dhclientoder, wenn das Modem ein Punkt-zu-Punkt-Protokoll verwendet, über dieses Protokoll. All das sollte irgendwo in den Protokollen angezeigt werden, weshalb ich nach den Protokollen gefragt habe. Wenn Sie keinen physischen Zugriff auf das RaspPi haben (Sie haben dies nicht erwähnt) ip linkoder ip addrauch anzeigen sollten, ob es sich um ein Punkt-zu-Punkt-Protokoll handelt oder nicht (möglicherweise benötigen Sie einen ausführlichen Modus).
Dirkt

Antworten:

5

Zum Ändern der Routing-Priorität für eine Schnittstelle ändern Sie Metriken.

Standardmäßig sind alle 0, was die höchste Priorität ist. Sie können also Folgendes tun:

allow-hotplug eth1
iface eth1 inet dhcp
    up ifmetric eth1 30

Um ifmetricin Debian zu verwenden, müssen Sie es installieren:

sudo apt-get install ifmetric

ifmetrisch

Festlegen von Routing-Metriken für eine Netzwerkschnittstelle

ifmetric ist ein Linux-Tool zum gleichzeitigen Festlegen der Metriken aller IPv4-Routen, die an eine bestimmte Netzwerkschnittstelle angeschlossen sind. Dies kann verwendet werden, um die Priorität des Routings von IPv4-Verkehr über die Schnittstelle zu ändern. Niedrigere Metriken korrelieren mit höheren Prioritäten.

Die Metrik 0 bedeutet die Route mit der höchsten Priorität und ist die Standardroute. Der größere Metrikwert bedeutet Routen mit niedrigerer Priorität. Die IP-Adresse der aktiven Schnittstelle mit dem niedrigsten Metrikwert wird zur Ursprungsadresse. Siehe ifmetric (8).

Rui F Ribeiro
quelle
1
Vielleicht sollten Sie auch erklären, warum dies dazu beiträgt, DHCP von einer bestimmten Schnittstelle abzurufen (anstatt es zu ignorieren), wenn andere Schnittstellen vorhanden sind.
Dirkt
@dirkt könntest du das dhcp ding besser erklären? Ich habe derzeit iface wlan0 inet Handbuch bis ifmetric wlan0 0, aber wlan0 Metrik wird nicht als 0
angezeigt
1

Dies ist das gute alte Problem beim Überschreiben einer Standardroute.

Der einfachste Weg für IPv4 besteht nicht darin, die Metrik / Priorität zu ändern, sondern die Route aufzuteilen:

ip route add 0.0.0.0/1 via wlan0-gw
ip route add 128.0.0.0/1 via wlan0-gw

Der Grund dafür ist, dass Routing-Tabellensuchen mithilfe einer Präfixsuche mit der längsten Übereinstimmung durchgeführt werden. Routenmetriken kommen nur dann ins Spiel, wenn zwei ansonsten gleichwertige Routen vorhanden sind. In diesem Fall haben diese beiden Routen ein 1-Bit-Präfix, das länger als das 0-Bit-Präfix der Standardroute (0.0.0.0/0) ist und zuerst konsultiert wird. Da diese beiden Routen die gesamte Version 0.0.0.0/0 abdecken, haben sie immer Vorrang vor der Standardroute.

Ein alternativer Ansatz besteht darin, eine separate Routing-Tabelle mit der von Ihnen bevorzugten Standardroute zu verwenden und eine Regel hinzuzufügen, um den gesamten Datenverkehr dorthin zu senden. Ich habe noch nie eine Automatisierung gesehen, die mit IP-Regeln in Konflikt gerät, daher spielt es keine Rolle, welche anderen Routen sie hinzufügen. Das Problem hierbei ist, dass Ihre Automatisierung jedoch keine zusätzlichen Routen einfügen kann.

Also, tl; dr:

iface wlan0 inet manual
    up ip route add 0.0.0.0/1 via wlan0-gw
    up ip route add 128.0.0.0/1 via wlan0-gw
    ....

Oder (aber Sie müssen auch alle anderen Routen zu "Tabelle 5" hinzufügen):

iface wlan0 inet manual
    up ip rule add to 0.0.0.0/0 table 5
    up ip route add default via wlan0-gw table 5
    ....
V13
quelle
0

Eine Möglichkeit, das Debian beizubehalten, ip route add/delbesteht darin, sie /etc/network/interfaceswie folgt aufzuschreiben :

allow-hotplug eth1
iface eth1 inet dhcp
    post-up ip route del default
    post-up ip route add default via <gateway IP> dev wlan0
Ezwig
quelle
Ich denke, auf diese Weise wird nur ein Standard-Gateway für jede Schnittstelle
hinzugefügt
Ok, ich habe verstanden, es wird die Standardeinstellung ausschließen und eine für wlan0 hinzufügen. Aber wird nicht auch ein Standard für eth0 hinzugefügt?
Guerlando OCs
0

Ich denke, die Angelegenheit auf Standard-Gateway. Hier ist das Tutorial.

Ich erkläre kurz die Schritte. Zuerst müssen Sie das Standard-Gateway löschen und das hinzufügen, das Sie hinzufügen möchten. Anschließend bearbeiten Sie "/ etc / network / interfaces" für eine dauerhafte Änderung. Schließlich starten Sie den Dienst neu.

https://www.wikihow.com/Add-or-Change-the-Default-Gateway-in-Linux

jefferyear
quelle