Wie füge ich beim Verbinden mit einem drahtlosen LAN automatisch eine Route hinzu?

Wie füge ich beim Verbinden mit einem drahtlosen LAN automatisch eine Route hinzu?

Ich habe ein Beaglebone Black-Gerät, das Debian 9.9 Linux verwendet (ohne Benutzeroberfläche, ich verwende hierfür ein Terminal). (neuestes Image für Beaglebone Blackhttps://beagleboard.org/latest-images)

Ich habe das WLAN aktiviert und mithilfe von conmannctl erfolgreich eine Verbindung hergestellt. (https://fis.gatech.edu/how-to-configure-bbw-wifi/)

Wenn ich mit dem WLAN verbunden bin, kann ich keinen externen Ping senden (8.8.8.8 oder www.google.com).

Ich muss die Route manuell hinzufügen über: IP-Route hinzufügen Standard über 192.168.1.1 dev wlan0 und es kann eine externe Verbindung hergestellt werden. Mein IP-Bereich zu Hause ist 192.168.1.x

Ich möchte experimentieren und dies an einem Ort mit einem anderen WLAN-IP-Bereich verwenden, beispielsweise 192.168.10.x. Dazu muss ich ausführen IP-Route hinzufügen Standard über 192.168.10.1 dev wlan0

Ich suche nach einer Möglichkeit, eine Verbindung zu einem anderen Ort mit einem anderen WLAN-IP-Bereich herzustellen, ohne die IP-Route eingeben und hinzufügen zu müssen.

Ich habe das seit gestern untersucht, aber anscheinend kann ich die Schnittstelle nicht nur für den Befehl „IP Route Add“ bereitstellen, und die IP muss immer angegeben werden. (Oder vielleicht treffe ich nicht die richtigen Google-Schlüsselwörter.)

Gibt es eine Möglichkeit, die Route automatisch konfigurieren zu lassen, wenn ich eine Verbindung zur Schnittstelle (WLAN) herstelle? Ich habe auch versucht, ein USB-Gerät mit dem LAN zu verbinden, und ich muss auch manuell einen IP-Routenbefehl eingeben, um eine externe Verbindung herstellen zu können.

Derzeit denke ich darüber nach, ein Python-Skript zu erstellen, um die ifconfig-Ausgabe einer Regex-Analyse zu unterziehen und die ersten drei Zahlen der IP auf wlan0 (z. B. 192.168.10) abzurufen und dann .1 hinzuzufügen. Anschließend werde ich dies verwenden, um einen „IP Route Add“-Befehl in Python auszuführen.

Allerdings frage ich mich, ob es hierfür einen integrierten Linux-Prozess gibt, da ich, wenn ich auf meinem Ubuntu-Rechner eine Verbindung zum WLAN herstelle (über die Benutzeroberfläche), sofort im Internet surfen kann, sobald die WLAN-Verbindung hergestellt ist.

Antwort1

Die übliche Lösung besteht darin, in jedem LAN-Segment einen DHCP-Server und auf jedem Computer, der eine Verbindung zu diesem LAN-Segment herstellt, einen DHCP-Client auszuführen.

DerDHCP-Protokollermöglicht Ihnen die Verteilung von Routing-Informationen, beispielsweise zum Standard-Gateway, und auch anderer Informationen, beispielsweise zu verwendende DNS-Server.

Da es auf Ihrem Ubuntu-Rechner funktioniert, läuft wahrscheinlich ein DHCP-Server im WLAN-Segment (sehr wahrscheinlich auf dem AP).

Versuchen Sie also, einen DHCP-Client auf Ihrem Beaglebone auszuführen (was auch immer die Beaglebone-Distribution verwendet, dhclientwird häufig in Distributionen verwendet) und prüfen Sie, ob Sie etwas erreichen.

Konfigurieren Sie dann Ihren Beaglebone so, dass dies beim Verbinden automatisch geschieht (hierfür gibt es mehrere Möglichkeiten, je nachdem, was sonst noch auf Ihrer Beaglebone-Distribution läuft).

verwandte Informationen