NAT von priv. Netz ins Freifunk: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 146: | Zeile 146: | ||
Ich wünsche mir ein Review dieser Installation da ich mir selbst nicht sicher bin ob ich alle eventualitäten beachtet habe, sollte jemand ein Fehler auffallen bitte unbedingt melden! | Ich wünsche mir ein Review dieser Installation da ich mir selbst nicht sicher bin ob ich alle eventualitäten beachtet habe, sollte jemand ein Fehler auffallen bitte unbedingt melden! | ||
== Mit Fritzbox und Raspberry Pi == |
Version vom 26. Mai 2017, 12:28 Uhr
Diese Seite befindet sich noch im Entwurfsstadium.
Hilf mit sie zu verbessern!
Ich wünsche mir ein Review dieser Installation da ich mir selbst nicht sicher bin ob ich alle eventualitäten beachtet habe, sollte jemand ein Fehler auffallen bitte unbedingt melden!
Schon lange hat es mich gestört, das man von seinem Privaten Netzwerk nicht ins Freifunknetz kommt. In letzter Zeit haben einige Gespräche eine schöne Lösung ergeben, die ich gestern Abend umgesetzt habe.
Wichtige Informationen
- Der eigene DSL/Kabel Router wird zu einem reinen Internetrouter degratiert, darüber läuft kein WLAN mehr!
- Es wird ein weiterer OpenWRT Router benötigt (u.U. geht auch alles auf einem Gerät wird dann aber komplizierter), ich hab günstig einen wdr4300 geschossen, da dieser auch 5GHz kann, es geht aber auch mit 841er o.ä. man braucht nur mindestens 3 Ethernetports.
- Das ganze ist nicht wunderschön, so mache ich ins Internet z.b. doppeltes NAT erst der OpenWRT Router und dann nochmals der Telekomrouter. Für meine Zwecke ist dies aber vollkommen ausreichen es wird vielleicht eklig wenn man Portforwarding einrichten möchte (aus dem Internet ins private Netz)
- Aus dem Freifunknetz kann das private Netz nicht erreicht werden, es kann aber wie bei einem Internetrouter mit Portforwarding gearbeitet werden. Bildlich gesehen ist hier das "Freifunknetz ein Internet", unser OpenWRT Router macht mit dem Freifunknetz nichts anderes als jeder 0815 Internetrouter auch mit dem Internet.
- Man ist in keine Hood direkt verbunden, das heißt es lassen sich gar keine fdff:: oder fe80:: IPv6 Adressen auflösen, man kommt nur per IPv4 Adressen ins Freifunknetz!
Installationsschema
Einrichtung
- OpenWRT flashen
- OpenWRT grundsätzlich einrichten, Passwort setzen, WLAN anlegen
- DHCP Server konfigurieren, als DNS forwarder sollte ein Freifunk Gateway eingetragen werden sowie ein anderer DNS Server (z.b. 8.8.8.8), somit dürfte auch interne fff.community Namen auflösbar sein.
- Im LuCi unter Network -> Switch gucken welcher Port der Clientport zum Freifunkrouter ist (Netzwerkkabel anstecken und gucken welcher Port als belegt angezeigt wird). Unten bei VLAN auf Add klicken und ein neues VLAN anlegen (bei mir gab es bereits VLAN1 und VLAN2 das neue wurde somit VLAN3). Der Port der zum Freifunkrouter geht aus den anderen VLANs herausnehmen (auf off stellen) und im neu angelegten VLAN auf untagged stellen, sowie den Port zur CPU auf tagged. Alles abspeichern.
- 1. Im LuCi unter Network -> Interfaces ein neues Interface erstellen "Add new Interface". Irgendeinen Namen ("Freifunk") und auf static adress stehen lassen. Als Interface des oben erzeugte VLAN benutzen.
2. Beim "Common Configuration" unter "General Setup" bei IP-Adresse die zuvor reservierte IP-Adresse eintragen. Diese sollte aus der eigenen Hood sein. Unter Gateway und DNS wieder die Daten von vorhin (DHCP und DNS Server) eingeben. 3. Unter Advanced Settings bei "Use gateway metric" eine 1 eintragen. 4. Unter Firewall Settings den Kreis bei "unspecified -or- create" anklicken und einen Namen eingeben ("Freifunk").
Das ganze abspeichern, es sollte nun ein neues Interface ethX.Y entstanden sein, wenn das Netzwerkkabel bereits im Freifunkrouter steckt, sollten darüber auch bereits Daten fliesen.
- Unter Network -> Static Routes muss noch eine Route ins Freifunknetz angelegt werden, auf Add klicken bei Interface das Interface das wir zuvor angelegt haben auswählen, bei Host-IP or Network geben wir 10.0.0.0/8 ein, alles abspeichern. Wenn man auch Zugang zum dn42 haben möchte, muss man als weitere statische Route noch 172.20.0.0/14 eintragen.
- LuCi -> Network -> Firewall. Bin mir jetzt nicht mehr sicher wie das standartmäßig aussieht, ich glaube aber falsch. Es muss so angepasst werden:
Es ist ein recht blödes herumgeklicke bis man das so hinbekommen hat, teilweise geht danach erstmal gar nichts mehr richtig, ein reboot hilft da dann.
Wäre schön wenn jemand der das frisch einrichtet noch Schritt für Schritt protokolliert, ich hab es leider schon fertig hier stehen und weiß nicht mehr was man alles tun musste um dahin zu kommen.
Die Firewall sorgt dafür:
- lan wird auf Freifunk und WAN genattet. Da WAN die bessere Metrik hat, wird zuerst immer WAN verwendet, wenn WAN nicht erreichbar ist oder ein Zugriff auf 10.0.0.0/8 erfolgen soll (static routes oben) wird auf Freifunk genattet.
- WAN -> rejectet jeglicher Zugriff von WAN auf den Router wird blockiert
- Freifunk -> rejectet jeglicher Zugriff von Freifunk auf den Router wird blockiert.
Achtung!
Da der private Router am Clientport des Freifunknetzes hängt, kann er unter umständen Router-Advertisements aus dem Freifunknetz erhalten. Es können dadurch unschöne Effekte entstehen (bei mir ist zeitweise sogar der priv. OpenWRT Router dadurch regelmäßig abgestürzt und hat neu gebootet!). Es macht daher Sinn auf den Freifunkrouter die RAs auf das eth0.1 (=Clientports am Freifunkrouter) zu blocken.
ebtables -A OUTPUT -p IPv6 -o eth0.1 --ip6-proto ipv6-icmp --ip6-icmp-type router-advertisement -j DROP
Bei der Geschichte bin ich mir noch ziemlich unsicher hatte damit aber starke Probleme. Bitte noch nicht 100%ig drauf verlassen was hier steht, gerne auch Bestätigung!
ToDo
- Lässt sich evtl. in der eigenen Hood das fdff:: routen? Wer sich hier mit IPv6 auskennt, bitte melden!
Installation prüfen
Einen PC an den privaten Switch oder an einen der freien Ports des Router anschließen. Ebenso kann bzw. sollte das ganze auch vom neu geschaffenen WLAN aus geprüft werden.
Prüfen ob Internet über eigenen Anschluss geht:
C:\Users\Christian>tracert google.de Routenverfolgung zu google.de [172.217.19.195] über maximal 30 Abschnitte: 1 <1 ms <1 ms <1 ms OpenWrt.lan [192.168.1.1] 2 <1 ms <1 ms <1 ms 192.168.2.1 3 17 ms 16 ms 16 ms 217.0.116.200 4 17 ms 17 ms 16 ms 87.190.170.174 ...
192.168.1.1 ist der OpenWRT Router, 192.168.2.1 ist mein Telekomrouter und von da geht es direkt ins Internet.
Prüfen ob das Freifunk geht, am besten mindestens 2 Hoods prüfen:
C:\Users\Christian>tracert 10.50.32.4 Routenverfolgung zu 10.50.32.4 über maximal 30 Abschnitte 1 <1 ms <1 ms <1 ms OpenWrt.lan [192.168.1.1] 2 36 ms 35 ms 34 ms 10.50.32.4 Ablaufverfolgung beendet. C:\Users\Christian>tracert 10.50.40.10 Routenverfolgung zu 10.50.40.10 über maximal 30 Abschnitte 1 <1 ms <1 ms <1 ms OpenWrt.lan [192.168.1.1] 2 34 ms 34 ms 35 ms 10.50.32.4 3 39 ms 39 ms 38 ms 10.50.40.10 Ablaufverfolgung beendet. C:\Users\Christian>tracert 10.50.132.10 Routenverfolgung zu 10.50.132.10 über maximal 30 Abschnitte 1 <1 ms <1 ms <1 ms OpenWrt.lan [192.168.1.1] 2 35 ms 34 ms 34 ms 10.50.32.4 3 75 ms 76 ms 73 ms 10.50.252.10 4 133 ms 133 ms 134 ms 10.50.252.89 5 135 ms 136 ms 137 ms 10.50.132.10 Ablaufverfolgung beendet. #ist ja dämlich das ich von mir zu Hetzner nach Rumänien zurück ins FabLab gehe, ich braucht mal noch ne direkte Verbindung ;)
Alle Hoods werden vom OpenWRT Router direkt ins Freifunknetz genattet welches dann weiter routet und sind erreichbar. Zur Sicherheit kann man jetzt noch prüfen ob aus dem Freifunknetz der eigene Router oder das eigene Netz erreichbar ist, da es aber keinen direkten Weg gibt, wüsste ich nicht mal welche IPs man da wie prüfen müssten. Es ist z.b. schon der OpenWRT Router nicht aus dem Freifunknetz erreichbar:
christiand@fff-gw-cd1:~$ curl 10.50.32.70 curl: (7) Failed to connect to 10.50.32.70 port 80: Connection refused christiand@fff-gw-cd1:~$ ping 10.50.32.70 PING 10.50.32.70 (10.50.32.70) 56(84) bytes of data. From 10.50.32.70 icmp_seq=1 Destination Port Unreachable From 10.50.32.70 icmp_seq=2 Destination Port Unreachable ^C --- 10.50.32.70 ping statistics --- 2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 999ms christiand@fff-gw-cd1:~$
Linux User kennen ihre Befehle garantiert selbst, die führ ich hier nicht auf.
Ich wünsche mir ein Review dieser Installation da ich mir selbst nicht sicher bin ob ich alle eventualitäten beachtet habe, sollte jemand ein Fehler auffallen bitte unbedingt melden!