Grundkonfiguration Anfänger



  • Hallo zusammen,

    ich habe vor, nun entgültig auf pfSense umzusteigen. Einige sehr hilfreiche Tipps habe ich hier im Forum schon bekommen, aber bevor ich den Schritt tatsächlich durchführe, möchte ich sehen, ob noch was Wichtiges fehlt.

    Geplante Konfiguration Hardware

    • Anbieter 1&1 Internet
    • Modem Fritzbox 7490 (soll selbst nur verbinden, der Rest wird durch passthrough von pfSense übernommen)
    • Switch ubiquiti UniFi switch 24 250W
    • Wifi 2x ubiquiti UniFi AP-AC-Pro
    • APU1D (Upgrade auf APU2C4 geplant)

    Geplante Funktionen pfSense

    • Server
      • DNS
      • DHCP
      • NTP (wobei pfSense die Zeit von außen holt und dann lokal den einzelnen Devices bereitstellt)
      • VPN(1)
    • pfBlocker-ng
    • Zugriffe von außerhalb nur aus dt. IP-Bereich zulassen
    • VLAN (?) (2)
    • reverse-proxy (3)

    (1) derzeit läuft bei mir OpenVPN auf meinem Synology NAS; um das NAS nicht nach außen exposen zu müssen, wollte ich VPN auf pfSense "umlagern"; sollte ich hier auch auf OpenVPN setzen, oder ein anderes Protokoll nutzen?

    (2) das hatte ich hier im Forum schon einmal angesprochen; es geht darum, dass ich bestimmte Geräte, denen nicht zu 100% "vertraut" wird (im Sinne von Gastgeräten, Chinawebcams, ...) ein eigenes Netzwerk einrichten will, das dann so konfiguriert wird, dass die Geräte nicht auf mein eigentliches Netzwerk zugreifen können, ich aber aus meinem Netzwerk auf die Geräte bzw. bestimmte Ports der Geräte.

    (3) viele Services in meinem Netzwerk liegen per Docker Container bereit. Ich würde gerne, sofern möglich, allen Services eine Domain zuweisen; Beispiele: http://rss.myweb ==> http://192.168.1.10:5634/tt-rss , http://mysql.myweb ==> http://192.168.1.20:9918 , etc.
    Dies habe ich schon versucht umzusetzen, aber bisher nicht erfolgreich. Wie richte ich diese Funktion ein, dass sämtliche Geräte (also beispielsweise auch die, bei denen ich manuell gar keinen Proxy festlegen kann) automatisch über pfSense diese Weiterleitungen "erzwungen" bekommen? Kann ich den reverse-proxy via DHCP mit dem DNS Server koppeln, sodass sämtliche verbundenen Geräte ohne weitere Konfiguration die entsprechende IP inkl. Porto und ggf. URL für meine festgelegten "Fake-URLs" bekommen?

    Alle Geräte sollen per DHCP eine Adresse bekommen; die meisten Geräte bekommen, sobald sie einmal verbunden sind, dann manuell eine statische IP zugewiesen.

    Lässt sich meine geplante Konfiguration so umsetzen? Und sollte ich bestimmte Pakete zusätzlich installieren, weil sie einfach für die Nutzung wichtig sind (wenn ja, welche denn)?

    Vielen Dank im Voraus für Eure Hilfe :)



  • "kleines" Update:

    funzt:

    • DNS
    • DHCP
    • NTP
    • pfblocker-ng
    • VLAN (zumindest meine Tests soweit)

    Benötige noch Hilfe bei

    • VPN
      DDNS Eintrag steht und funktioniert; pfsense Host in fritzbox als exposed host eingetragen (alle Anfragen werden durchgelassen). Trotzdem keine Verbindung möglich.

    • reverse-proxy
      squid reverse proxy ist installiert. Ich verstehe allerdings nicht, wie ich diesen Proxy allen Devices in meinem Netzwerk aufzwinge; mit NTP und DNS Server funktioniert das ja problemlos, die nehmen, was sie per DHCP zugewiesen bekommen. Aber was muss ich tun, damit ich beispielsweise festlegen kann url: feed.loc | ip: 10.0.10.20 | pfad: /ttrss | port: 5668 und dass dann jedes Gerät, welches irgendwie mit pfSense verbunden ist (egal ob per LAN oder WLAN und ohne dass ich es in den Einstellungen des Gerätes manuell einstellen muss) auf den squid reverse proxy zugreift und eben http://10.0.10.20:5668/ttrss aufruft, wenn ich im Gerät (egal ob Browser, RSS Reader, sonstwas) http://feed.loc als Ziel eintrage?

    Danke & LG



  • Morgen,

    was sagt denn das Log deines VPNs auf Client & Serverseite bei Verbindungsversuchen?

    Welche VPN hast du eingerichtet - RW, Site2Site oder IPSec? Wie hast du deine Firewall-Rules eingerichtet?

    Diese Regeln nutze ich damit es funktioniert:
    0_1529389444441_vp1.png

    und für das VPN erst einmal alles erlauben:
    0_1529389490720_vp2.png

    VG, p54



  • Hi,

    das ist etwas anstrengender, hänge ich auch noch dran.

    @benjsing said in Grundkonfiguration Anfänger:

    reverse-proxy
    squid reverse proxy ist installiert. Ich verstehe allerdings nicht, wie ich diesen Proxy allen Devices in meinem Netzwerk aufzwinge; mit NTP und DNS Server funktioniert das ja problemlos, die nehmen, was sie per DHCP zugewiesen bekommen. Aber was muss ich tun, damit ich beispielsweise festlegen kann url: feed.loc | ip: 10.0.10.20 | pfad: /ttrss | port: 5668 und dass dann jedes Gerät, welches irgendwie mit pfSense verbunden ist (egal ob per LAN oder WLAN und ohne dass ich es in den Einstellungen des Gerätes manuell einstellen muss) auf den squid reverse proxy zugreift und eben http://10.0.10.20:5668/ttrss aufruft, wenn ich im Gerät (egal ob Browser, RSS Reader, sonstwas) http://feed.loc als Ziel eintrage?

    Aber dazu kannst du entweder eine GPO erstellen, falls ein AD in deinem Netzwerk ist, oder so wie ich es lösen wollte eine proxy.pac, wpad.dat und wpad.da bereitstellen, die vom DHCP versteilt werden. Somit ist der Client autonom und du musst nicht selbst Hand anlegen. Nur habe ich es selbst noch nicht hinbekommen. Dazu gibt es dann auch gern Probleme mit den verschiedensten Browsern und Betriebsystemen, MAC, Windoof oder Android.



  • Vielen Dank für die Antworten :)

    Sorry, falls es ein paar blöde Fragen waren und ebensolche noch kommen werden, ich bin echt noch Anfänger, was das Thema angeht und habe auch oft Angst, mir durch zu viel Trial & Error die Config so zu zerschießen, dass ich nachher gar nicht mehr auf pfSense zugreifen kann...
    (ist einmal passiert und ich hatte damals vergessen, dass ich ja "einfach" noch per Serial hätte drauf zugreifen können 😬 )

    Ich nutze openVPN; als Alternative hätte ich noch IPsec und LT2P, aber kein RW oder Site2Site. Letztere beiden Begriffe kenne ich ehrlich gesagt auch gar nicht (as I said: noob!). Ich habe lediglich die Unterschiede zwischen openVPN, IPsec und LT2P recherchiert und es sah für mich so aus, als wenn openVPN da die beste Lösung wäre. Zudem lief openVPN auf der Synology auch immer problemlos und zuverlässig (wobei ich dort nur in der FB den einen Port freigeben musste und es lief - hier scheint das ja eine andere Sache zu sein, gerade, was vermutlich auch an der vorgeschalteten FB liegen dürfte).

    Das sind meine Regeln:

    WAN
    alt text
    openVPN
    alt text

    Diese habe ich gerade aus dem Post von @p54 übernommen. Ich muss mich in pfSense diesbezüglich noch zurecht finden, dass alles spezifisch in der Firewall freigegeben werden muss (gute Sache, aber für mich noch ungewohnt).
    Trotzdem funktioniert der Zugriff nicht. In der Fritzbox ist die IP von pfSense wieder als Exposed Host eingetragen. ABER pfSense hat ja zwei IP Adressen; einmal die WAN IP im Pool der Fritzbox (192.168.178.0/24) und einmal die LAN IP (in meinem Fall 10.0.1.0/24). Ist das irrelevant oder muss ich da noch irgendwas in der FB einstellen? (ich kann dort ja nur die WAN IP exposen).

    Der Client Log sieht so aus
    alt text
    Die Zeile 14:03 UDP link local (bound): [AF_INET][undef]:1194 ist mir dabei aufgefallen... Was genau da undefined sein soll, weiß ich nicht. Die .ovpn-Datei hatte ich manuell editiert und als Host die DDNS Adresse reingeschrieben (aus der Zeile daunter im Bild), da pfSense nur die WAN IP genommen hatte (die ja genau genommen nur eine lokale IP aus dem Pool der FB war und von außen so sowieso nicht erreichbar).
    Zudem weiß ich nicht, woher die recently used remote address stammen soll, denn ich habe eben mal gecheckt, wie es mit meiner IP aussieht. Die ändert sich nur bei Verbindungsabbrüchen und ich hatte seit pfSense installiert ist immer dieselbe IP - allerdings nicht die genannte 87.170.162.52:1194; es stimmt nur der 87er Teil, der Rest ist mir schleierhaft.

    Im Systemlog stehen seit dem 17.06. keine Einträge mehr, weshalb ich davon ausgehe, dass aus irgend einem Grund gar nicht mehr bis zu pfSense vorgedrungen werden kann und somit kein Verbindungsversuch seitens meines Clients -in diesem Fall immer ein Android Smartphone mit OpenVPN für Android Client.

    Aus Deiner zweiten Antwort lese ich heraus, dass ich das als Anfänger erst einfach mal sein lassen sollte, mh ;) Da verstehe ich nämlich so gut wie nichts. Dieses Feature ist aber auch "nur" ein nettes Gimick für mich, welches ich zu 99% gar brauche. Ich habe eine Android App, bei der sich kein alternativer Port für eine Anwendung, die ich selbst gehostet habe, festlegen lässt. Beispiel: statt 10.0.1.25:wunschport kann sie sich nur mit 10.0.1.25:standartport verbinden. Diesen Port kann ich für die Anwendung aber nicht vergeben, da sie in einem Docker Container auf meinem Synology NAS läuft und dieser Port bereits vom NAS selbst benötigt wird. Könnte ich zwar von Hand umändern, indem ich eine Datei des NAS bearbeite, aber das möchte ich nicht. Ich dachte, dass sich das vielleicht ganz simpel mit pfSense lösen lässt. Wenn nicht, dann muss es nicht unbedingt sein.
    ABER: ich kann in pfSense ja einen Proxy festlegen. Wenn ich dort einfach 127.0.0.1 nehme, würde das helfen? In einem Test hat das bislang nichts gebracht, aber vielleicht lässt es sich ja in Zusammenhang mit weiteren Einstellungen machen?



  • Hi,

    noch eine Frage. Hast du den VPN-Test via LTE gemacht, sprich dich aus deinem WLAN abgemeldet?
    Es kann nämlich sein, dass er die Route nicht findet da du ja schon im lokalen Netz mit WLAN verbunden bist.

    Die VPN-Tests solltest du wenn möglich über ein anderes Netz erledigen, sprich über deine Handy mit mobilen Daten (LTE/ G3).

    VG, p54



  • Komisch, ich hatte vorhin geantwortet, und jetzt sehe ich, dass die Antwort weg ist. Sorry fürs Delay...

    Also ja: ich habe mich jedes Mal erst aus dem WiFi abgemeldet und dann via mobile Daten versucht, die Verbindung aufzubauen. Leider funktioniert das trotzdem nicht.

    Kann ich irgendwie testen, ob die FB pfSense überhaupt erfolgreich nach außen hin freigibt? Ich habe eben mal einen nmap Scan gemacht, der nichts ergab. Andererseits, wenn pfsense die Zugriffe von außen ja auch blockt und/oder rejected, kann da ja nicht viel angezeigt werden.



  • Hi,

    zuerst prüfe mal die FB ob die IP der PFSense auch wirklich statisch hinterlegt wurde. Also die IP die zum WAN (exposted Host) zeigt. Die interne ist hier egal.

    Um zu prüfen ob du raus kommst, geht einfach. Hierzu dich via SSH auf die PFSense verbinden, Punkt 8 wählen und einfach einen Ping auf google abgegben mit:

    ping 8.8.8.8
    

    und danach ggf. mit

    ping google.de
    

    wenn das funktioniert, versuch mal deinen Dynamischen DNS zu prüfen - falls schon angegeben ob er grün hinterlegt ist.
    Findest du unter Services - Dynamic DNS.

    Ich hoffe du hast dir schon einen angelegt, oder hast du immer eine feste IP deines Providers? Dann wäre der Punkt egeal.

    Zur VPN Config, hier ein kleiner Leitfaden, jedoch nutze ich ein SSL Zertifikat für die VPNs.

    0_1529475947433_vp01.png

    0_1529475956407_vp02.png

    0_1529475965355_vp03.png

    0_1529475975398_vp04.png

    Unter VPN - OpenVPN - Client Export würde ich den OpenVPNConnect downloaden, der funktioniert auch unter Windows oder Android, bzw. iPhones/ iPads

    0_1529475984651_vp05.png

    VG, p54



  • Einen Fehler habe ich bereits gefunden. Ich hatte den falschen Host auf exposed gesetzt (nämlich pfSense, was aber die pfSense Instanz in einer VM war, entsprechend konnte die FB auch nicht durchleiten). Jetzt ist die korrekte IP freigeschaltet, nämlich die, die auch unter pfSense für WAN angezeigt wird.

    Ich habe zudem in der Fritzbox eingestellt, dass pfSense immer dieselbe IP zugewiesen bekommt.

    Ich bekomme jetzt immer TLS handshake failed, wenn ich mich verbinden will... Die IP für ddns ist grün und es ist auch tatsächlich die, die ich über bsp. ipinfo.io angezeigt bekomme.

    Die VPN Konfiguration habe ich gemäß Deiner Screenshots angefertigt. Zumindest kommt mein Client schon mal definitiv bis zur pfSense durch ;) Die openVPN Logs zeigen allerdings aktuell gar nichts an, also nur Änderungen, die ich durchgeführt habe. Es werden weder fehlerhafte Verbindungsversuche, noch TLS handshake Fails oder so dort angezeigt.



  • Hi,

    dann deaktiviere einfach mal den ganzen TLS Teil im VPN Serverbereich und mach nur im Servermode auf RemoteAccess (User Auth) somit musst du bentuzer und Passwort bei der Anmeldung des Users angeben und dich verbinden können.

    VG, p54



  • Hi,

    was ich noch vergessen habe zu sagen, versuch einmal in deiner WAN Firewall Rule die RFC1918 networks zu deaktivieren:
    https://i.imgur.com/gXV7b28.png

    Da du ja in einem private network der FB bist, könnte dies zu Problemen führen. 🤔
    Falls ich hier falsch liege - ich glaube ich musste es damals bei mir deaktivieren - dann korregiert mich bitte.

    VG, p54



  • @p54 habe ich eben gemacht, allerdings will openVPN trotzdem nicht so, wie ich es gerne hätte. Jetzt kommen gar keine Fehlermeldungen mehr, aber es wird immer wieder versucht, sich erneut zu verbinden.

    Parallel hat sich aus mir nicht nachvollziehbaren Gründen gestern noch pfBlocker-ng verabschieded. Es läuft, aber auf sämtlichen Geräten wird seit gestern Nachmittag nicht mehr geblockt. Nach einem factory reset über die WebGUI* komme ich nun gar nicht mehr auf die APU drauf. Sitze demnach gerade an einer kompletten Neuinstallation und schaue danach mal, ob dann vielleicht auch die anderen Probleme lösbar sind.

    • laut Angaben sollte die IP auf 192.168.1.1 zurückgesetzt werden und ein entsprechender DHCP Server eingerichtet werden. Ich komme per LAN trotzdem nicht drauf und bekomme auch keine IP; per Serial kann ich mich verbinden, nach Angabe des Prozessors geht es allerdings nicht weiter, das Terminal steht komplett still.

    Zwar möchte ich ja eh auf etwas leistungsfähigere Hardware umsteigen, aber bis dahin hoffe ich, zumindest noch einmal alles testhalber so konfigurieren zu können, dass es mit neuer Hardware dann richtig losgehen kann....



  • So, pfsense ist neu aufgesetzt...

    Ich habe openVPN nun noch einmal versucht über synology laufen zu lassen... Also pfsense als exposed host, dann eine portweiterleitung für port 1994 auf die IP meines NAS, auf dem noch der alte openVPN server läuft.

    Auch das geht nicht. Irgendwie scheint mir die FB, trotz exposed host, einfach die Verbindungen nicht weiter durch zu lassen. Weder auf pfSense, noch auf dem NAS (wo es vorher funktionierte), kommt eine Verbindung zustande.

    Ich überlege allerdings gerade, ob ich auf den DrayTek Vigor 130, den mal wohl als reines Modem vorschalten kann. EIne Möglichkeit, mich direkt mit pfSense mit meinem 1&1 Anschluss zu verbinden wird es vermutlich nicht geben, oder?



  • Wie hast Du den Zugriff aus dem deutschen Adresskreis realisiert? Via pfblocker? Nur den Zugriff aufs WebGUI oder komplett?



  • @mrsunfire ich habe die Einstellungen in pfBlocker-ng bislang hauptsächlich dafür genutzt, bestimmte Seiten (Tracker, Werbung, ...) zu blockieren.

    Unter GeoIP habe ich aktuell nur diese Einstellungen:
    Countries -> Germany DE und Germany DE_rep -> Permit Inbound

    Das habe ich im Tab Top20 getan. Ich gehe davon aus, dass jetzt automatisch alle anderen blockiert werden (so ungefähr steht es ja auch in der Info: statt 97% der Welt zu blockieren soll man lieber 3% erlauben - habe ich doch richtig verstanden, oder?).

    Worauf der Zugriff dann erfolgt, also komplett oder GUI, dafür habe ich gar keine Einstellung im Blocker gefunden.

    Ich werde jetzt noch mal versuchen, von Grund auf neu den gesamten openVPN Server einzurichten und schaue dann, ob ich mich verbinden kann.



  • Danke. Bei mir ist der pfBlocker derzeit nicht aktiv, sondern Suricata. Auch wenn das unterschiedliche Dinge sind, glaube ich einen ähnlichen Schutz zu habenund stell mir keine Stolperfallen.



  • So, ich habe mich jetzt noch einmal mit openVPN befasst. CA eingerichtet, ServerCA eingerichtet, Benutzer eingerichtet, BenutzerCA eingerichtet.

    Exportiert wie von @p54 vorgeschlagen und mit der enmpfohlenen Android App importiert (geht aber auch mit der von mir genutzten App).

    Nun kommt folgendes

    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 [VPN_ben] Peer Connection Initiated with [AF_INET]89.15.238.11:26500
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 TLS Auth Error: Auth Username/Password verification failed for peer
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 WARNING: Failed running command (--auth-user-pass-verify): external program exited with error status: 1
    Jun 23 18:23:44 	openvpn 		user 'ben' could not authenticate.
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_GUI_VER=de.blinkt.openvpn_0.7.5
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_TCPNL=1
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_COMP_STUBv2=1
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_COMP_STUB=1
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_LZO=1
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_LZ4v2=1
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_LZ4=1
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_NCP=2
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_PROTO=2
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_PLAT=android
    Jun 23 18:23:44 	openvpn 	32811 	89.15.238.11:26500 peer info: IV_VER=2.5_master
    Jun 23 18:21:54 	openvpn 	32811 	89.15.238.11:22245 [VPN_ben] Peer Connection Initiated with [AF_INET]89.15.238.11:22245
    Jun 23 18:21:54 	openvpn 	32811 	89.15.238.11:22245 TLS Auth Error: Auth Username/Password verification failed for peer
    Jun 23 18:21:54 	openvpn 	32811 	89.15.238.11:22245 WARNING: Failed running command (--auth-user-pass-verify): external program exited with error status: 1
    

    Dabei habe ich doch aber das Passwort gerade erst festgelegt und um Tippfehler zu vermeiden statt es bei Android einzugeben direkt per adb shell input text auch dort eingegeben (Sonderzeichen natürlich escaped).

    Warum erwartet pfSense nun trotzdem ein anderes PW bzw. einen anderen Usernamen? Es gibt bislang nur zwei Benutzer, einer davon ist admin. Den anderen habe ich gerade eingerichtet. Wie gesagt, mit copy and paste Passworteingabe.

    Habt Ihr eine Idee, wo der Fehler sonst liegen könnte? Es ist ja schon mal schön, dass ich bis zu pfSense komme (vorher erschienen ja gar keine Fehler im Logfile), aber noch schöner wäre natürlich eine funktionierende Verbindung ^^



  • Hi,

    wenn du deinem User ein Zertifikat für die VPN mit gegeben hast, musst du das Setting so wie in meinen screens erstellt wurde für die Auth auf Remote Access (SSL/TLS + User Auth) setzten dann bei der Anmeldung diesen Benutzernamen wählen der damit erstellt wurde, z.B. VPN-User1 + Passwort angeben.

    Das sollte so gehen.

    VG; p54



  • @p54

    ursprünglich hatte mein User ein Zertifikat. Ich war dann davon ausgegangen, dass die exportierte Datei dieses auch beinhaltet. Aber entweder habe ich beim Erstellen des Zertifikates einen Fehler gemacht, oder es ist beim Ex-/Importieren etwas schief gelaufen.

    Für den Moment lasse ich es jetzt erst einmal so; sowohl meine DDNS Adresse, als auch die Logins, habe nur ich. Da sollte auch ohne Zertifikat niemand etwas anstellen können.

    Was interessant wäre, wäre die Möglichkeit, falsche openVPN Anmeldungen zu blockieren; geht das? Beispiel, IP Adresse X versucht, sich per openVPN zu verbinden. User/Password sind falsch. Zweiter Versuch innerhalb X Minuten, wieder falsch. ==> block for X days.
    Da ich meine Logins so konfiguriert habe, dass ich sie sowieso aus dem verschlüsselten Passwortmanager per Copy&Paste einfügen muss, sollte eine Sperre von 2-3 fehlerhaften Loginversuchen ausreichen, um potenzielle Angreifer auszusperren, denn mein PW ist jedes Mal beim 1. Versuch richtig ^^


Log in to reply