Forum: PC Hard- und Software Linux - Internetzugang "filtern" mir RaspberryPI


von LinuxUser #13 (Gast)


Lesenswert?

Hallo,

ich veranstalte demnächst eine LAN und würde daher gerne den 
Internet-Zugang beschränken.

Der Plan ist das sämtlicher Internet-Traffic über das RPi läuft, das 
einfach an den Switch mit angeschlossen wird. Per DHCP wird dann die IP 
des RPi als Gateway und DNS-Server verbreitet. Das ist zwar nicht 
wirklich "sicher", aber ich bin mir sicher das keiner der Gäste an den 
IP-Einstellungen rumspielen wird bzw. das kann ;) Daher ist diese Lösung 
ausreichend.

Nur wie sorge ich nun dafür, dass das RPi nur den Traffic von Facebook, 
whatsapp, Telegram etc weiterleitet? Die IPs von den Diensten finde ich 
online, nur leider habe ich keine Ahnung wie ich das RPi einrichten muss 
:(

Könnt ihr mir da Tipps/Hilfe geben? Wäre cool ;)

Viele Grüße
LinuxUser #13

von Dr. Sommer (Gast)


Lesenswert?

Google "linux NAT router"

von Rolf Magnus (Gast)


Lesenswert?

Such mal nach iptables oder netfilter.

von Dr. Sommer (Gast)


Lesenswert?

Rolf Magnus schrieb:
> Such mal nach iptables oder netfilter.
Damit kann man alles und jedes machen; da lieber direkt nach 
(NAT-)Routing suchen...

von nochwas (Gast)


Lesenswert?

Der RPi muss dann 2 Ethernet Schnittstellen haben, und den gesammten 
Traffic bewaeltigen.. Viel Glueck. Ich wuerd einen fertigen Router 
verwenden. Die lassen sich dann per Weboberflaeche programmieren, resp 
setzen.

von LinuxUser #13 (Gast)


Lesenswert?

nochwas schrieb:
> Der RPi muss dann 2 Ethernet Schnittstellen haben, und den gesammten
> Traffic bewaeltigen.

Das glaube ich nicht... Klar die Variante die ich im Kopf habe lässt 
sich durch ändern des Gateways und DNS-Servers einfach austricksen, aber 
ich kann davon ausgehen dass das niemand machen wird.

Und beim Traffic, da reden wir im Bereich von 1-2 Mbits, also insgesamt 
(rein und raus) von nicht mals 5 Mbits... wenn dass das RPi nicht 
schafft dann weiß ich auch nicht weiter ;)

von Jürgen D. (poster)


Lesenswert?

Die CPU auf der RPi hat ja selber kein Ethernet.
Der Netzwerkkontroller hängt da am internen USB Hub.
Du kannst da natürlich weitere Kontroller dran anschließen um weitere 
Netzwerkanschlüsse zu realisieren.
Die teilen sich aber alle den USB Bus was wohl den Durchsatz recht 
drosseln wird.
Ich habe die RPi mal als NAS probiert mit externer USB Festplatte, da 
gab es das gleiche Problem. Die Datenraten waren wirklich unterirdisch.

von Robert D. (d0rni)


Lesenswert?

ich würde auch wie "nochwas" bereits schrieb, einen fertigen Router 
benutzen. Da sind Portfilter, DHCP und co. bereits fix und foxi 
vorhanden. Und mit nem Passwort sichert man den ja auch. Wobei dann auch 
WLAN für die ganzen Smartphones bereitgestellt wird, da du ja auch 
Whatsapp ansprachst. Willst du dann auch auf der LAN auf Onlineservern 
zocken?

von LinuxUser #13 (Gast)


Lesenswert?

Jürgen D. schrieb:
> Ich habe die RPi mal als NAS probiert mit externer USB Festplatte, da
> gab es das gleiche Problem. Die Datenraten waren wirklich unterirdisch.

Das kenne ich auch, aber ich denke ich habe was grundlegend 
verschiedenes vor. Schon nur weil mir Datenraten von insg. 5Mbits auf 
der Ethernet-Schnittstelle reichen und das sollte über USB 2.0 dicke 
gehen.

Das Problem ist das ich keinen Router oder sonst was nehmen kann, da ich 
nichts zwischen Internet <-> Nutzer schalten kann.

Hier mal eine grobe Skizze, alles ist 1000Mbits, die Verbindung zum 
Internet ist nicht veränderbar:

INTERNET ------- SWITCH ------ DOSE -> LAN-GÄSTE ÜBER SWITCH
                    |
                    |-- DOSE -> RPi
                    |
                    |-- DOSE -> LAN-GÄSTE ÜBER SWITCH
                    |
                    |
                 SERVER

Auf dem Server liegen viele Daten/Spiele, die wir brauchen. Daher will 
ich nicht den kompletten Verkehr durch einen Router leiten, da der sonst 
wohl zusammenbrechen würde.
Daher ist mein Plan per DHCP als Gateway die IP des RPi zu verbreiten, 
und das RPi dann den Internet-Verkehr zu den erlaubten IPs weiterleiten 
zu lassen. Nur leider bin ich immer noch nicht schlauer wie ich das 
anstelle... mit nur einer Netzwerkschnittstelle :(

von Hans Ulli K. (Gast)


Lesenswert?

LinuxUser #13 schrieb:
> Daher ist mein Plan per DHCP als Gateway die IP des RPi zu verbreiten,
> und das RPi dann den Internet-Verkehr zu den erlaubten IPs weiterleiten
> zu lassen. Nur leider bin ich immer noch nicht schlauer wie ich das
> anstelle... mit nur einer Netzwerkschnittstelle :(

Das mit einer Schnittstelle ist eigentlich kompletter Blödsinn.
Jeder der sein Interface manuell per ifconfig oder was auch immer 
einstellen kann, ist es möglich deine Config zum Umgehen.

Außerdem hast du schon einen DHCP Server in deinem Netz ??
Wenn ja, wird es ein wenig lustig, wenn sich zwei DHCP Server um die 
User streitren.

sonst wenn du es machen willst, Stichwort ist "alias Interface"

https://wiki.debian.org/NetworkConfiguration

von Jürgen D. (poster)


Lesenswert?

Wen du nur ein Interface benutzen möchtest und dein Switch da mitspielt 
kanst du die mal Gedanken über getagte Vlans machen.
hier mal was zum Einstieg:
http://www.sbprojects.com/projects/raspberrypi/vlan.php

von Bastian (Gast)


Lesenswert?

Hallo,
bei mir sorgt ein Beaglebone mit Squid als Proxyserver für die Internet 
Kommunikation. Verbunden ist das BB nur über die Ethernet Buchse, keine 
Zweite Lan-Karte.
Laufen tut das System von einer USB-Festplatte, da der erste Versuch 
nach ca 2Wochen mit einer beschädigten SD-Karte geendet hat.

Einen Geschwindigkeitsnachteil durch den Proxy konnte ich nicht 
feststellen(2000er DSL).

Der PC macht keine Probleme. Probleme gibt es mit Android, da nicht alle 
Apps die Benutzung eines Proxy beherrschen.

Helfen kann da die App ProxyDroid. Grundsätzlich funktioniert damit 
Whatsapp, gefühlt kommen die Nachrichten aber verzögert an.

von LinuxUser #13 (Gast)


Lesenswert?

Jürgen D. schrieb:
> Wen du nur ein Interface benutzen möchtest und dein Switch da mitspielt
> kanst du die mal Gedanken über getagte Vlans machen.

Dazu habe ich auch schon was im Internet gefunden, jedoch spielt da 
leider der Switch nicht mit :( Das wäre wohl auch die extrem sichere 
Lösung gewesen aber naja, meine Lösung reicht auch die Gäste wissen 
vermutlich nicht einmal was Gateway und DNS-Server ist^^

Bastian schrieb:
> bei mir sorgt ein Beaglebone mit Squid als Proxyserver für die Internet
> Kommunikation. Verbunden ist das BB nur über die Ethernet Buchse, keine
> Zweite Lan-Karte.

Das klingt interessant. Aber muss ich dann nicht von Hand an allen 
Clienst einen Proxy einrichten? Oder kann ich sowas auch über DHCP 
verbeiten?

Bastian schrieb:
> Der PC macht keine Probleme. Probleme gibt es mit Android, da nicht alle
> Apps die Benutzung eines Proxy beherrschen.

Das ist dann schon eher problematisch, ich habe keine Lust alle Handys 
von Hand zu konfigurieren...


Wenn ich google finde ich viel, ich muss wohl das Interface intern 
"zweiteilen" und zwei IPs zuweisen, eine ist die, die "online" gehen 
kann und die andere ist die, die als Gateway verbreitet wird. Danach 
muss ich mit iptables bzw. ipmasq dafür sorgen, das vom einem Interface 
die Pakete zum Internet-Interface weitergeleitet werden. Nur habe ich 
noch keine Ahnung wie ich da Regeln einbauen kann, was weitergeleitet 
werden darf und was nicht :(

von Bastian (Gast)


Lesenswert?

p.s.  Der Internet Zugang wurde in der Fritzbox über die Kindersicherung 
nur für das Beaglebone erlaubt.

von nochwas (Gast)


Lesenswert?

Das Konzept ist Muell. Vergiss es so.

von Dr. Sommer (Gast)


Lesenswert?

Ich hab das früher™ immer so gemacht:
Uraltes Notebook mit Linux drauf genommen, eine Ethernet-Karte an den 
DSL-Router (sei diese hier eth0), die andere an einen Switch (hier 
eth1), und an den die Gäste:
1
+------------+   +--------------------+    +--------+
2
| DSL-Router +---|eth0| Notebook |eth1+----+ Switch +--Gäste
3
+------------+   +--------------------+    +--------+
Am Linux folgendes eingegeben:
1
ifconfig eth0 192.168.0.42 # Externe IP
2
route add default gw 192.168.0.1 dev eth0 # Uplink = DSL-Router einstellen
3
ifconfig eth1 192.168.1.1 # Interne IP
4
# Forwarden erlauben
5
echo 1 > /proc/sys/net/ipv4/ip_forward
6
for f in /proc/sys/net/ipv4/conf/*/rp_filter ; do echo 1 > $f ; done
7
# NAT erlauben
8
iptables -F
9
iptables -t nat -F
10
iptables -P INPUT ACCEPT
11
iptables -P OUTPUT ACCEPT
12
iptables -P FORWARD ACCEPT
13
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Dann allen Gästen eine IP im 192.168.1.0/24er Netz geben, bei denen den 
Default gateway 192.168.1.1 und DNS-Server 192.168.0.1 einstellen 
(=DSL-Router). Dann kann man in iptables in der FORWARD-Chain nach 
belieben filtern, und umgehen geht eigentlich nur noch mit Tunneln. Als 
extra Luxus kann man dann einen DHCP-Server auf das Linux klatschen um 
die IP-Zuteilung zu automatisieren, HTTP/Samba-Server zum Dateien 
(=SpielXY.iso) verteilen etc.

Vorteil dieser Methode ist dass man wegen NAT keinen Zugriff auf den 
DSL-Router braucht, dafür aber Port-Forwarding etwas schwierig ist und 
man vom normalen Netz quasi keinen Zugriff auf das Gäste-Netz hat. 
Selbst mein altes Notebook hat das damals immer prima mitgemacht und es 
war mehr als schnell genug um die Internetverbindung auszulasten.

https://wiki.gentoo.org/wiki/Home_Router Hier steht einiges dazu.

von abc (Gast)


Lesenswert?

Lol, macht ihr euch das kompliziert.

Billigen Router mit OpenWrt+Luci nehmen. Zum Beispielen einen TP-WR841N. 
Das Ding kostet 18€.

Auf der WAN-Seite die IP-Adresse per DHCP-Client beziehen lassen.

Auf LAN Seite einen DHCP-Server IP Verteilen lassen.

Folgendes Tool aus den bestehenden OpenWRT-Repositorys installieren. 
Funktioniert ohne weiteres Basteln:

http://wiki.freifunk.net/P2pblock


Gesamtaufwand inklusive Testen 20-30 Minuten.

von Dr. Sommer (Gast)


Lesenswert?

abc schrieb:
> Gesamtaufwand inklusive Testen 20-30 Minuten.
Das ist doch viel zu einfach da lernt man ja gar nicht wie man iptables 
bedient etc ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.