Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Gäste WLAN absichern bzw. abtrennen

2 views
Skip to first unread message

B. Sprenger

unread,
Nov 23, 2016, 11:54:56 AM11/23/16
to
Hallo zusammen,
ich habe einige Unklarheiten die fli4l nur teilweise betreffen, aber da
es ein Routingproblem ist, habe ich kein schlechtes Gewissen hier
nachzufragen.
Als Router wird fli4l 4.0 eingesetzt.

Ziel ist es den Gästen einen definierten WLAN-Zugang zu ermöglichen,
ohne Zugriff auf die übrigen Netzwerk-Resourcen.
Es gibt schon ein paar Beiträge im Forum, aber keiner passt so richtig
auf meine Voraussetzungen.

Es gibt mehrere Standorte die jeweils mit einem fli4l mit dem Internet
verbunden sind. Zwischen den fli4ls sind OpenVPN Verbindungen
eingerichtet über die der Zugriff untereinander möglich ist.

In einem Netz läuft eine Eisfair mit einem Radiusserver.
Es gibt mehrere WLAN-Accespoints an den verschiedenen Standorten (pro
Standort zwischen 1 und 7 Stationen).
Alle Accespoints greifen auf den Radiusserver zu und die Clients
authentifizieren sich gegenüber dem zentralen Radiusserver.
Ich habe also eine zentrale Benutzerverwaltung
Auf allen WLAN-Stationen läuft dd wrt als Betriebssystem
(https://www.dd-wrt.com, Version 11-14-2016-r30880)
Es sind jeweils zwei WLAN-Netze eingerichtet (einmal Standard und einmal
Gast).
Das Standard-WLAN-Netz hat vollen zugriff auf das Netz.
Das Gäste-Wlan ist auf den Accepoints abgetrennt.
Auf den Accesspoints ist eine Bridge br0 definiert, der die
Schnitsttelle ath0 (normales WLAN) und vlan1 (internes Netz des
Accespoints) angehören.
Weiterhin ist eine Bridge br1 definiert, der nur die Schnitstelle ath0.1
(Gäste-WLAN) angehört.
Für br1 ist dann eine zusätzliches Subnetz mit eigenem DHCP-Server (auf
jeder WLAN-Station) definiert.

Damit das jetzt funktioniert sind folgende Firewall-Regeln (auf den
WLAN-Stationen) eingerichtet:
(Nachfolgend die Beispielkonfiguration der Station mit der IP
172.16.0.40, das Netz in dem sie hängt ist 172.16.0.0/16. Das Gäste-WLAN
hat IP-Adressen 172.29.0.0/16)

iptables -t hat -A PREROUTING -i br1 -p udp --dport 53 -j DNAT --to
172.16.0.40
iptables -t nat -A PREROUTING -i br1 -p tcp --dport 53 -j DNAT --to
172.16.0.40

iptables -I FORWARD -i br1 -d 172.16.0.40/255.255.0.0 -m state --state
NEW -j DROP

iptables -t nat -I POSTROUTING -o br0 -j SNAT --to 172.16.0.40

# Zugriff verbieten
iptables -I INPUT -i br1 -m state --state NEW -j DROP

# DHCP und DNS erlauben...
iptables -I INPUT -i br1 -p udp --dport 67 -j ACCEPT
iptables -I INPUT -i br1 -p udp --dport 53 -j ACCEPT
iptables -I INPUT -i br1 -p tcp --dport 53 -j ACCEPT

# nur http & https erlauben...
iptables -I FORWARD -i br1 -j DROP
iptables -I FORWARD -i br1 -p udp --dport 53 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 53 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 80 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 443 -j ACCEPT


# 25 smtp, 110 pop3, 143 imap 993 ssl-map usw.
iptables -I FORWARD -i br1 -p tcp --dport 25 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 110 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 143 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 993 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 995 -j ACCEPT
iptables -I FORWARD -i br1 -p tcp --dport 587 -j ACCEPT
####


Das funktioniert soweit erst mal alles.
Die Gäste-WLAN-Clients haben nur Zugriff auf die oben genannten Ports.

Im Moment unterscheidet der Radiusserver noch nicht, über welches Netz
sich angemeldet wird. Da muss ich also noch eine zweite Instanz oder
einen zweiten Radiusserver aufsetzen.
Ausserdem können die Gäste auf alle Webinterfaces von netzinternen
Geräten zugreifen. Auch wird der verursachte Traffic bei den
WLAN-Stationen registriert.

Daher möchte ich noch einen Schritt weiter gehen.
Der fli4l kann die Gäste im Moment nicht "sehen", da die WLAN-Stationen
NAT durchführen.
(Ab hier beginnen jetzt meine Wunschvorstellungen, bei deren Umsetzung
ich Hilfe benötige)
Ich stelle mir also vor, den Datenverkehr ohne NAT bei den Accesspoints
über ein getaggtes VLAN zum fli4l weiterzuleiten.
Die DHCP-Anfragen werden dann vom fli4 beantwortet.

Dazu müsste ich also auf dem fli4l eine eth0.3 und eth0.5 anlegen (VLAN3
für "normales Netz" und VLAN5 für die Gäste)

Kann ich das dann so schreiben?
IP_NET[1]='172.17.0.1/16' # IP address of your n'th ethernet card
{
DEV='eth0.5'
}

IP_NET[2]='172.29.0.1/16' # IP address of your n'th ethernet card
{
DEV='eth0.5'
}

In die INPUT-Chain kommt dann folgendes?
PF_INPUT[]='IP_NET_2 ACCEPT' # allow all hosts in the local network to
# access the router


FORWARD bleibt dann leer?
bzw. nur folgender Eintrag:
PF_FORWARD[]='IP_NET_1 ACCEPT

Und bei POSTROUTING muss vermutlich folgender Eintrag getätigt werden?
PF_POSTROUTING[]='IP_NET_2 MASQUERADE'

Natürlich muss dann in der dns_dhcp.txt noch der DHCP-Server aktiviert
werden.
Vermutlich muss auch auf den Switchen VLAN aktiviert und konfiguriert
werden.


Wären das die Eingriffe in den Konfigurationsdateien auf dem fli4l, oder
habe ich etwas vergessen bzw. falsch verstanden?


Und wie müsste ich die Firewallregeln auf den Accesspoints korrigieren,
damit der Verkehr ohne NAT ins interne Netz geroutet wird?
Vermutlich macht das der folgende Eintrag
iptables -t nat -I POSTROUTING -o br0 -j SNAT --to 172.16.0.40
Aber ich habe mir versucht die Erklärungen anzuschauen, bin aber nicht
richtig durchgestiegen.

Vielen dank schon mal für das lesen bis hierher.

LG
Boris

LG
Boris

Peter Schiefer

unread,
Nov 23, 2016, 1:45:05 PM11/23/16
to
Hallo Boris,

Am Wed, 23 Nov 2016 17:53:22 +0100 schrieb B. Sprenger:

> Dazu müsste ich also auf dem fli4l eine eth0.3 und eth0.5 anlegen (VLAN3
> für "normales Netz" und VLAN5 für die Gäste)
>
> Kann ich das dann so schreiben?
> IP_NET[1]='172.17.0.1/16' # IP address of your n'th ethernet card
> {
> DEV='eth0.3'

hier würde ich ergänzen:
COMMENT='normales_Netz'
> }
>
> IP_NET[2]='172.29.0.1/16' # IP address of your n'th ethernet card
> {
> DEV='eth0.5'
COMMENT='Gäste'
> }

bei fli4l 4.0.0 (unserer Entwicklerversion) kannst Du das so schreiben -
damit dir aber die vlan-devices zur Verfügung stehen must du in der config
des Pakees Advanced_networking die vlans definieren:
OPT_VLAN_DEV='yes' # activate VLAN 802.1Q, yes or no
VLAN_DEV_N='2' # number of VLAN devices
VLAN_DEV_1_DEV='eth0'
VLAN_DEV_1_VID='5' # eth0.5 -> Gäste
VLAN_DEV_2_DEV='eth0'
VLAN_DEV_2_VID='3' # eth0.3 -> normales Netz

>
> In die INPUT-Chain kommt dann folgendes?
> PF_INPUT[]='IP_NET_2 ACCEPT' # allow all hosts in the local network to
> # access the router
>
Damit können dann Gäste auf alle Dienste des fli4l zugreifen


wenn Du das nicht willst - also nur DNS und DHCP solltes du diese Regel
weglassen.
DHCP wird in der INPUT-Chain geöffnet, wenn bei der Range-Definition im
Paket dns_dhcp die Referenz zum Netz angegeben ist -> NET='IP_NET_2'

DNS wird in der INPUT-Chai geöffnet für das Gäste-LAN wenn du das folgende
setzt -> DNS_LISTEN[]='IP_NET_2_IPADDR'

> FORWARD bleibt dann leer?
> bzw. nur folgender Eintrag:
> PF_FORWARD[]='IP_NET_1 ACCEPT

und wie sollen Pakete vom Gäste LAN geroutet werden?

mit
PF_FORWARD[]='if:any:{Name des Circuits} ACCEPT'

erlaubst Du, das Routing von jedem Quellnetz zum Internet möglich wird.

>
> Und bei POSTROUTING muss vermutlich folgender Eintrag getätigt werden?
> PF_POSTROUTING[]='IP_NET_2 MASQUERADE'

PF_POSTROUTING[]='if:any:{Name des Circuit} MASQUERADE'

würde ich eher nehmen, damit auch das normale Netz ins Internet kann


> Natürlich muss dann in der dns_dhcp.txt noch der DHCP-Server aktiviert
> werden.

korrekt

> Vermutlich muss auch auf den Switchen VLAN aktiviert und konfiguriert
> werden.

wozu - an eth0 liegen die getaggten Pakete an - diese kommen doch zu deinen
AccessPoints und werden dort an die bridge zur jeweiligen ESSID gebunden

> Wären das die Eingriffe in den Konfigurationsdateien auf dem fli4l, oder
> habe ich etwas vergessen bzw. falsch verstanden?

siehe meine Kommentare

Gruß Peter

B. Sprenger

unread,
Nov 24, 2016, 1:51:21 AM11/24/16
to
Hallo Peter,
vielen Dank , das du dir die Mühe gemacht hast, mein Posting bis zum
Ende zu lesen.
Ich habe begonnen deine Vorschläge in die Konfiguration des fli4l zu
übernehmen.

Am 23.11.2016 um 19:45 schrieb Peter Schiefer:
> Hallo Boris,
>
> Am Wed, 23 Nov 2016 17:53:22 +0100 schrieb B. Sprenger:
>
>> Dazu müsste ich also auf dem fli4l eine eth0.3 und eth0.5 anlegen (VLAN3
>> für "normales Netz" und VLAN5 für die Gäste)
>>

>
> bei fli4l 4.0.0 (unserer Entwicklerversion) kannst Du das so schreiben -
> damit dir aber die vlan-devices zur Verfügung stehen must du in der config
> des Pakees Advanced_networking die vlans definieren:
> OPT_VLAN_DEV='yes' # activate VLAN 802.1Q, yes or no
> VLAN_DEV_N='2' # number of VLAN devices
> VLAN_DEV_1_DEV='eth0'
> VLAN_DEV_1_VID='5' # eth0.5 -> Gäste
> VLAN_DEV_2_DEV='eth0'
> VLAN_DEV_2_VID='3' # eth0.3 -> normales Netz
Ja, das hatte ich vergessen zu erwähnen.
Jetzt habe ich noch eine Frage:
Wenn ich diese Konfiguration so übernehme, kann ich mich da vom Router
aussperren?
Falls ja, wie kann ich das verhindern? VLAN auf dem Switch
konfigurieren? Oder aber die Netzwerkarten in den Rechnern auf das
entsprechende VLAN konfigurieren?


LG
Boris

Peter Schiefer

unread,
Nov 24, 2016, 9:36:40 AM11/24/16
to
Hallo Boris,

Am Thu, 24 Nov 2016 07:49:45 +0100 schrieb B. Sprenger:

> vielen Dank , das du dir die Mühe gemacht hast, mein Posting bis zum
> Ende zu lesen.

is ja auch mal ein anspruchsvolleres Setup ;)

> Ich habe begonnen deine Vorschläge in die Konfiguration des fli4l zu
> übernehmen.

fein ;)

> Jetzt habe ich noch eine Frage:
> Wenn ich diese Konfiguration so übernehme, kann ich mich da vom Router
> aussperren?

Ja

> Falls ja, wie kann ich das verhindern? VLAN auf dem Switch

z.B. d.h - der port zum fli4l wird dann member der Vlans 3 und 5 im Switch
und lässte das Tagging an den Paketen dran - genauso die Ports zu den
AccessPoints.
Port zu den Netzwer-PCs werden Member des Vlans3 und es werden ungetaggte
Pakete übermittelt

> konfigurieren? Oder aber die Netzwerkarten in den Rechnern auf das
> entsprechende VLAN konfigurieren?

wenn der Treiber vlan-tagging beherscht wäre das auch eine mögliche Form.


Gruß Peter

B. Sprenger

unread,
Nov 24, 2016, 3:18:49 PM11/24/16
to
Hallo Peter,
Am 24.11.2016 um 15:36 schrieb Peter Schiefer:
>
> is ja auch mal ein anspruchsvolleres Setup ;)
ja das stimmt wohl.
Ich trage mich auch schon über zwei Jahre mit den Gedanke an diese
Umsetzung.
So nach und nach habe ich dann Mosaiksteinchen für Mosaiksteinchen
umgesetzt.
>

>
>> Jetzt habe ich noch eine Frage:
>> Wenn ich diese Konfiguration so übernehme, kann ich mich da vom Router
>> aussperren?
>
> Ja
>
>> Falls ja, wie kann ich das verhindern? VLAN auf dem Switch
>
> z.B. d.h - der port zum fli4l wird dann member der Vlans 3 und 5 im Switch
> und lässte das Tagging an den Paketen dran - genauso die Ports zu den
> AccessPoints.
> Port zu den Netzwer-PCs werden Member des Vlans3 und es werden ungetaggte
> Pakete übermittelt

Genau so habe ich es gemacht.
Der Versuch die Tags auf der Netzwerkkarte zu generieren hat irgendwie
nicht funktioniert (habe aber auch nur einen Versuch gemacht.
Die grösste Hürde war das Konfigurationsinterface des Switches in das
VLAN3 zu holen.
Wenn man das umstellt, kommt man nicht mehr dran um die Ports umzustellen.
Stellt man die Ports um, kommt man nicht an die Konfiguration vom
Switch. Da braucht es also einen zweiten Rechner, den man zuerst ins
VLAN hievt, und dann den Switch umstellt.


Allerdings hatte ich (anscheinend) ein Problem mit folgender
Konfigurationszeile
DNS_LISTEN[]='IP_NET_2_IPADDR' # DNS fuer Gaeste LAN erlauben
Irgendwie konnten die Computer aus IP_NET1_ADDR dann nicht aufs Internet
bzw. DNS zugreifen.
Klingt unlogisch?
Vielleicht muss ich dass nochmal in einer ruhigen Minute testen.
Jetzt passiert erst mal die nächsten Tage nichts.
Dann gehe ich daran die Konfiguration der WLAN-Stationen zu überarbeiten.

LG
Boris


Peter Schiefer

unread,
Nov 24, 2016, 11:39:14 PM11/24/16
to
Hallo Boris,

Am Thu, 24 Nov 2016 21:18:41 +0100 schrieb B. Sprenger:

> Allerdings hatte ich (anscheinend) ein Problem mit folgender
> Konfigurationszeile
> DNS_LISTEN[]='IP_NET_2_IPADDR' # DNS fuer Gaeste LAN erlauben
> Irgendwie konnten die Computer aus IP_NET1_ADDR dann nicht aufs Internet
> bzw. DNS zugreifen.
> Klingt unlogisch?
> Vielleicht muss ich dass nochmal in einer ruhigen Minute testen.

wenn auch die Hosts aus den normalen Netz auf den DNS des fli4l zugreifen
können sollen brauchst du auch eine Zeile DNS_LISTEN[]='IP_NET_1_IPADDR'

Gruß Peter

B. Sprenger

unread,
Nov 25, 2016, 8:29:08 AM11/25/16
to
Hallo Peter,
Am 25.11.2016 um 05:39 schrieb Peter Schiefer:
>
> wenn auch die Hosts aus den normalen Netz auf den DNS des fli4l zugreifen
> können sollen brauchst du auch eine Zeile DNS_LISTEN[]='IP_NET_1_IPADDR'
Ok, das war mir nicht klar, da es die Zeile vorher nicht gab.
Kaum macht man es richtig und schon funktioniert es.

Mir ist heute morgen noch folgendes eingefallen (konnte ich noch nicht
ausprobieren):
Die verschiedenen fli4ls sind ja über diverse OpenVPN-Verbindungen
verbunden.
Hat das Gäste-Netz darauf Zugriff? Falls ja, wie kann man das verhindern?

LG
Boris



Peter Schiefer

unread,
Nov 25, 2016, 10:28:49 AM11/25/16
to
Hallo Boris,

Am Fri, 25 Nov 2016 14:27:31 +0100 schrieb B. Sprenger:


> Mir ist heute morgen noch folgendes eingefallen (konnte ich noch nicht
> ausprobieren):
> Die verschiedenen fli4ls sind ja über diverse OpenVPN-Verbindungen
> verbunden.
> Hat das Gäste-Netz darauf Zugriff? Falls ja, wie kann man das verhindern?

das hängt davon ab, was du für Paketfilter-Einstellungen in der
openvpn-Konfiguration hinterlegt hast.

Ich würde dort fogendes erwarten:
OPENVPN_x_PF_FORWARD_x='REMOTE-NET IP_NET_1 ACCEPT BIDIRECTIONAL'
und
OPENVPNx_PF_POSTROUTING_x='REMOTE-NET IP_NET_1 ACCEPT BIDIRECTIONAL'

somit wird nur das Routing zwischen IP_NET_1 (das normale Netz) zu den für
diese VPN-Verbindung definierten Remote-Netzen OPENVPN_x_ROUTE_x='....'
zugelassen.

Gruß Peter

B. Sprenger

unread,
Dec 4, 2016, 4:48:21 AM12/4/16
to
Hallo Peter,
hat ein wenig gedauert, aber ich musst erst verschiedenes ausprobieren.

Am 25.11.2016 um 16:28 schrieb Peter Schiefer:
>
> Am Fri, 25 Nov 2016 14:27:31 +0100 schrieb B. Sprenger:
>> Die verschiedenen fli4ls sind ja über diverse OpenVPN-Verbindungen
>> verbunden.
>> Hat das Gäste-Netz darauf Zugriff? Falls ja, wie kann man das verhindern?
>
> das hängt davon ab, was du für Paketfilter-Einstellungen in der
> openvpn-Konfiguration hinterlegt hast.
>
> Ich würde dort fogendes erwarten:
> OPENVPN_x_PF_FORWARD_x='REMOTE-NET IP_NET_1 ACCEPT BIDIRECTIONAL'
> und
> OPENVPNx_PF_POSTROUTING_x='REMOTE-NET IP_NET_1 ACCEPT BIDIRECTIONAL'

Ich hatte dort die "Standard-Einstellung" drin:
OPENVPN_x_PF_INPUT_N= '1'
OPENVPN_x_PF_INPUT_1= 'ACCEPT'
OPENVPN_x_PF_FORWARD_N= '1'
OPENVPN_x_PF_FORWARD_1= 'ACCEPT'
OPENVPN_x_PF_INPUT_POLICY='ACCEPT'
OPENVPN_x_PF_FORWARD_POLICY='ACCEPT'

Ich hatte das geändert in:
OPENVPN_x_PF_FORWARD_1='REMOTE-NET IP_NET_1 ACCEPT BIDIRECTIONAL'
OPENVPN_x_PF_POSTROUTING_1='REMOTE-NET IP_NET_1 ACCEPT BIDIRECTIONAL'


Damit konnte ich aber aus dem entfernten Netz nicht mehr auf den Fli4l
zugreifen.
Also habe ich
OPENVPN_x_PF_INPUT_POLICY='ACCEPT'
wieder ergänzt.
Das scheint also soweit zu funktionieren.
Ist das soweit richtig?


Ich habe mit der Umsetzung der VLAN's aud den WLAN-Stationen und den
Switches noch etwas Schwierigkeiten, glaube aber langsam Fortschritte zu
machen.
Spricht etwas (vorübergehend) gegen folgende Konfiguration

IP_NET[1]='172.16.0.1/16' # IP address of your n'th ethernet card and
{
DEV='eth0' # required: device name like ethX
COMMENT='normalesNetz'
}

IP_NET[2]='172.29.0.1/16' # IP address of your n'th ethernet card and
{
DEV='eth0' # required: device name like ethX
COMMENT='Gaestenetz'
}

Der Build Prozess meckert zwar ein wenig, läuft aber durch.
DHCP auf IP_NET_2 würde ich dann deaktivieren.

Damit könnte ich erst mal den Netzwerkverkehr auf die Reihe bekommen,
dann die Firewall-Regeln auf den WLAN-Stationen anpassen und
schlussendlich mit den VLANS separieren.


LG
Boris




Peter Schiefer

unread,
Dec 4, 2016, 6:24:59 AM12/4/16
to
Hallo Boris,

Am Sun, 4 Dec 2016 10:48:09 +0100 schrieb B. Sprenger:

> hat ein wenig gedauert, aber ich musst erst verschiedenes ausprobieren.

und es ist Vorweihnachtszeit - da hat man so einiges zu tun ;)

> Ich hatte das geändert in:
> OPENVPN_x_PF_FORWARD_1='REMOTE-NET IP_NET_1 ACCEPT BIDIRECTIONAL'
> OPENVPN_x_PF_POSTROUTING_1='REMOTE-NET IP_NET_1 ACCEPT BIDIRECTIONAL'

somit dürfen auf VPNs nur noch Ziele inNetzt IP_NET_1 per routing erreicht
werden - also nicht mehr dein Gäste-Wlan

> Damit konnte ich aber aus dem entfernten Netz nicht mehr auf den Fli4l
> zugreifen.
> Also habe ich
> OPENVPN_x_PF_INPUT_POLICY='ACCEPT'
> wieder ergänzt.
> Das scheint also soweit zu funktionieren.
> Ist das soweit richtig?

INPUT regelt den Zugriff auf Dienste des fli4l - also darf nun aus dem VPN
auf alle Dienste die auf dem fli4l laufen zugegriffen werden.

> Spricht etwas (vorübergehend) gegen folgende Konfiguration
>
> IP_NET[1]='172.16.0.1/16' # IP address of your n'th ethernet card and
> {
> DEV='eth0' # required: device name like ethX
> COMMENT='normalesNetz'
> }
>
> IP_NET[2]='172.29.0.1/16' # IP address of your n'th ethernet card and
> {
> DEV='eth0' # required: device name like ethX
> COMMENT='Gaestenetz'
> }
>
> Der Build Prozess meckert zwar ein wenig, läuft aber durch.

weil Du zwei Netze auf dem gleich device eth0 konfiguriert hast.

Nach boot dürftes Du auf dem fli4l dann 2 eth0 Devices sehen, das zweite
dann als eth0:x

> DHCP auf IP_NET_2 würde ich dann deaktivieren.
>
> Damit könnte ich erst mal den Netzwerkverkehr auf die Reihe bekommen,
> dann die Firewall-Regeln auf den WLAN-Stationen anpassen und
> schlussendlich mit den VLANS separieren.

genau

Gruß Peter
0 new messages