Wi-Fi-Signal „Pipe“ über Ethernet-Kabel

8

Derzeit sind die Ethernet-Ports in dem Gebäude, in dem ich arbeite, nicht verfügbar, aber das WLAN funktioniert. Ich habe einen Wi-Fi-fähigen Laptop ( Ubuntu 14.04 LTS (Trusty Tahr)) und einen nicht Wi-Fi-fähigen Workstaion ( Debian 8 (Jessie)) mit nur einem Ethernet-Stecker.

Ist es möglich, die beiden über ein Ethernet-Kabel zu verbinden und eine Netzwerkverbindung auf der Workstation herzustellen?

mbiokyle
quelle
Zweifelhaft, aber Sie können das Ethernet-Kabel direkt an Ihren Router anschließen ..
Ryekayo
Siehe diese Frage auf askubuntu - askubuntu.com/questions/359856/… . Dies setzt voraus, dass mindestens einer der Netzwerkports automatisch erkannt wird (oder Sie ein Crossover-Kabel haben).
Andy C

Antworten:

9

Ja, das können Sie, und es ist nicht einmal so schwer. Ich habe einen Laptop mit einer WLAN-Karte und einen Ethernet-Anschluss. Ich habe ein RapberryPi mit Arch Linux über ein "Crossover" -Ethernet-Kabel angeschlossen. Das ist eine besondere Sache, die Sie möglicherweise benötigen - nicht alle Ethernet-Karten können eine direkte Verbindung von Maschine zu Maschine herstellen.

Der andere schwierige Teil ist die IP-Adressierung. Es ist am besten, dies zu veranschaulichen. Hier ist mein kleines Setup-Skript. Wiederum ist enp9s0 der Ethernet-Port des Laptops und wlp12s0 das drahtlose Gerät des Laptops.

#!/bin/bash
/usr/bin/ip link set dev enp9s0 up
/usr/bin/ip addr add 172.16.1.1/24 dev enp9s0
sleep 10

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE
iptables -A FORWARD -o enp9s0 -i wlp12s0 -s 172.16.1.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

dhcpd -cf /etc/dhcpd.enp9s0.conf enp9s0

Das Skript legt eine statische IP-Adresse für die Ethernet-Karte 172.16.1.1 fest und richtet NAT durch Laden eines Kernelmoduls ein. Es aktiviert das IP-Routing (auf dem Laptop) und führt dann eine gewisse iptablesMagie aus, um Pakete von der WLAN-Karte aus dem Ethernet zu leiten und umgekehrt.

Ich habe dhcpdden Ethernet-Port ausgeführt, um IP-Adressen auszugeben, da dies vom Raspberry Pi gewünscht wird. Sie können jedoch auch eine statische Adresse auf Ihrer Workstation sowie statisches Routing, DNS-Server und NTP-Server verwenden.

Die Datei /etc/dhcpd.enp9s0.confsieht folgendermaßen aus, nur für den Fall, dass Sie diesen Weg gehen:

option domain-name "subnet";
option domain-name-servers 10.0.0.3;
option routers 172.16.1.1;
option ntp-servers 10.0.0.3;
default-lease-time 14440;
ddns-update-style none;
deny bootp;
shared-network intranet {
        subnet 172.16.1.0 netmask 255.255.255.0 {
                option subnet-mask 255.255.255.0;
                pool { range 172.16.1.50 172.16.1.200; }
        }
}

Die Wahl der IP-Adresse ist ziemlich kritisch. Ich habe 172.16.1.0/24 für das Ethernet-Kabel verwendet, das aus dem Laptop kommt. Die WLAN-Karte des Laptops enthält eine 192.161.1.0/24. Sie müssen sich die IP-Adresse des WLANs des Laptops ansehen und ein anderes Subnetz für die Ethernet-Karte auswählen. Außerdem müssen Sie eines der "falschen" oder "nicht routbaren" Netzwerke auswählen. In meinem Beispiel stammt 172.16.1.0/24 aus den offiziellen nicht routbaren IP-Adressbereichen, ebenso wie 192.168.1.0/24, ebenso wie die 10.0.0.3-Adresse dhcpd.enp9s0.conf, die für einen DNS-Server und einen NTP-Server ausgegeben wird . Sie müssen Ihren Kopf verwenden, um herauszufinden, was für Ihr Setup geeignet ist.

Bruce Ediger
quelle
PS: Es ist einfacher, um Vergebung zu bitten, als um Erlaubnis. TU es einfach.
Bruce Ediger
Dies ist eine großartige Antwort. Ich werde daran arbeiten. Vielen Dank!
Mbiokyle
0

Ist es möglich? Absolut. Sie müssen lediglich die IP-Weiterleitung oder das IP-Routing oder eine andere (einfache) Methode zum Verschieben von Paketen vom Ethernet-Anschluss des Laptops zum WLAN des Laptops und umgekehrt konfigurieren. Ist es eine gute Idee? Wahrscheinlich nicht - Ihre Netzwerkadministratoren könnten sich ein bisschen über Sie aufregen.

John
quelle
0

Laut Wikipedia, wenn einer der Ethernet-Ports Gigabit ist, funktioniert ein normales Kabel, es ist kein Cross erforderlich. Ich habe Gigabit auf beiden Seiten und ein normales Kabel funktioniert.

Die Frage wird 2016 gestellt. Ich gehe also davon aus, dass der Netzwerkmanager auf beiden Linux-Computern ausgeführt wird. Sie können die GUI verwenden, um IP-Adressen festzulegen. Wenn Sie dies nicht getan haben, haben Sie wahrscheinlich eine benutzerdefinierte Einrichtung vorgenommen und wissen, wie Sie die IP-Adresse über die Eingabeaufforderung einrichten Ich lasse diese Details weg.

Nachdem Sie eine Verbindung mit dem Kabel hergestellt haben, erhalten Sie in der GUI Namen von Netzwerkschnittstellen, die sich auf Ethernet auf Laptop und Workstation beziehen.

Angenommen, Sie möchten Workstation (und / oder Laptop nicht regelmäßig über Ethernet) regelmäßig mit anderen Netzwerkgeräten verbinden, können Sie für beide Ethernet-Schnittstellen statische IP-Adressen einrichten.

Stellen Sie Ihre statischen IPs nicht auf dasselbe Subnetz wie für Wi-Fi ein, z. B. wenn Wi-Fi 192.168.1.0/16 ist, auf 192.168.2.1 und 192.168.2.2 eingestellt ist, ist die Subnetzmaske 255.255.255.0, da sich nur die letzte 'Anzahl' von IP unterscheidet , DNS auf der Workstation sollte auf dieselbe DNS-IP eingestellt sein wie für Wi-Fi auf dem Laptop, um DNS (offene Sites nach Namen, nicht nur IP) auf der Workstation verwenden zu können.

Sie müssen die IP-Weiterleitung auf einem Laptop aktivieren:

sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'

Da Ihr Netzwerkmanager auf einem Laptop sehr wahrscheinlich davon ausgeht, dass Ethernet von besserer Qualität als Wi-Fi ist, versucht er standardmäßig, alles an ihn zu senden, und Sie verlieren das Internet, nachdem Sie Ethernet eingerichtet haben. Um wieder mit Wi-Fi arbeiten zu können, müssen Sie auf einem Laptop im Abschnitt [ipv4] der Datei, die sich auf die Ethernet-Verbindung bezieht (Name, den Sie in der Netzwerkmanager-GUI für Ethernet sehen), in der /etc/NetworkManager/Zeile zum Hinzufügen eines Standorts angeben

never-default=true

(Wenn Ihre GUI das Kontrollkästchen "Nur für Ressourcen auf dieser Verbindung verwenden" für Ethernet hat - auf meiner befindet es sich im Abschnitt "IP4" der Verbindungseigenschaften, können Sie dies stattdessen verwenden).

Angenommen, Ihre IP-Tabellenregeln bleiben standardmäßig bei AKZEPTIEREN. Ihre Pakete von der Workstation werden ins Internet geleitet, gelangen jedoch erst dann zurück zum Laptop, wenn Sie die NAT-Regel auf dem Laptop mit einem Befehl eingerichtet haben (wobei eth0 der Name sein sollte Von Ihrer Wi-Fi-Verbindung können Sie den Namen herausfinden durch sudo ifconfig):

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Wenn dies danach nicht funktioniert, starten Sie den Netzwerkmanager neu:

sudo service network-manager restart

Sie sollten fertig sein.

Alexei Martianov
quelle