Konfigurieren Sie die Verbindungsfreigabe mit einer bestimmten IP-Adresse

11

Bearbeiten - eine präzisere Version der Frage:

Bei Verwendung der Verbindungsfreigabe möchte ich, dass der Netzwerkmanager das Subnetz 192.168.254 anstelle des Subnetzes 10.42.0 verwendet. Ist das möglich?

Hintergrund :

Ich muss meine drahtlose Internetverbindung (auf einem Ubuntu-Laptop) mit einem RasPi teilen, das über Ethernet mit dem Laptop verbunden ist.

Alles funktioniert einwandfrei, indem eth0 als "Für andere Computer freigegeben" konfiguriert wird (an vielen Stellen dokumentiert, zum Beispiel hier ).

Bei Verwendung dieses Setups lautet meine IP-Adresse, wenn eine Verbindung zum RasPi besteht 10.42.0.1. Das RasPi nimmt eine andere Adresse in diesem Subnetz auf. Alles funktioniert super!

Aufgrund der Konfiguration des RasPi (für die Arbeit mit mehreren anderen Systemen) möchte ich eth0verwenden 192.168.254.1. Wenn ich eth0 für die manuelle Verwendung konfiguriere 192.168.254.1: Manuelle eth0-Konfiguration

Das RasPi verbindet sich mit meinem Laptop und ich kann sshhinein. Doch obwohl ich immer noch eine gültige siehe wlan0Konfiguration beim Laufen ifconfig, ich bin nicht in der Lage auf das Internet zuzugreifen (vermutlich mein Laptop versucht , zu verwenden , eth0statt wlan0).

Ich suche nach einem Weg, um entweder:

a) Verwenden Sie wlan0diese Option weiterhin, um auf das Internet zuzugreifen, wenn eth0 manuell konfiguriert wurde

b) Erzwingen Sie eth0die Verwendung einer bestimmten IP-Adresse, wenn diese mit "Für andere Computer freigegeben" konfiguriert ist.

Ich versuche, einfache Anweisungen für andere Benutzer einzurichten. Wenn möglich, möchte ich manuelle iptables-typeEinstellungen vermeiden .

jake
quelle
Es ist ziemlich schwer zu tun. Ich kann hier momentan keine Anleitung einfügen, aber ich werde sie später bearbeiten. Versuchen Sie hier: howtoforge.com/linux-basics-set-a-static-ip-on-ubuntu
TheWanderer

Antworten:

15

In Versionen vor 1.4.2 ist 10.42.0.x fest in NetworkManager codiert . Vergessen Sie die GUI-basierte Lösung oder warten Sie, bis die Fehler- / Funktionsanforderung behoben ist. Oder reparieren Sie es selbst für uns alle. Oder stimmen Sie zumindest den Fehler auf dem Launchpad ab, um eine schnellere Lösung zu erzielen.

Aktualisieren Sie entweder auf Ubuntu 17.04 mit Version 1.4.4 oder verwenden Sie den folgenden Befehl von Thomas Haller , um die Host-IP und -Klasse festzulegen.

nmcli connection modify $CONNECTION_ID +ipv4.addresses 192.168.5.1/24

wo, $CONNECTION_IDwenn über gefunden nmcli connection show. Überprüfen Sie anschließend mit nmcli connection show $CONNECTION_ID.

Adam Ryczkowski
quelle
1
Anscheinend wurde der Fehler am 14. September 2016 behoben! Es ist jetzt möglich, es über die GUI zu konfigurieren, aber es wird einige Zeit dauern, bis dies in Releases umgesetzt wird.
Hoijui
Dies wurde in Network-Manager 1.4.2 behoben. Ubuntu 17.04 hat 1.4.4. Ich habe Canonical gebeten, dies auf 16.04 LTS zurück zu portieren. bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1098362/…
Lucas
Und wie machen wir das bei neueren Versionen?
Leo
0

Ihre Konfiguration hat ein grundlegendes Problem. Ihr Gateway ist auf dieselbe IP-Adresse wie Ihre lokale IP-Adresse eingestellt.

Eine Grafik: Raspi: Verbindung zu 10.0.0.5 herstellen Raspi: Nicht in meinem Subnetz, an Gateway senden Raspi empfängt erneut eine Anfrage und antwortet mit derselben Nachricht.

Ihre Frage ist etwas verwirrend, aber es scheint, dass Ihr Laptop eine IP wie 192.168.254.2 haben sollte

Sie müssen auch die Netzwerkadressübersetzung auf dem Laptop einrichten.

Ich denke, es wäre besser, wenn Sie die beiden Schnittstellen überbrücken würden, damit das Raspi das WLAN Ihres Laptops effektiv für die Kommunikation nutzt. Führen Sie auf Ihrem Laptop Folgendes aus:

sudo -i

Das macht dich wurzeln.

apt-get update
apt-get install bridge-utils
brctl addbr br0
brctl addif br0 wlan0
brctl addif br0 eth0
ifconfig br0 10.42.0.1
ifconfig br0 netmask 255.0.0.0
ifconfig br0 up

Strg-D zum Beenden von root

Auf Raspi (verbunden mit eth0):

sudo ifconfig eth0 10.42.0.2
sudo ifconfig eth0 netmask 255.0.0.0
sudo ifconfig eth0 up
echo 'nameserver 8.8.8.8'>/etc/resolv.conf
ping 10.42.0.1
ping 8.8.8.8
ping fb.com

Die letzten drei Befehle zeigen Ihnen, über welche Art von Netzwerkzugriff Sie verfügen:

  • Wenn nur der erste Durchgang: lokales Netzwerk
  • Wenn bis zum zweiten Durchgang: Internetzugang
  • Wenn alle erfolgreich sind: Internetzugang mit DNS
Wilhelm Erasmus
quelle
Ich bin mir nicht sicher, was Sie mit meinem Gateway / meiner Adresse meinen. Ist mein Laptop nicht das Gateway für das RasPi, wenn ich meine Verbindung teile? In der manuellen Konfiguration, die ich im OP gezeigt habe, nimmt der RasPi 192.168.254.100 auf - Ich habe keine Probleme, aufgrund verschiedener Subnetze nicht kommunizieren zu können.
Jake
Eine bessere Möglichkeit, die Frage zu formulieren, könnte sein: Wenn ich meine Verbindung teile, möchte ich, dass der Netzwerkmanager das Subnetz 192.168.254 anstelle des Subnetzes 10.42.0 verwendet
jake
@ Jake Ihr Laptop ist in der Tat das Gateway. Entschuldigung, ich habe die Frage ein bisschen falsch verstanden. Ich sehe das Problem jetzt. Sie können ein route -nas root ( sudo su) und dann tun route del default gw 192.168.254.1 dev eth0oder, um genauer zu sein, die Informationen von verwenden route -n, um die del-Anweisung auszufüllen, also ist esroute del default gw <gateway> dev <Iface>
Wilhelm Erasmus