Nachdem ich ich meine beiden Standorte mittels VPN (tun) verbunden hatte, freute ich mich sehr, dass alles super funktioniert - aber alles? - Nein, denn Multicast und Broadcast funktionieren nicht (zumindest soweit ich es verstehe sind das die Probleme, dass ich z.B. den Media Player an meinem anderen Standort nicht sehe).

 

Daher hab ich mich auf die Suche gemacht, wie ich meine pfSense Alix Boxen mittels OpenVPN tap verbinden kann.

 

Weiters wollte ich in diesem Zusammenhang auch endlich mit dem WLAN im gleichen Netz sein, wie mit dem verkabelten Netz, denn durch die physische Trennung der beiden hatte ich ja das gleiche Problem mit allen Diensten, die via Broadcast von sich aufmerksam machen.

 

Und so hab ich es gemacht:

 

 

 

  1. pfSense installieren

  2. Installations Wizard
    DNS-Server:
    OpenDNS: 208.67.222.222, 208.67.220.220
    Goolgle: 8.8.8.8, 8.8.4.4
    Hetzner: 213.133.100.100, 213.133.98.98

    NTP: 0.pfsense.pool.ntp.org

    WAN einrichten (static IP, Gateway IP, block RFC1918, block bogon netwokrs)

    LAN einrichten 192.168.51.1/24

    Admin Passwort ändern

  3. Services/DHCP Server
    Range anpassen für diese Seite der künftigen VPN-Tap Verknüpften Seiten
    (Bei mir hat
    Standort1 192.168.51.101 bis 192.168.51.149 (100 für pfSense),
    Standort2 192.168.51.151 bis 192.168.51.199 (150 für pfSense),
    Standort3 192.168.51.201 bis 192.168.51.249 (200 für pfSense)

  4. Firewall/Alias
    Port 443,22, (und evtl. geplanter Zielport für SSH und HTTPS) als ManagementPorts

  5. Status/System Logs/Settings
    Show log entries in reverse order (newest entries on top)
    Log packets blocked by the default rule

  6. Firewall/Rules
    eine neue FilterRegel für WAN
    allow Proto TCP, Source any, Port any, Destination any, Port ManagementPorts
    diese soll verhindern, dass wir uns LAN-seitig komplett aussperren; zur Not kann man immer noch über die WAN Seite rein und die Einstellungen treffen

  7. System/User Manager
    neuen User anlegen mit Admin Rechten und sicheres Passwort
    disable admin  (das macht es schon ein bisschen schwerer für brute force)

  8. System/Firmware
    Updater Settings das richtige Repository wählen - damit funktioniert auch Dashborad das überprüfen der aktuellen Version

  9. System/Advanced
    Protocol: HTTPS
    TCP-Port: welchen man sich auch immer wünscht - (sollte unter Punkt 3 berücksichtigt werden)
    Enable Secure Shell
    SSH Port (wieder unter Punkt 3 berücksichtigen)
    Reiter Miscellaneous:
    Use glxsb (bei Alix sinnvoll, denn dann wird (anscheinnd) er interne crypto chip aktiviert)
    Reiter Noification
    SMTP Einsellungen für Benachrichtigungen

  10. Interfaces/(assign)
    beim Alix hab ich einen 2. EthernetAnschluss, den man z.B. für eine DMZ verwenden kann (so verwende ich es am Standort 1), oder als zusätzliches Subnetz, das vom einen getrennt werden soll (Standort 2), oder, oder...
    für alle Ports wird ein Interface assigned
    auch für das evtl. vorhandene WLAN

  11. Interfaces OPTx
    enable und einen eindeutigeren Namen vergben: zB. WLAN für das OPT3 oder DMZ für OPT2 ....
    ABER KEINE IP-Adresse zuweisen, sondern auf Type None belassen; ich setzte noch Block bogon networks

  12. Interfaces/(assign)/Bridges
    ich möchtedas Lan mit den WLAN in einem Subnetz haben, daher werde ich diese 2 über eine Bridge verbinden (das brauche ich dann später auch noch für die Verlinkung der OpenVPN Sites)
    also neu Bridge anlegen und Member Interfaces LAN, WLAN auswählen (STRG + Klick)

  13. Interfaces/(assign)/Interface assignments
    die soeben angelegte Bridge als weiteres Interface hinzufügen und wieder enable (None) und einen sprechenden Namn geben (bei mir BridgedLan)

  14. Interfaces/(assign)/Bridges
    das soeben erstellte Interface der Bridge als Member Interface hinzufügen

  15. jetzt wird es (zumindest hab ich es nicht geschafft) uns aus der aktuellen LAN-Verbindung rauswerfen, deshalb hab ich mich über die WAN Verbindung in die Admin-Oberfläche eingewählt.
    unter Interfaces/(assign)
    LAN auf BRIDGE0 und
    BridgedLan  dem vorher auf LAN zugewiesenem (in meinem Fall vr0) zuweisen.
    Somit hab ich dann:
    WAN vr1
    LAN BRIDGE0 (Lan Bridge)
    WLAN ath0
    BridgedLan vr0

  16. Firewall/Rules
    WLAN, BRIDGEDLAN, LAN eine allow any rule eintragen (sollte später genauer spezifiziert werden)

  17. Sysem/Advanced/System Tunables
    net.link.bridge.pfil_member  auf 0
    net.link.bridge.pfil_bridge auf 1

  18. ich musste jetzt nocheinmal unter interfaces alle betroffenen Interfaces einmal ankliken und saven (bei LAN interface hab ich auch noch extra die IP addresse geändert und wieder zurückgeändert)
    dann auch noch bei DHCP Server (Services/).
    Nach diesem Prozeder bekam ich den DHCP-Server wieder zum Laufen (Status/Services) und bekam auch eine IP-Adresse zugewiesen.

  19. WLAN noch konfigurieren:
    Interfaces/WLAN
    Standard 802.11g
    802.11g OFDM Protection Mode Protection mode off
    Transmit power 99
    Channel Auto
    Regulatory settings (mein Land und Indoor)
    Mode Access Point
    SSID  irgendwas
    802.11g only yes
    Allow intra-BSS communication yes (wobei ich nicht genau weiß, für was - konnte es auch noch nicht ausprobieren)
    WPA Enable  und PSK eingeben - irgendein sicheres Passwort
    WPA Mode: WPA2
    WPA Key Management Mode: Pre Shared Key
    Authentication OpenSystem Authentication
    WPA Pairwise AES
    Key Rotation 60
    Master Key Regeneration 3600

  20. jetzt noch mittels ARP herausfinden, welche MAC Adresse der Bridge vergeben wurde und diese unter Interfaces/LAN als MAC Adresse fix eintragen (sonst wird jedesmal eine neue generiert und z.B. Windows erkennt immer und immer wieder ein neues Netz und fragt die Vertrauenswürdigkeit ab (bei mir sind es dzt. 13 im prinzip gleiche)

  21. diese Schritte bei allen Standort pfSense machen



  22. OpenVPN (Server) am Standort-X einrichten
    Ich wähle dafür jenen Standort, an dem ich eine fixe IP-Adresse habe und der am schnellsten ans Internet angeschlossen ist (Root-Server mit Proxmox Virtualisierung)

  23. Für die OpenVPN installation benötige ich noch folgendes Paket:
    System/Packages/Available Packages  OpenVPN tap Bridging Fix
    und zusätzlich für die Zukunft OpenVPN Client Export Utility

  24. VPN/OpenVPN Server hinzufügen:
    Server Mode Peer to Peer (Shared Key)
    Protocol UDP
    Devce Mode tap
    Interface WAN
    Local Port 1194 (oder ein anderer)
    Shared Key automatisch generieren lassen (beim 2ten mal einsteigen kann man ihn dann sehen)
    Encryption algorithm AES-128-CBC (128-bit)
    Hardware Crypto (falls vorhanden auswählen)
    Tunnel Settings:
    Tunnel Network 172.16.1.0/29  (oder eine beliebige andere Adresse, die frei ist - SubnetMask mindestens 30 (2 Clients), ich brauch mehr als 2)
    Bridge Interface LAN (bei mir hat die Oberfläche anscheinend einen kleinen Fehler die Auswahlpunkte Bridge DHCP bis Server Bridge DHCP Start sind 3x vorhanden - ich wähle überall LAN aus, dann klappt es)
    Compression yes
    sonst alles leer lassen

  25. Firewall/Rules
    WAN Pass Proto UDP, Source *, Port *, Destination *, Port 1194 (oder entsprechend)
    OpenVPN Pass Proto *, Source *,Port *, Destination *, Port * (sollte sicherlich angepasst werden)

  26. Interfaces/(assign)
    neues Interface hinzufügen und ovpns1 (wenn es sich um den 1. OpenVPN Server handelt, sonst entsprechend 2,3,.... wählen)
    wieder unter Interfaces OPTx einen sprechenden Namen (OVPN) geben und Type None, Block bogon networks

  27. Interfaces/(assign)/Bridges als Member hinzufügen (STRG + Klick)

  28. Firewall/Rules/OVPN
    Block Proto UDP, Source *, Port *, Destination *, Port 67-68 (verhindert, dass der DHCP Server von der anderen Seite der Bridge hineinfunkt)
    Pass Proto *, Source *, Port *, Destination *, Port *  (sollte sicherlich angepasst werden)

  29. An den anderen Standorten System/Packages/Available Packages OpenVPN tap Bridging Fix installieren

  30. VPN/OpenVPN/Client add
    Server Mode Peer to Peer (Shared Key)
    Protocl UDP
    Device mode tap
    Interface WAN
    Server host or address:  server.domain.name  (oder IP-Adresse von pfsense mit OpenVPN Server installation)
    Server Port 1194 (wie Server!)
    Server host name resolution Infinitely resolve server yes
    Shared Key (Copy Paste von Server Shared Key)
    Encryption AES-128-CBC (128 bit) (gleich wie Server!)
    Hardware Crypto BSD cryptodev engine (wenn vorhanden)
    Tunnel Network 172.16.1.0/29 (gleich wie Server!)
    Compress yes

  31. wieder als Interface hinzufügen, sprechenden Namen geben, Type none, Block bogon networks;
    einer Bridge hinzufügen, Firewall Rules wie am Server (ausser die WAN, die kann man sich sparen)

  32. jetzt sollte man unter Status/OpenVPN sehen, dass eine Verbindung aufgebaut wurde
    und man kann die Clients auf der anderen Seite pingen (auch vom Server aus)

  33. der Zugriff auf die anderen Netze (wenn vorhanden) auf den jeweils anderen Standorten, funktioniert aber noch nicht. Dazu trage ich die anderen pfSense's als Gateway auf der LAN Schnittstelle ein und setze gleich eine Route.
    (System/Routing/Gateways bzw. Routes)