mikrocontroller.net

Forum: PC Hard- und Software Raspberry Pi als Router, von WLAN zu LAN (PC-->LAN-->RPI-->WLAN-->INET) )


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich weiß dass es schon viele Beiträge zu diesem Thema gibt, hier, wie 
auch im restlichen Internet.

Ich habe auch (ohne Erfolg) versucht mehrere Ansätze an meine 
Anforderung anzupassen.

Ich möchte/muss um mit mehreren PC's zukünftig noch ins Internet zu 
kommen, über WLAN gehen.

Was ich habe ist ein Raspberry Pi 3B mit dem ich übr WLAN ins I-Net 
komme.
Nun muss dises über den LAN-Port des Raspberry Pi an die PCs 
weitergereicht werden.

Ich stelle es mit so vor, dass die PC's in einem Netzwerk hängen z.b. 
192.168.0.xx
und dann über den Pi z.b. (192.168.0.1), welcher hier wohl als Router 
zum WLAN fungieren muss, ins Internet können.

Wobei das Pi über WLAN natütlich wiederrum über einen Router ins I-Net 
geht...

PC's --> LAN --> RPI --> WLAN --> Router --> Internet

Hat jemand soetwas schonmal gemacht oder noch besser, hat jemand eine 
Anleitung oder ausreichend genaue Beschreibung, wie hier vorgegangen 
werden muss?

Es gibt wirklich sehr viele Tutorials/Videos/Beschreibungen in dem ein 
RPI als wlan-Router eingestezt wird, mehrere davon habe ich auch mit 
entsprechenden anpassungen (wie es nach meiner Ansicht abzuändern ist) 
ausprobiert. Dabei schaffe ich es allenfalls dass das RPI selbst nicht 
mehr ins WLAN kommt...

Wäre wirklich klasse wenn jemand hier einen Vorschlag hat oder weiter 
helfen könnte.

Vielen Dank jetzt schonmal, grüße,
Matze

Autor: Base64 U. (6964fcd710b8d77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So mal grundsätzlich; muss das so oder was sind die Beschränkungen wieso 
du das so machen willst?

Eventuell gibts da eine weniger fehleranfällige und schnellere Lösung.

Ansonsten den Raspi ins wlan hängen und Ethernet so ein stellen das es 
mit anderen geteilt wird. Dabei wird im einfachsten hald ein anderes 
subnetz aufgemacht und zwischen denen herum geroutet: 
https://www.instructables.com/id/Share-WiFi-With-Ethernet-Port-on-a-Raspberry-Pi/

Autor: Alopecosa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Openwrt.

Gibts auch für den Pi und dann den Pi 'einfach' als WiFi Client.

Und 'dafür' gibt es nun wirklich zuhauf 'funktionierende' tutorials ...

Autor: Tux (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matze schrieb:
> Wäre wirklich klasse wenn jemand hier einen Vorschlag hat oder weiter
> helfen könnte.

Reicht da nicht Proxy ARP?

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Base64 U. schrieb:
> So mal grundsätzlich; muss das so oder was sind die Beschränkungen wieso
> du das so machen willst?
>
> Eventuell gibts da eine weniger fehleranfällige und schnellere Lösung.

Anderst geht es leider nicht, die Wohnung hat kein Leitungsanschluss 
hat.
Das Internet muss per WLAN vom Nachbarn bezogen werden. Und ein Kabel zu 
ziehen ist auch nicht mit Vernünftigem Aufwand möglich.

Auch möchte ich nicht 5PC's mit Wlan ausstatten, wobei 3 davon auch noch 
2 Betriebbsysteme haben...

Base64 U. schrieb:
> Ansonsten den Raspi ins wlan hängen und Ethernet so ein stellen das es
> mit anderen geteilt wird. Dabei wird im einfachsten hald ein anderes
> subnetz aufgemacht und zwischen denen herum geroutet:
> 
https://www.instructables.com/id/Share-WiFi-With-Ethernet-Port-on-a-Raspberry-Pi/

Leider gibts hir auch ein Problem, und de gibts auch noch bei der 
einzigen Zeile sie auch ich selbst nicht ganz verstehe:
sudo ip route del 0/0 dev eth0 &> /dev/null
a=`route | awk "/${wlan}/"'{print $5+1;exit}'`

Hier meint er, er könnte nicht addieren + 1, sowie dass er exit nicht 
kennt.

Alopecosa schrieb:
> Openwrt.
>
> Gibts auch für den Pi und dann den Pi 'einfach' als WiFi Client.
>
> Und 'dafür' gibt es nun wirklich zuhauf 'funktionierende' tutorials ...

Jup, werd ich versuchen wenn ich nun hier nicht weiter komme, insgesamt 
mus der Pi nach dem letzten Tutorial aber überhaupt erstmal wieder ins 
WLAN kommen...

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde eher sowas hier als Router nehmen:

https://www.amazon.de/TP-Link-TL-WR802N-Tragbar-Accesspoint-Repeater/dp/B00TQEX8BO

Kostet nicht viel, und ist einigermaßen idiotensicher per Web-Interface 
einzurichten.

fchk

Autor: Nano (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matze schrieb:
> Dabei schaffe ich es allenfalls dass das RPI selbst nicht
> mehr ins WLAN kommt...

Vielleicht hast du für die iptables Firewall entsprechende Regeln 
gesetzt, die den RPI als Router vom Internetzugriff blockt.

Autor: Matze (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frank K. schrieb:
> Ich würde eher sowas hier als Router nehmen:
>
> 
https://www.amazon.de/TP-Link-TL-WR802N-Tragbar-Accesspoint-Repeater/dp/B00TQEX8BO
>
> Kostet nicht viel, und ist einigermaßen idiotensicher per Web-Interface
> einzurichten.
>
> fchk

Insgesamt wünsche ich mir eigentlich etwas mehr als einen Router, Ich 
möchte dass RPI ja auch in seiner Funktionalität nutzen.
Dazu stelle ich mir auch noch vor, es als Webserver (LAMP) zu verwenden, 
ich habe durchaus einige Ahnung von PHP uns SQL und hab da schon einiges 
gemacht.
Z.B. einen uC über eine Webseite gesteuert(GPIO's, ADC...), da man in 
PHP ja auf die serielle Schnittstelle zugreifen kann. Grade jetzt am 
neuen Wohnort ergeben sich wieder interessante Anwendungsmöglichkeiten 
für sowas, auch soll etwas C-Code und Python darauf laufen ...
Also kurz gesagt, mir schwebt z.B. vor, ein FPGA mit einem AD-Wandler 
auszustatten, die Daten an das Pi zu übergeben, und sie per Webinterface 
abrufbar zu machen... aber dazu müsste ich erstmal meinen PC mit Vivado 
ins Netz bringen... denn sonst macht dass so eher keinen besonderen 
Sinn... aber Netzwerktechnik, insbesondere unter Linux ist bisher 
definitiv nicht meine besondere stärke... (Schluss mit dem Geschwafel)

Was mir generell Klar ist:
in
/etc/udhcpd.conf
Muss ich den Adressbereich auswählen den die Geräte bekommen die sich 
mit dem PI verbinden:
start           192.168.1.20    #default: 192.168.0.20
end             192.168.1.254   #default: 192.168.0.254
Diese IP-Addressen sollten damit ja automatisch von Pi zugewiesen 
werden.
Hier sollte es durch die 1 nicht zu Problemen kommen, da das WLAN die 
192.168.178.xx vergibt.
Das Interface an den die PC's anfrage ist natürlich:
interface       eth0
Die Zeit, wie lange die zugeteilten IP's Gültig sind muss natürlich in 
einer Datei gespeichert werden:
remaining      yes
Sonst wird noch eingestellt:
Zur Auflösung der DNS, wobei es sich hier wohl um den DNS Server von 
Gogle handelt...
opt     dns     8.8.8.8 8.8.4.4
Dass Subnetz muss natürlich passen
option  subnet  255.255.255.0
und die IP des Routers Selbst (des LAN am RPI)
opt     router  192.168.1.1
Die folgenden auszukommentieren dürfte meines erachtens nicht schaden:
#opt     wins    192.168.10.10
#option  dns     129.219.13.81   # appened to above DNS servers for a total of 3
#option  domain  local
Und die Lease-Time, ist wohl kein Problem
option  lease   864000          # 10 days of seconds



In der Datei:
/etc/default/udhcpd
Sollte man den DHCP-Dienst einschalten, also die Zeile einkommentieren:
DHCPD_ENABLED="no"



In der Datei:
/etc/network/interfaces
Der Lokale Loopback 127.0.0.0 scheint mit durchaus sinvoll
auto lo
iface lo inet loopback
und der DHCP-Server ist per WLAN angebunden:
iface wlan0 inet dhcp
Diese Schnittsteleneinstellungen scheinen sinnvoll:
allow-hotplug eth0
iface eth0 inet status
       address 192.168.1.1
       netmask 255.255.255.0
       network 192.168.1.0
       broadcast 192.168.1.255



weiterhin heißt es teilweise man soll eine Datei:
/etc/hostapd/hostapd.conf
anlegen, in der die WLAN-Parameter eingetragen werden .z.B. das WPA 
Passwort
Ich sehe es allenfalls als sinnvoll an hier das Interface anzugeben:
interface=eth0



Dann soll man in:
/etc/default/hostapd
auf die angelegte Datei verweisen
DAEMON_CONF="/etc/hostapd/hostapd.conf"



In der Datei:
/etc/sysctl.conf
muss man wohl das IPV4-Forwarding einschalten:
net.ipv4.ip_forward=1



Dann sollte man die Firewall durch die IP-Tables so Konfigurieren dass 
da auch was durchkommen kann:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
-->ich verstehe hierrunter, dass die Daten auf dem WLAN raus geschoben 
werden, da POSTROUTING
durch
iptables -L
 ergibt sich noch:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

iptables -A FORWARD -i wlan0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-->Pakete von WLAN sollen an ETH0 weitergeleitet werden.
Nun sieht es so aus:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
--> Ebenso natürlich auch von ETH0 auf WLAN0
Nun ergibt [/c]iptables -L[/c]:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

Nun macht dass mit dem Forwarding einen ganz guten Eindruck :)
Aber zweifellos ist diese Konfiguration entweder Fehlerhaft oder 
unvollständig...

Wäre echt sehr dankbar wenn ich wieder meinen Hobbys nachgehen könnte...
Sehr ihr einen Fehler? oder ein anderes Problem?

Schönen Abend noch :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.