Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
Mesquita
Beiträge: 127
Registriert: 18.10.2018 18:08:10

Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von Mesquita » 22.12.2018 18:04:52

Hallo User,
ich sitze vor einem privaten Projekt und komme seit Tagen nicht zum Ziel. Bevor ich das Problem beschreibe, hier erstmal das Szenario. Ich habe ein Haus ohne Internetanschluss und jetzt eine CAT6 Leitung (RJ45 1Gbit/s) vom Nachbarhaus, direkt von einer FritzBox 7390, verlegt. Für den Anschluss von WLAN Clients benötige ich einen AccessPoint. Ein Raspberry 3 B+ mit Debian war schnell aufgebaut und als AccesPoint nach der Anleitung: https://www.elektronik-kompendium.de/si ... 002171.htm konfiguriert. Die Anmeldung der WLAN Clients funktioniert wunderbar und der Zugang zum Internet ist vollständig gegeben.

Mein Problem ist folgendes: Ich möchte auch von außen einmal auf den Raspberry oder einen WLAN Client zugreifen. Die Weiterleitung über die FritzBox ist kein Problem. Wenn ich als WLAN Client angemeldet bin, kann ich alle Geräte im gesamten Netzwerk (Netzwerk der Frotzbox 172.30.2.X und dem WLAN Netzwerk vom Raspberry 172.30.1.X) mittel ping oä. problemlos erreichen, alle antworten. Melde ich mich aber über dan WLAN der FritzBox an, simuliere somit den Zugriff von extern, erreiche ich nur die eth0 Schnittstelle des Raspberry, ich komme nicht zur WLAN Schnittstelle wlan0 oder der WLAN Clients. Für die Administration ist dies aber notwendig für mich und so suche ich seit Stunden nach der Lösung. Der Raspberry arbeitet nach folgender Router und Firewall Konfiguration:

Code: Alles auswählen

/etc/network/interfaces
# Ethernet DHCP
# auto eth0
# iface eth0 inet dhcp

# Ethernet mit statischer Adresse
auto eth0
allow-hotplug eth0
iface eth0 inet static
address 172.30.2.22
netmask 255.255.255.0
gateway 172.30.2.20
dns-nameservers 172.30.2.20

# WLAN-Interface
allow-hotplug wlan0
iface wlan0 inet static
address 172.30.1.22
netmask 255.255.255.0

# Vorhandene Firewall-Regel löschen
up /sbin/iptables -F
up /sbin/iptables -X
up /sbin/iptables -t nat -F

# Loopback zulassen
up /sbin/iptables -A INPUT -i lo -j ACCEPT
up /sbin/iptables -A OUTPUT -o lo -j ACCEPT

# NAT und Masquerading aktivieren
up /sbin/iptables -A FORWARD -o eth0 -i wlan0 -m conntrack --ctstate NEW -j ACCEPT
up /sbin/iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
up /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# IP-Forwarding aktivieren
up sysctl -w net.ipv4.ip_forward=1
up sysctl -w net.ipv6.conf.all.forwarding=1

# hostapd und dnsmasq neu starten
up service hostapd restart
up service dnsmasq restart
Ich kann mir nur vorstellen, dass es an der FW liegt. Kann mir jemand bitte einen Tipp geben, sodass alle Pakete und Protokolle zwischen eth0 und wlan0 hin und her geroutet werden? Ich bin bei iptables nicht so fit. Sorry und vielen Dank.

Thomas

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von mat6937 » 22.12.2018 18:15:45

Mesquita hat geschrieben: ↑ zum Beitrag ↑
22.12.2018 18:04:52
Melde ich mich aber über dan WLAN der FritzBox an, simuliere somit den Zugriff von extern, erreiche ich nur die eth0 Schnittstelle des Raspberry, ich komme nicht zur WLAN Schnittstelle wlan0 oder der WLAN Clients.
Hast Du in deiner FritzBox eine statische Route (mit der IP des eth0-Interface auf dem PI, als gateway) in das Subnetz des PI konfiguriert?

Benutzeravatar
Mesquita
Beiträge: 127
Registriert: 18.10.2018 18:08:10

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von Mesquita » 23.12.2018 08:46:02

Guten Morgen Mat6937,

Deine Antwort hatte ich nicht mal bis zum letzten Satzzeichen gelesen und schon war es mir KLAR. Konnte nicht gehen...ich war so fixiert auf die FW und habe die FB ausgeblendet. Haben vielen Dank für den Tipp.

Meine letzte Aufgabe wäre jetzt noch ein Script. Ev. hast Du wieder einen Geistesblitz für mich. Die beiden Häuser stehen im Ausland, deshalb auch der Zugriff von extern. Der Anschluss geschieht über DSL mit Zwangstrennung und neuer IP. Allerdings nicht wie hier einmal am Tag, sondern unregelmäßig über Tage/Wochen hinweg. Ich benötige die aktuelle externe IP der FB, müsste diese auslesen und dann per Mail versenden. Die Frage für mich ist die Ermittlung der FB externen IP über den Raspberry, Auswertung und Versand ist kein Problem. Auf die FB habe ich keinen vollen Zugriff. Hast Du eine Idee?

Thomas

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von mat6937 » 23.12.2018 09:36:18

Mesquita hat geschrieben: ↑ zum Beitrag ↑
23.12.2018 08:46:02
Ich benötige die aktuelle externe IP der FB, müsste diese auslesen und dann per Mail versenden. Die Frage für mich ist die Ermittlung der FB externen IP über den Raspberry, Auswertung und Versand ist kein Problem.
Das geht mit z. B.:

Code: Alles auswählen

dig +short myip.opendns.com @208.67.222.222
oder

Code: Alles auswählen

stun -v stun.ekiga.net 2>&1 1>/dev/null | grep MappedAddress | sed -e 's/.*MappedAddress = //' -e 's/:.*//' | uniq
oder

Code: Alles auswählen

curl -B4 http://checkip4.spdyn.de
oder

Code: Alles auswählen

wget -4 -O - http://myip.dnsomatic.com/ 2> /dev/null
oder gleichwertig bzw. mit noch einigen anderen Diensten auch.

Benutzeravatar
Mesquita
Beiträge: 127
Registriert: 18.10.2018 18:08:10

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von Mesquita » 26.12.2018 09:53:53

Hallo Mat6937,

das Projekt geht erst in 2019 weiter. Ich hatte aber noch Probleme mit der statischen Route, es ging und ging mal nicht. Letztendlich war es ein Neustart der FritzBox 7390, nun läuft das Netzwerk stabil.

Thomas

Benutzeravatar
ingo2
Beiträge: 1124
Registriert: 06.12.2007 18:25:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Wo der gute Riesling wächst

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von ingo2 » 26.12.2018 18:22:15

Hallo Thomas,

es geht auch direkt aus der FritzBox. Dort kannst du auch die WAN-IP auslesen.
Damit man die WAN-IPv4 auslesen kann, muß dieses im Router explizit erlaubt werden:
Heimnetz -> Netzwerk -> Statusinformationen über UPnP übertragen
Das ist kein Sicherheitsrisiko, Zugriff ist nur lesend.
Die Hilfe dazu (von AVM) sagt:
Der UPnP-Dienst ermöglicht somit die Überwachung der FRITZ!Box von einem angeschlossenen Computer aus. Die Funktion hat keinen Einfluss auf Sicherheitseinstellungen der Fritz!Box.
Hier das Script dafür:

Code: Alles auswählen

#!/bin/sh

echo "Using Fritz!Box:"
ROUTER="192.168.xxx.1"
PORT="49000"
curl http://$ROUTER:$PORT/igdupnp/control/WANIPConn1 -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress" -d "<?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Body> <u:GetExternalIPAddress xmlns:u='urn:schemas-upnp-org:service:WANIPConnection:1' /> </s:Body> </s:Envelope>" -s | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'
Einen guten Rutsch,
Ingo

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von mat6937 » 26.12.2018 18:31:27

ingo2 hat geschrieben: ↑ zum Beitrag ↑
26.12.2018 18:22:15
Hier das Script dafür:

Code: Alles auswählen

#!/bin/sh
echo "Using Fritz!Box:"
ROUTER="192.168.xxx.1"
PORT="49000"
curl http://$ROUTER:$PORT/igdupnp/control/WANIPConn1 -H "Content-Type: text/xml; charset="utf-8"" -H "SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress" -d "<?xml version='1.0' encoding='utf-8'?> <s:Envelope s:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'> <s:Body> <u:GetExternalIPAddress xmlns:u='urn:schemas-upnp-org:service:WANIPConnection:1' /> </s:Body> </s:Envelope>" -s | grep -Eo '\<[[:digit:]]{1,3}(\.[[:digit:]]{1,3}){3}\>'
BTW: Mit welcher Firmware-Version funktioniert dein Script?

EDIT:

Z. B. mit 6.52, Zugang vorhanden aber keine Ausgabe mit curl für die IP-Adresse:

Code: Alles auswählen

:~ $ nc -zv 192.168.178.1 49000
Connection to 192.168.178.1 49000 port [tcp/*] succeeded!
BTW: Du weißt schon, dass AVM das für jede Firmware-Version ändert?

ReturnToSender
Beiträge: 123
Registriert: 23.10.2018 18:06:09

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von ReturnToSender » 26.12.2018 18:46:10

ingo2 hat geschrieben: ↑ zum Beitrag ↑
26.12.2018 18:22:15
Das ist kein Sicherheitsrisiko, Zugriff ist nur lesend.
Ich habe mir das gerade auch angesehen, weil ich dachte, genau das hast du gesucht. Aber was das Sicherheitsrisiko angeht, gibt es anscheinend unterschiedliche Meinungen: https://www.pc-magazin.de/ratgeber/upnp ... 95030.html . Das habe ich gefunden und nun denke ich , ich lass es doch lieber.

Benutzeravatar
ingo2
Beiträge: 1124
Registriert: 06.12.2007 18:25:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Wo der gute Riesling wächst

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von ingo2 » 26.12.2018 18:56:38

mat6937 hat geschrieben: ↑ zum Beitrag ↑
26.12.2018 18:31:27
BTW: Mit welcher Firmware-Version funktioniert dein Script?
Also, das Scriupt habe ich im Juni 2017 erstellt. Weiß nicht mehr welche FritzOS-Version da aktuell war. Aber bis heute funktioniert es hier unter 7.0.1 auf einer 7430.

So, ich habe mal etwas recherchiert:
1. Das Script wurde erstellt als FrritzOS 6.80 aktuell war.
2. Zusätzlich mußte ich noch installieren (unter Stretch):
Debianphp-cli, Debianphp-xml
Das zieht diese Pakete als Abhängigkeit nach:
php-common php7.0-cli php7.0-common php7.0-json php7.0-opcache php7.0-readline

Deshalb hat's wohl bei dir nicht geklappt.
Zuletzt geändert von ingo2 am 26.12.2018 19:32:48, insgesamt 3-mal geändert.

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von mat6937 » 26.12.2018 19:01:30

ingo2 hat geschrieben: ↑ zum Beitrag ↑
26.12.2018 18:56:38
Aber bis heute funktioniert es hier unter 7.0.1 auf einer 7430.
Ja, das glaube ich dir auch, ... aber wie bereits geschrieben. mit der 6.52 geht es nicht und das Script wird mit aller Wahrscheinlichkeit auch immer angepasst werden müssen (bei einer neuen Firmware).

Das nutzt nichts, wenn man z. B. 3 Wochen in Urlaub ist, und bei einem Zwangsrouter (FritzBox), der Internet-Provider, in der 1. Urlaubswoche eine neue Firmware auf den Zwangsrouter (FritzBox) flasht.

Benutzeravatar
ingo2
Beiträge: 1124
Registriert: 06.12.2007 18:25:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Wo der gute Riesling wächst

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von ingo2 » 26.12.2018 20:23:38

mat6937 hat geschrieben: ↑ zum Beitrag ↑
26.12.2018 19:01:30
... aber wie bereits geschrieben. mit der 6.52 geht es nicht und das Script wird mit aller Wahrscheinlichkeit auch immer angepasst werden müssen (bei einer neuen Firmware).
So, ich habe oben noch was nachgetragen, es werden noch php-Pakete benötigt.
Das ganze ist nicht von mir entwickelt, wurde aus den fb-tools abgeleitet, Quelle s. http://www.mengelke.de/Projekte/FritzBoxTools. Nach dieser Site wurde es auch erfolgreich mit FritzOS 6.50 getestet - und wie gesagt, geht heute noch.

Benutzeravatar
ingo2
Beiträge: 1124
Registriert: 06.12.2007 18:25:36
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Wo der gute Riesling wächst

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von ingo2 » 26.12.2018 22:07:34

ReturnToSender hat geschrieben: ↑ zum Beitrag ↑
26.12.2018 18:46:10
ingo2 hat geschrieben: ↑ zum Beitrag ↑
26.12.2018 18:22:15
Das ist kein Sicherheitsrisiko, Zugriff ist nur lesend.
Ich habe mir das gerade auch angesehen, weil ich dachte, genau das hast du gesucht. Aber was das Sicherheitsrisiko angeht, gibt es anscheinend unterschiedliche Meinungen: https://www.pc-magazin.de/ratgeber/upnp ... 95030.html . Das habe ich gefunden und nun denke ich , ich lass es doch lieber.
Den Punkt, den ich aktiviert habe, kannst du von außen garnicht erreichen - der Port ist zu.
Kannst du gern selbst testen bei Heise: https://www.four.heise.de/security/dien ... ?scanart=1

Was du meinst, ist sicher diese Option:
Zugriff für Anwendungen zulassen

Diese Einstellung ermöglicht Anwendungen, Einstellungen der FRITZ!Box zu lesen und zu bearbeiten. Dazu gehören beispielsweise FRITZ!App Fon für Smartphones, das FRITZ!Box AddOn für Internet Browser oder ein Einrichtungprogramm Ihres Diensteanbieters. Die Übertragung erfolgt nach dem Standard TR-064.

Für den Zugriff muss die Anwendung sich an der FRITZ!Box anmelden. Unter "System > FRITZ!Box-Benutzer" verwalten Sie die zugehörigen Anmeldedaten. Um eine Anwendung über das Internet anzumelden, muss ein FRITZ!Box-Benutzer mit Erlaubnis für den Zugang aus dem Internet genutzt werden.
Den solltest du tunlichst abschalten - und das wird auch nicht zum auslesen der IP benötigt.

Und die FB aus dem Heimnetz abfragen ist allemal sicherer als alle ½ Stunde einen externen Server zu fragen. Ich selbst benutze die Abfrage für meinen DynDNS-Dienst. Der wird nicht von der FB unterstützt und deshalb läuft der Client auf meinem Serverlein (zusammen mit OpenVPN, unbound als recursiver Resolver mit DNS-Filter, ...).

mat6937
Beiträge: 2953
Registriert: 09.12.2014 10:44:00

Re: Firewall und Routing auf einem Debian AccessPoint (Raspberry)

Beitrag von mat6937 » 26.12.2018 23:32:02

ingo2 hat geschrieben: ↑ zum Beitrag ↑
26.12.2018 20:23:38
Nach dieser Site wurde es auch erfolgreich mit FritzOS 6.50 getestet - und wie gesagt, geht heute noch.
Ja, ... ich wollte damit nur sagen, dass man das Script bzw. curl für jede neue Firmware der FritzBox, evtl. wieder anpassen muss. Wenn man immer Zugriff auf das Script hat ist das ja kein Problem, aber diesen Zugriff hat man nicht immer.

Antworten