Ich arbeite an einem Schulprojekt, bei dem ein Ubuntu-Rechner über Ethernet mit einem Raspberry Pi verbunden ist und keine Internetverbindung (keine erforderlich) besteht. Ich brauche außerdem eine drahtlose Verbindung zu einem separaten lokalen Netzwerk, was ich mit einem drahtlosen USB-Adapter mache. Ich habe wenig Erfahrung mit Ubuntu und bin mir nicht ganz im Klaren darüber, welche Einstellungen vorgenommen wurden, bevor ich am System gearbeitet habe.
Sowohl WLAN als auch Ethernet sind statisch mit unterschiedlichen IPs. Beide Verbindungen funktionieren einwandfrei, aber nur die eine oder die andere. Ich brauche eine drahtlose Verbindung, weil ich versuche, Befehle von Android lokal an Apache auf Ubuntu zu senden.
Antwort1
Um den Kommentar hier ein wenig näher zu erläutern: Im Wesentlichen müssen Sie Folgendes tun:
- Stellen Sie eine Verbindung sowohl mit Ethernet als auch mit WLAN her. Jetzt sollten zwei Schnittstellen angezeigt werden
ifconfig -a
.
Nehmen wir an, die WLAN-IP ist 192.168.0.11
und das Ethernet ist 10.1.1.45
. Das WLAN-Gateway ist 192.168.0.1
und das Ethernet-Gateway ist10.1.1.1
- Jetzt müssen Sie die Routing-Tabelle so einrichten, dass ein Teil des Datenverkehrs über Ethernet und der Rest über WLAN gesendet wird. Nehmen wir an, der Datenverkehr ist für einige interne Ethernet-Subnetze bestimmt - alle
10.0.0.0/8
Adressen (und aus irgendeinem seltsamen Grund)149.9.1.0/24
sollten über Ethernet laufen und alles andere kann über WLAN gehen
Haftungsausschluss - Ich habe keine Ubuntu-VM zum Testen zur Hand. Dies sind die Befehle, die ich auf einem Mac verwende, um dasselbe zu tun
$ route add 10.0.0.0/8 10.1.1.1
$ route add 149.9.1.0/24 10.1.1.1
netstat -rn
zeigt die Routing-Tabelle an:
$ netstat -rn
Destination Gateway Genmask Flags MSS Window irtt Iface
10.0.0.0 10.1.1.1 255.0.0.0 UG 0 0 0 eth1
149.9.1.0 10.1.1.1 255.255.255.0 UG 0 0 0 eth1
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
169.254.169.254 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
192.168.0.1 0.0.0.0 255.255.0.0 U 0 0 0 eth0
Sie müssen möglicherweise mit der Reihenfolge der Schnittstellen herumspielen, damit es funktioniert. netstat
und ip
werden hier Ihre Freunde sein.
Antwort2
Obwohl sich diese Frage auf Ubuntu 16.04 bezieht, verwende ich 20.04.1 und dachte, ich würde eine funktionierende Lösung posten, die ich auf einem Raspberry Pi 4 mit Ubuntu Server 64-Bit verwende. Daher biete ich die Netplan-Datei ohne weitere Erklärung an.
network:
ethernets:
eth0:
addresses: [192.168.1.4/24]
gateway4: 192.168.1.2
nameservers:
addresses:
- 192.168.1.2 # private IP for ns1
# - 192.168.1.4 # private IP for ns2 (work in progress)
# search: [ <your domain> ] # DNS zone (work in progress)
dhcp4: no # static IP assignment
# version: 2 (not sure this is required)
wifis:
wlan0: # use ls /sys/class/net to determine this value
addresses: [10.0.2.2/24]
gateway4: 10.0.2.1
nameservers:
addresses:
- 10.0.2.2 # local host is ns1
access-points:
"<your SSID>":
password: "<your password>"
dhcp4: no #static IP assignment