Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - Oxygen61

#1
Hey guys,

i need a little help to understand how exactly OPNsense handles it's Tunnel-subnets for an OpenVPN-Server, when also combined with Client-Specific-Override settings to create Admin and User Subnets for different use-cases.

I have a fully working Roadwarrior OpenVPN-Server with Multifactor-Auth for my admin users. They can login without problems. As soon as I instead want an User to login to the same OpenVPN-Server they get a subnet, which should work (in theory), but just isn't able to find the gateway it seems.

OpenVPN-Server Configuration:
- 3 User: A-RoadWarrior [User] ; B-Roadwarrior [User] ; C-Roadwarrior [Admin]
- 1 OpenVPN-Server ontop of OPNsense with the following IPv4 Tunnel Network: 172.31.250.248/29
(3 IP's are used for Net-address, Broadcast and OpenVPN-server-gateway --> 5 useable Admin IP's)
- Redirect Gateway: [X]
- Address Pool: [X]
- Topology: [X]

OpenVPN-CSO Configuration:
- A-RoadWarrior IPv4 Tunnel Network: 172.31.250.240/29
- B-RoadWarrior IPv4 Tunnel Network: 172.31.250.240/29
- C-RoadWarrior IPv4 Tunnel Network: 172.31.250.248/29
- Redirect Gateway [X] for all three users

--> User Clients and Admin Clients are able to connect to the VPN-Server on my OPNsense and get an IP/Subnet assigned shown in my CSO-Configuration. The Admins can freely browse and administrate and the user can't even access IP-addresses via web. (The firewall rules are correct though - Outbound-NAT is working as well)
When a User Client get's assigned the 172.31.250.248/29 subnet instead they can browse and work as expected


My thoughts:
- I guess the problem here is that the server doesn't know about the 172.31.250.240/29 network,
since it's only configured tunnel-network is the 172.31.250.248/29 for the admins.

- I could probably create a second OpenVPN-Server to split both user-groups, BUT i need the Server to only listen to TCP/443 to insure that no matter what, the user or admin clients are always able to get out of the remote network. Both VPN-Servers won't probably listen to the same TCP/Port so that won't work I assume.

- The CSO passes the IP, configured in the tunnel-network no matter what, which is odd. So in my case both User A and B will get the IP 172.31.250.240/29, which is the Net-address. They will also steal each others IP's. The fun part is that I am able to give my Admin Client C the IP 172.31.250.248/29, which again is the Net-address but this time it will work, even though the User should not know how to reach the gateway-address with such an IP.

Any idea how to utilize subnets correctly in this scenario? I am probably overlooking something obvious here. :( Thanks for any help! Much appreciated!
#2
Hi guys,

yesterday i updated to 18.1.5 and checked if i leak any DNS-Queries.
I use Unbound DNS (Port 53) for Subnets, which i want to tunnel through my OpenVPN Gateways.
I additionally use DNSmasq (Port 1053) for 1 specific subnet, which i want to use the DNS Servers configured in System: Settings: General

For Unbound the Outgoing Network Interfaces are the VPN interfaces. Since the VPN Gateways used for the VPN Interfaces are not static IPs and changes whenever the connection fails, i made things work by using NAT to only allow connections out, if they fit the NAT rules.

Here are the rules which worked before updating:
Interface           Source        Source Port     Destination   Destination Port    NAT Address     NAT Port   StaticPort
VPN_**   <alias for VPNsubnets>     *   <alias for !RFC1918>     *             Interface address   *            NO   
WAN       <alias for VPNsubnets>     *   <alias for !RFC1918>     *             NO NAT                 *            NO   
WAN       <alias for WANsubnets>     *   <alias for !RFC1918>     *             Interface address     *            NO   

There should be no way for my VPN-Subnets to leak anything, but dnsleaktest.com shows me otherwise...
in (System: Settings: General) there are 2 DNS-Servers for this 1 specific subnet, which i want to leak DNS-Queries, but it doesn't matter which gateway i choose.. no change whatsoever. :(
Additionally i checked this: [X] Do not use the DNS Forwarder/Resolver as a DNS server for the firewall

As i said it worked before..... did anything regarding NAT settings changed updating to 18.1.5?
btw. iam not using IPv6

Thanks alot guys! :(

Best regards,
Oxy
#3
Hi Leute,

mir gehen seit dem 18.1.X Update so langsam die Probleme aus,
sodass ich mich nächste Woche an das Proxy/ICAP Thema rantrauen werde. :D
(endlich 2 Wochen Urlaub - yippih  8)) Wollte daher mal so in die Runde fragen,
wer denn das ICAP Feature von OPNsense im Zusammenhang mit dem
ESET Gateway Security (ICAP-Server) am laufen hat?
(Gibt es Alternativen außer Clam-möchtegern-AV und Symantec Protection Engine?)
Gibt es irgendwas "merkwürdiges" worauf ich achten sollte,
bzgl. HTTPS Traffic / 64bit CentOS oder der allgemeinen Einrichtung?

Ich hab mir ungefähr folgenden Fahrplan ausgedacht:

1. altes apu2c4 via USB-Stick mit 64bit CentOS installieren und ersteinrichten
2. Das Teil via LACP (3 NICs) an den Switch ran und in ein eigenes VLAN stecken
(+OPNsense VLAN Interface einrichten - ist klar)
3. Transparenten SSL-Interception Proxy für die gewünschten VLAN-Interfaces der OPNsense einrichten
+ "SSL no bump sites" für bestimmte Webseiten festlegen
(Bitte keinen Streit anfangen wegen dem HTTPs aufbrechen :P)
4. Proxy Settings anpassen und testen + CA cert auf die Geräte verteilen

Ab hier wird es spannend weil ich gar keine Ahnung habe auf welche Probleme ich da stoßen könnte
(wär ja sonst langweilig :D)


5. ESET Gateway Security auf dem CentOS APU2 installieren und updaten
6. ICAP Proxy Forwarding auf der OPNsense einrichten, damit es auf die APU2 zeigt
7. Testen und mir böse Trojaner runterladen 8)
8. Dokumentation
9. Fertig??
10. (optional) Es soll auf dem APU2 (CentOS) später noch Pi-Hole drauf installiert werden.
Wenn ich die Ports ändere für z.b. lighttpd sollte das passen.


An dieser Stelle sollte es das doch tatsächlich schon gewesen sein oder?
Ich würde mich freuen, wenn mir da jemand kurz erzählen könnte
auf welche Probleme ich wahrscheinlich stoßen werde?
Ich bin auch immer offen für Tutorials und Vorschläge. :)

Ansonsten vielen Dank schon mal im voraus und allen ein schönes Wochenende gewünscht,
Oxy

#4
Hi guys,

i have another question about DNSmasq. :) I have some pretty weird DNS configurations,
which made it possible to strictly separate VPN traffic and "normal" traffic.

Let's assume i have 5 VLAN Interfaces (A,B,C,D and E)
A-D for VPN Traffic and E for normal traffic

- Unbound DNS is bound to Interfaces A,B,C and D via Port 53
   and is using OpenVPN Gateways as "outgoing interfaces"
- DNSmasq DNS is bound to Interface E via Port 1053 (+ Port Forward 53 --> 1053 for Interface E DNS Traffic)

My Outbound NAT Configuration is doing NAT via VPN-Interface for the Subnets A,B,C and D
and one additional manual NAT Rule for WAN Traffic for the interface Subnet E.

Here is the Problem:
If Traffic goes out of Interface A,B,C or D I see my abroad VPN IP-address and the DNS Servers,
which got routed through the VPN Tunnel
--> no problem, thats how i wanted it to be :)

BUT.... ;D

If Traffic goes out of Interface E i see my local WAN IP, which is good and 3 DNS Servers, which i configured in System -> Settings -> General. But i also see the DNS Servers from the abroad VPN tunnel. So there are 6+ DNS Servers for 1 connection. :(

Is there any way to use the advanced settings of Dnsmasq to force him to only use the WAN_DHCP Gateway as outgoing Interface, like the Unbound DNS? Or is there any way to force Dnsmasq to only use some specific external DNS Servers (The ones configured in Settings- > General) like 8.8.8.8 for example?

I hope i didn't confused anyone. :D
Thank you very much in advance. :)

Best regards,
Oxy
#5
18.1 Legacy Series / Alias Expiration - 15 minutes?
February 18, 2018, 03:11:00 AM
Hey guys,

first of all thank you all for the support and the great upgrade to 18.X. I upgraded through console/SSH and run into not a single problem. After what i've read the last days i expected my firewall to explode or something simliar.  ;D The new live view for firewall rules looks great!  ;)

Back to my "problem".. i saw a github ticket which i made back then about alias reloads for URL Table (IPs) and found this (i had no idea Ad worked on that): https://github.com/opnsense/core/issues/1971

Is it possible to change the time even further? For now i wrote "0" for days and "1" for hours as an expiration time. What if i would like to have a refresh time window of 15 minutes? Is that possbile or is 1 hour the minimum to choose? I use blocklists which would need 10-20 minutes sometimes.

Have a nice day and a happy weekend! :)

Best regards,
Oxy
#6
Hi Guys,

i have a OpenVPN problem, which happens sometimes.
I have 3 OpenVPN connections at the same time.
All three Gateways are up and the failover Gateway is telling me that every Gateway is up and connected.
The problem is that only 1 of 3 OpenVPN services are running.
The other two are down, saying "Service not running? / unable to contact daemon"
The Log is saying the following when i try to reactivate one of these:

Nov 13 22:07:14 openvpn[81882]: Exiting due to fatal error
Nov 13 22:07:14 openvpn[81882]: Cannot open TUN/TAP dev /dev/tun1: Device busy (errno=16)
Nov 13 22:07:14 openvpn[81882]: TUN/TAP device ovpnc1 exists previously, keep at program end

Why is OpenVPN not able to close the device and enable it again?

I am more than sure that just rebooting the system would solve the issue, but i don't like this kind of approach. :D
Is there anything i can check to get an idea why this is happening in the first place?
I am using OPNsense Ver 17.7.7_1-amd64 at the moment.

Best regards,
Oxy
#7
17.7 Legacy Series / [SOLVED] No Internet anymore
November 03, 2017, 04:16:32 PM
Hello guys,

this is pretty urgent since i completely lost connection to the Internet.
Just for the record i have to say that i once tried to configure VPN, so that every traffic gets send out only on this interface but i had to rollback because it didn't went that well.

The problem is that my update from ver. 17.7.5 to 17.7.7+ worked but i got into many troubles with connection loss and TCP Traffic problems like HTTP and HTTPs.
Since today (early in the morning) the Firewall decided to not resolve any traffic anymore. I always get DNS resolve errors in any browser i use. I tried DNSmasq and Unbound, and rolled back from every configuration decision, which i thought was wrong since i started my vpn configuration journey until nothing was left and all was back to "normal" again with WAN as default Gateway.
To be sure i even Recovered older configs from timestamps, which i knew were good and working.

Still can't resolve any traffic but pings to 8.8.8.8 are working. My WAN_DHCP Gateway is up and running, there are NO error logs in the system Log or unbound/DNSmasq log or Gateway log besides this one:

apinger: Error while feeding rrdtool: Broken pipe
apinger: rrdtool respawning too fast, waiting 300s

Restarting ipsec tunnels
Reloading Filter
Restarting OpenVPN tunnels/interfaces WAN_DHCP

Traceroute to google.de started from the firewall itself (localhost) is not working:
traceroute: unknown host google.de

DNS lookup to google.de started from the Firewall itself (localhost) is not working aswell:
DNS lookup: no response

since there are no error logs in any DNS daemon iam not sure how to handle this DNS resolve issue.
I even restarted the firewall 3 times and restarted my modem.. nothing helped.

Gladly i once downloaded 17.7.5 so iam pretty sure that i could possibly resolve the issue by reinstalling everything (maybe using my config in best case)....

Any ideas? Otherwise i will go the reinstall "route" this afternoon :(

Best regards,
Oxy
#8
Hallo Leute,

Hintergrund:
ich habe mal wieder VPN Probleme. (Oder immer noch? Oder immer wieder? :( )
In meinem Netzwerk ist per LACP die Verbindung von der Firewall zum "Core" Switch 4-fach Redundant.
An diesem Switch hängt ebenfalls über LACP 2-fach redundant mein NAS.
Weiterhin übernimmt die Firewall somit das Inter-VLAN-Routing zwischen den VLANs, die über das LAGG Interface getagged zum Trunk Port am HP 1920-24G Switch übertragen werden.
Laptop, Rechner, NAS, WLAN..... alles ist schön säuberlich per VLAN getrennt und per Firewall Rules geregelt.
Ich habe drei OpenVPN Verbindungen, die sich als Failover Group gegenseitig bei einem "member down" abwechseln sollen.

Problem:
Wenn Hohe Latenzen auf dem WAN Interface zustande kommen und/oder hohe Latenzen auf den VPN Verbindungen erscheinen, habe ich kurze Verbindungsabbrüche zur NAS, was sich darin äußert, dass der VLC Player beim abspielen (Laptop VLAN), die Datei nicht findet (NAS VLAN) und ich völlig entnervt vom Sofa aufstehen muss um den Player neuzustarten.
Warum zum Geier, wird der interne LAN Verkehr gestört, wenn mein ISP oder der VPN Probleme hat?
Die CPU Auslastung ist währenddessen durchschnittlich bei 10%.

Was ich schon probiert habe:
Das Problem verfolgt mich jetzt schon mehrere Monate und ich habe so ziemlich alle Layer-1 und Layer-2 Probleme gründlichst untersucht ohne was zu entdecken, wodurch ich mir ziemlich sicher bin, dass das Problem entweder bei der OPNsense selber liegt oder an meiner Unfähigkeit die Firewall richtig zu konfigurieren. :(
1. Ich habe den Switchport an den der Laptop hängt auf einen anderen Port gewechselt --> Kein Erfolg
2. Kabel getauscht --> Kein Erfolg
3. Switch, Firewall und auch Client NIC Treiber/Firmware geupdated --> Kein Erfolg
4. LAGG Fast timeout enabled --> Kein Erfolg
5. VLAN priority der NAS VLAN auf "Internetwork Control(6)" gestellt --> Kein Erfolg
6. NAS Log überprüft --> Keine Fehler
7. Switch Log überprüft --> Trunk Interface stabil ohne UP/Downs
8. Latency thresholds der VPN Interfaces und des WAN Interfaces auf 1500/2000 gestellt --> Kein Erfolg
9. Packet Loss thresholds der VPN Interfaces und des WAN Interfaces auf 70/80 gestellt --> Kein Erfolg
10. VLAN Einstellungen weiß ich wie oft schon überprüft auf der Firewall und auf dem Switch --> Keine Besserung

Meine Vermutung:
Ein paar Sachen sind komisch:
1) Und zwar meldet die OPNsense "Error Outs" bei den VLAN Interfaces. Nur 4-6 und die werden auch nicht mehr, aber gehen auch nicht auf 0, wenn ich die Firewall neustarte.
2) Der Gateway Status der VPN Interfaces bleibt nach einem Reboot auf "unknown", bis ich den "apinger daemon" neustarte. Dann werden die Gateways wieder erkannt.
3) Das Inter-VLAN-Routing wird vom VPN gestört. Wenn die VPN Interfaces down gehen und sich selber abwechseln und dann dabei der ganze VPN Failover down geht, weil die ISP Verbindung eine zu hohe Latenz aufweist, dann werden die WAN Interface und die VPN Interfaces ständig neugestartet. Warum auch immer funktioniert dann das Routing zum NAS VLAN nicht mehr.

Vor lauter Frust hätte ich mir vorhin fast nen 20€ Hub gekauft um NAS und Laptop einfach direkt miteinander zu verkabeln... Konnte mich aber noch beherrschen.. man will ja nicht aufgeben, aber das ist schon alles sehr frustrierend. :(
Hat irgendwer noch eine Idee? Dumme Frage aber angenommen, mein Outbound-NAT ist falsch konfiguriert, könnte das dafür sorgen, dass interner Verkehr nicht geroutet wird? Nein oder?

Schöne Grüße
Oxy

Ps.: sorry für den Rant. :-/
#9
Hallo zusammen,

nach ewigen Kämpfen mit den OpenVPN Client Einstellungen hatte ich vor ein paar Wochen / einem Monat ungefähr eine "relativ" stabile VPN Verbindung zusammengebaut, die nur dann abstürzte wenn sehr hohe Latenz Spitzen durch den ISP und/oder VPN Server auftraten.
Normalerweise stürzte die VPN Verbindung dann mit dieser Fehlermeldung ab und verband sich erneut:
openvpn[16389]: SIGTERM[hard,] received, process exiting
Den Ausfall hatte man kaum gemerkt wenn überhaupt, also war nicht der Rede wert.

Mein jetziges Problem:
Nach einem Tunnel Absturz, kann sich die VPN Verbindung neu aufbauen, ein paar Bytes kommen sogar durch, doch dann bekomme ich nur noch "ERR_NAME_NOT_RESOLVED" im Browser.
Ich schaue also in diverse Logs und sehe folgendes:

Unbound DNS:
unbound: [74447:0] error: can't bind socket: Can't assign requested address for 10.3.0.34
unbound: [74447:0] error: can't bind socket: Can't assign requested address for 10.3.0.34
unbound: [74447:0] error: can't bind socket: Can't assign requested address for 10.3.0.34
[ . . . ]

System:Gateways:
apinger: command (/usr/local/opnsense/service/configd_ctl.py -m 'dyndns reload WAN_DHCP' 'rfc2136 reload WAN_DHCP' 'ipsecdns reload' 'openvpn reload WAN_DHCP' 'filter reload' ) exited with status: 255
apinger: Error while starting command form alarm(down) on target(<Meine public WAN IP>-WAN_DHCP)

Das DNS Problem entstand erst nach dem Update auf Version 17.7

Lösungsversuch:
Ich dachte zuerst es liegt an irgendwelchen komischen Access List Einträgen, die sich nach dem neu verbinden mit dem Tunnel nicht aktuallisieren und hatte deshalb mal bei Unbound eine Access List erstellt die 10.0.0.0/8 erlaubt. Daran lag aber nicht.

Workaround:
Mein Workaround ist zurzeit den Unbound DNS Daemon neuzustarten per GUI und voila es geht plötzlich wieder.
Sehr sehr nervig, da ich als "Outgoing Network Interfaces" nur die DNS Auflösungen per VPN erlaube gegen einen DNS Leak. In den OpenVPN Config Einstellungen hab ich den Haken bei "Server host name resolution" angemacht. Das hatte aber vor dem Update auf 17.7 auch keine Probleme gemacht, aber könnte es daran liegen?

Ist da irgendjemanden irgendetwas bekannt? Bin ich der einzige mit dem Problem?
Braucht ihr noch mehr Infos?

Schöne Grüße
Oxy :)

EDIT:
Gestern war im Log noch folgendes aufzufinden:
PID_ERR large diff
PID_ERR replay-window backtrack

Diese Meldungen sollen wohl laut Google entweder auf falsches NTP oder DNS zurückzuführen sein.
NTP ist bei mir aber nie ein Problem gewesen. Das Läuft gut mit den "0.pool.ntp.org" Servern, seit immer schon.
Nur Unbound DNS macht wie gesagt Probleme.
#10
Hallo Leute,

folgendes Problem.
Ich hab 2FA für root und meinen Administrationsaccount "admin" eingestellt und alles funktionierte super.
Ich habe ebenfalls wie hier beschrieben den Fallback ausgeschalten: https://docs.opnsense.org/manual/two_factor.html#time-based-one-time-password
QuoteTo prevent GUI lockout due to unavailable remote authentication server, the system has a default fallback to the local database. In case of 2FA for the GUI one needs to disable the fallback option to make sure no local user can gain access without 2FA.

Jetzt nach fast nem Monat muss ich tatsächlich mal wieder an die Konsole und wie man wahrscheinlich denken könnte ist durch das Abschalten der Local Database nun das Problem entstanden, dass ich mich nicht mehr auf die Konsole schalten kann. Aktiviere ich die Local Database wieder als Fallback ist doch aber der Vorteil des 2FA verschwunden oder? Kann man das irgendwie "schön" lösen?
In der Anleitung steht ja auch folgendes:
QuoteAll services of OPNsense can be used with this 2FA solution, with the exception of console/ssh access.

Was nun? :(

Schöne Grüße
Oxy
#11
German - Deutsch / [GELÖST] APU2C4 USB Tethering?
June 06, 2017, 09:00:48 AM
Hallo zusammen,

ich würde gerne für eine kleine Vorführung der OPNsense bei einem Kumpel WLAN und WAN bereitstellen.
Besser gesagt eine Internetverbindung für nicht länger als eine Stunde herstellen, ein paar Sachen zeigen und fertig. Fürs WLAN hab ich nen alten Access Point der ausreicht, jedoch macht mir das WAN sorgen.

Gibt es eine Möglichkeit temporär über USB Tethering vom Handy zur Appliance eine Internetverbindung über das Handy bereitzustellen? Hat das schon mal jemand versucht? Gibt es da Erfahrungswerte? :)

Schöne Grüße
Oxy
#12
Hallo Leute,

ich stell mich mal wieder glatt, deswegen schon mal vorher ein großes dickes Sorry!
Bestimmt übersehe ich auch einfach nur wieder irgendwas und irgendwer sieht für mich den Wald bei all den Bäumen. :)

Überlegung:
Mein Problem ist, dass ich keine Geräte hinter meinem VLAN Switch per Ping erreichen kann.
Ich habe einen Switch per Trunk Port an den LAN Port der Firewall angeschlossen und mehrere VLANs mit eigenen Subnetzen definiert. Soweit so gut. Diese können auch alle ins Internet und sollen sich untereinander nicht ansprechen dürfen. Beim Einrichten des Fritzbox WLAN AP, habe ich nun das merkwürdige Verhalten, dass die Konfigurationsoberfläche falsch dargestellt wird wenn ich die IP aus meinem Admin VLAN versuche zu erreichen. Öffne ich die Fritzbox GUI direkt aus dem WLAN Subnetz wird die richtige Oberfläche angezeigt, wo man sich mit Passwort einloggen kann. Also hatte ich die Vermutung, dass irgendwas mit den Routen nicht stimmt, also habe ich mit der OPNsense GUI angefangen Pings und Traceroutes zu machen (vorher natürlich die ICMP Regel dafür erstellt)

Problem:
Jetzt steh ich vor dem Problem das ich generell, also ganz egal ob jetzt nun Fritzbox oder normaler Laptop Client, ich nicht zwischen den Geräten innerhalb verschiedener VLANs pingen kann.

Beispiel:
>> Firewall Freischaltung für ICMP von any nach any auf dem VLAN 1 Interface bereits eingestellt <<
VLAN 1 (Admin) Subnetz: 192.168.1.0/24
VLAN 2 (Nutzer) Subnetz: 192.168.2.0/24
Switch IP: 192.168.1.2
Switch Gateway: 192.168.1.1 (also die IP der OPNsense Schnittstelle in VLAN 1)

Ping von 192.168.1.2 (Switch) auf 192.168.2.1 (OPNsense) funktioniert
Ping von 192.168.1.2 (Switch) auf 192.168.2.7 (Client) funktioniert nicht
Ping von 192.168.2.1 (OPNsense) auf 192.168.1.1 (OPNsense) funktioniert
Ping von 192.168.2.1 (OPNsense) auf 192.168.1.2 (Switch) funktioniert
Ping von 192.168.2.1 (OPNsense) auf 192.168.1.7 (Client) funktioniert nicht

Folgender Aufbau (ungefähr):

[ O P N s e n s e ]
              |
    Trunk | (VLAN 1 &2)
              |
[    TP   -Link   Switch     ]
   |                                   |
General Port              General Port
VLAN 1                           VLAN 2
   |                                    |
[Client 192.168.1.7]         [Client 192.168.2.7]   

_____________________________

Das sieht für mich nach ner 0815 VLAN Aufgabe aus, weshalb ich halt auch grade echt von den Socken bin, dass das einfach beim besten Willen nicht klappen will. Hat irgendwer Erfahrung mit TP-Link Switchen und der Umsetzung mit OPNsense? Kann jemand vielleicht erahnen welchen Denkfehler ich hier habe?
Richtig peinlich... wie gesagt .. Sorry! :(

BTW: VLANs und IPs sind in diesem Post nur Beispielhaft, das Problem bleibt aber natürlich das gleiche.

Schöne Grüße und ein erholsames Wochenende gewünscht,
Oxy

EDIT: Ich bin mir mittlerweile ziemlich sicher, dass es am Switch liegt. Bei allen Ping und Tracert Verbindungen erreiche ich das andere Subnetz bis hin zum Switch und NUR bis zum Switch.
Das verwirrt mich noch viel mehr als vorher... :(
Grade der Switch müsste doch die wenigsten Probleme mit dem getaggten Paket haben?
Ich meine der muss doch nur noch zuordnen an welchen Access/General Port er das Paket dann schicken soll...
uhh... :(
#13
hey hey,

habe jetzt heute etwas am Captive Portal schrauben können wobei mir ein paar Dinge aufgefallen sind.

=== Was ist mir aufgefallen: ===

1) Ein Captive Portal mit Benutzername & Passwort (Local Database) und ZUSÄTZLICH einem Vouchercode Feld ohne Voucher-Password, also 3 Felder sind nicht länger gewollt (seit ver. 16.x) und nicht auf einfachen Wege mehr umsetzbar. Schade! Hätte ich gern gehabt. :(
Siehe: https://github.com/opnsense/core/issues/688

2.) Da ich mich dank überragender HTML Kenntnisse total auskenne  ::) (Achtung Sarkasmus) fing ich damals mal an das Captive Portal anhand der Template Vorlage aufzubauen die man im OPNsense Wiki findet.
Hat man nun zwei Felder in seinem Template für Benutzername und Password und lässt diese aber leer und bestätigt dann die leere "Eingabe" mit dem Button:
<input class="btn btn-lg btn-success btn-block" id="signin" name="accept" type="submit" value="Benutzer anmelden">
stürzt die WLAN Verbindung sofort ab (getestet am Samsung S7 Android - nicht gerooted), anstatt mit
window.location = 'http://'+getURLparams()['redirurl']+'?refresh';
das Captive Portal zu refreshen.
So wie ich das herausfinden konnte liegt das wohl daran, dass man bei "Services>Captive Portal>Administration" als Authenticate using die local Database und/oder den Voucher Server genommen hat aber folgenden Code NICHT auskommentierte:
/**
*login anonymous, only applicable when server is configured without authentication
*/   
[.....]

Kommentiert man diesen Abschnitt aus ist der Fehler weg.
Nur damit andere nicht in die selbe Falle tappen vielleicht. :)

=== Meine Fragen: ===

1.) Ich hab ähnlich wie bei der (Advanced - Session popup) Vorlage in https://docs.opnsense.org/manual/how-tos/guestnet.html versucht eine Error.html Seite zu erstellen, die die aktuelle Captive Portal Seite  neu laden sollte mit einer Fehlermeldung:
<div class="alert alert-warning">
<strong>Error:</strong>&nbsp;Fehler bei der Anmeldung. Bitte überprüfen sie Benutzername und Passwort.
</div>

Klappt auch alles ganz gut, nur habe ich Probleme den "rediurl" Inhalt über mehrere Error Seiten hinweg zu behalten. Angenommen ein User vertippt sich zweimal, dann wird also beim zweiten Mal laden der error.html Seite aus der redirection URL "?rediurl=<http Seite.de>" nämlich nur noch "?rediurl=undefined".
Der Code den ich dafür verändert hatte im Script war folgender:
// redirect on successful login
[.....]
                        } else {
                            $("#errorMSGtext").html("authentication failed");
                            $("#alertMSG").removeClass("hidden");
window.location = 'https://foo.foobar.de:8080/error.html'+'?rediurl='+getURLparams()['redirurl'];
                        }
[.....]

Wie gesagt, einmal vertippen geht (Der Sprung von index.html zu error.html), beim zweiten (error.html zu error.html) mal ist die rediurl = undefined  :o :-\
Hat einer ne Idee? :(
EDIT: Grade nochmal getestet, die rediurl wird nach dem Wechsel von index.html zu error.html zwar mitgenommen, aber nicht als Variable gespeichert --> ein redirect funktioniert dann trotzdem nicht obwohl da die vorherige redirect url in der Captive Portal URL mit drinne steht. Sehr komisch. :/

2.)
Ich muss bedingt durch das Design des Captive Portals insgesamt 4 Felder (jeweils 2 für Local Database und 2 für Voucher) in meine Webseite einbauen, obwohl man es auch in 2 Feldern umsetzen könnte.
Nun dachte ich mir ich kopiere einfach das was schon für den Benutzernamen+Password für die Local Database funktionierte und wechsel einfach die Variablen aus.
Siehe:
/**
* logon action 2 - Voucher
*/
      $("#signin2").click(function (event) {
      [.....]
      data:{ user: $("#inputVouchername").val(), password: $("#inputVoucherpassword").val() }
[......]

Im HTML Teil schrieb ich folgendes:
<label for="inputUsername" class="sr-only">Benutzer Login</label>
   <input name="auth_user" type="text" id="inputUsername" class="form-control" placeholder="Benutzername" required autofocus>
            <input name="auth_pass" type="password" id="inputPassword" class="form-control" placeholder="Passwort" required>
             <input class="btn btn-lg btn-success btn-block" id="signin" name="accept" type="submit" value="Benutzer anmelden">
<p></p>
                    <p>
bla bla bla Text Text
          </p>
<label for="inputVoucher" class="sr-only">Vouchercode</label>
                <input name="auth_voucher_user" id="inputVouchername" type="text" placeholder="Voucher Name" class="form-control">
<input name="auth_voucher_pass" id="inputVoucherpassword" type="password" placeholder="Passwort" class="form-control">
                <input class="btn btn-lg btn-success btn-block" id="signin2" name="accept" type="submit" value="Vouchercode anmelden">

Ich hab also die "id's" neu gesetzt und ausgetauscht was nicht funktionierte. Gebe ich in die Felder Vouchername und Passwort Daten ein und drücke auf den zweiten Voucher anmelde Button startet die session nicht und ich lande wieder auf der selben error.html seite wie zu vor.

Hoffe mir kann da jemand helfen. :)

Schöne Grüße
Oxy
#14
Hallo zusammen,

ich bin zurzeit dabei mein Netz soweit zu planen, dass ich mit der Konfiguration los legen kann.
Nun habe ich im Eifer des Gefechts (und weil ich ein DSL Anfänger bin ::)) nicht bemerkt,
dass mein Modem nur ein Interface zur Verfügung hat zur Firewall und deshalb meine Planung für das DMZ nicht funktioniert wie ich will.

Im Anhang sieht man das Netz wie ich es mir ungefähr vorgestellt hatte (die .xml Datei für draw.io zum nachvollziehen).
Ein paar Dinge fehlen noch (ICAP und NAS) aber die spielen erst einmal keine Rolle...

Wichtig war es mir die IP Kameras in einer DMZ einzusperren, jedoch über VPN von außen Zugriff zu erhalten.
Ports wollte ich auf meiner "FW1" eigentlich keine öffnen und für das VPN lieber eine zweite Firewall "FW2" nutzen.

Hier also meine erste Frage....
Aus Security Sicht, wie schlimm ist es für IPSec oder OpenVPN Verbindungen von außen (WAN) auf der Firewall zu erlauben und die notwendigen Ports freizuschalten?
Bin ich da zu übervorsichtig? Lohnt sich an der Stelle der DMZ Aufwand überhaupt?
Die meisten Angriffe von Außen kommen ja eh über 443 und 80/ 8080 oder?
Ich hatte von einer NAT DMZ Umsetzung aus dem M0n0wall Handbuch gelesen.
Aber das kann man ja nicht länger DMZ nennen (im klassischen Sinne),
gerade wenn ich mir was zu UDP hole punching durchlese.  :-\

Zweite Frage....
Bekomme ich mein Netz so umgebaut, dass die DMZ Implementation doch noch funktioniert?
Hierfür war mir folgendes wichtig:
- Ports auf FW2 öffnen, nicht auf FW 1
- Das Modem nicht durch eine Fritzbox ersetzen um Doppel-NAT zu verhindern
- Zugriff auf die Kameras (DMZ) aus dem Internet nur über VPN, jedoch ggf. SSH aus dem LAN in die DMZ

Ich hab das Gefühl, dass ich mich bei meiner Planung gerade irgendwie im Kreis drehe. :(
Kann mir jemand auf die Sprünge helfen oder besser, hat wer anderes einen ähnlichen Aufbau und kann darüber was berichten? :)

Ich bin über jede Hilfestellung dankbar. :)

Schöne Grüße
Oxy
#15
Hallo zusammen,

ich mal wieder. Ich habe grade mal ein "nmap -T4 -A -v <LAN-Int-IP>" auf meine Kiste abgelassen,
weil ich der Meinung war endlich fertig zu sein mit meinem LAN Ruleset.
Nun fiel mir auf das dort ein offener (nicht gefiltert oder closed) Port 1720 offen war.

Was habe ich versucht?
Da ich außer SSH, HTTP/HTTPS und ICMP an der Stelle nichts anderes brauche und erlaube an offenen Ports,
legte ich diese Regel an:
BLOCK IPv4 TCP   <LAN Netz> *   <LAN Interface IP>     1720   *   Block Port 1720    

Ergebnis:
Wie ihr euch sicher vorstellen könnt, brachte das überhaupt gar nichts. --> Port immer noch offen.
Meine Frage nun: Warum ist dieser Port überhaupt offen und warum lässt er sich nicht schließen? :-/

Troubleshoot:
Nachgeschaut hatte ich hier: http://www.speedguide.net/port.php?port=1720
Doch was hat OPNsense mit "NetMeeting" am Hut? :(

Ein # netstat  | grep 1720
brachte mir auch keine Erleuchtung ein. Als Antwort kam da kein aktiver Prozess zurück.
Vom Rechner der per nmap scannte konnte ich ebenfalls per telnet <LAN Interface IP> 1720 erfolgreich testen.
> os-upnp   1.1   31.0KiB   Universal Plug and Play Service
ist ebenfalls nicht installiert.

Was übersehe ich hier offensichtlich? :(

Schöne Grüße
Oxy
#16
Hey guys,

i am troubleshooting since 2 days now and i can't see the light at the end of the tunnel. :(

What i try to accomplish is to led my Nagios Server talk to my OPNsense over TCP 5666 and let the Firewall talk back and give some feedback about "average load", "root folder", tcp check and some other services like ntp, ssh and icmp.

What i did was the following:
- install nrpe out of the repository.
- cp /usr/local/etc/nrpe.cfg-sample /usr/local/etc/nrpe.cfg
- changed allowed hosts inside of nrpe.cfg and put in the ip of my Nagios Server + 127.0.0.1.
- created a firewall rule (floating Rule - first match) accepting incoming traffic on port 5666
(To make sure that rules are not the problem, i kinda changed the rule to "PERMIT ANY ANY port 5666" over time)
- enable NRPE by doing: ee /etc/rc.conf --> nrpe2_enable="YES"
(Btw... is it normal that the file was not there from the beginning?)
- chown -R nagios:nagios /usr/local/libexec/nagios/
- insert into /etc/services --> nrpe     5666/tcp  # NRPE
- inside /etc/hosts.allow i put in two rules (because i wasn't sure about the syntax)
nrpe : xxx.xxx.xxx.xxx/255.255.255.0 : allow
and
nrpe : xxx.xxx.xxx.xxx/24 : allow
- sudo /usr/local/etc/rc.d/nrpe2 start
- ps 40630
output:  PID   TT  STAT    TIME           COMMAND
            40630  -     Is       0:00.00     /usr/local/sbin/nrpe2 -c /usr/local/etc/nrpe.cfg -d

Things i did to troubleshoot my problem:
- From Nagios: telnet <remote_ip> 5666 ---> worked
- From Nagios: nmap <remote_ip> ---> was able to see open Port 5666
- tried doing the "-t 20" trick which did not change anything.
- From OPNsense: /usr/local/libexec/nagios/check_nrpe2 -H localhost ---> "NRPE 2.15" as response
- ps -aef | grep nrpe --> gives me no response
- ps ax | grep nrpe --> gives me:
40630  -  Is     0:00.00 /usr/local/sbin/nrpe2 -c /usr/local/etc/nrpe.cfg -d
44893  0  S+     0:00.00 grep nrpe
- From Nagios: using a check command while watching the traffic with Tcpdump.
Nagios sends 4 packets but is not getting any answers back from OPNsense.
- i watched the Firewall Log while Nagios was sending the packets but there were no entries made in the meantime.

My Problem:
- Socket Timeout After 10 Seconds


Nagios is able to check_<anything> from other remote Hosts already. For the other clients they are all using 2.13 instead of 2.15, which OPNsense is using. The issue must be something regarding the OPNsense version 2.15 which i can't find...

Did anyone ever had any trouble installing NRPE into OPNsense and can tell me what i may forgot to configure?

Best regards and thank you very much in advance :)
Oxy
#17
Hallo zusammen,

folgender Sachverhalt:
Ich habe hier eine Firewall Kiste mit 3 Netzwerkkarten (WAN, WLAN und LAN).
Mein Problem bezieht sich hierbei auf das WLAN.
Auf der OPNsense habe ich unter
Services -> Network Time -> General auf der dem WAN Interface meinen Public NTP Server eingetragen.
Dieser kann von der OPNsense laut Firewall Log auch erreicht werden.
Beim DHCP auf der WLAN Seite habe ich nun die lokale WLAN Interface IP Adresse der OPNsense als NTP Server eingetragen.
Also:
Services -> DHCP -> Server -> WLAN -> NTP servers -> lokale WLAN Interface IP

Rules:
In den WLAN Firewall Rules hatte ich zuerst die meiner Meinung nach logische Rule eingetragen die so aussah:
PASS | IPv4 UDP | WLAN net   * | WLAN address 123 (NTP)
später änderte ich diese auf
PASS | IPv4 * | WLAN net   * | WLAN address *
um Probleme bei den Firewall Rules auszuschließen.

Fehler:
Nun verbinde ich mich mit meinem Windows 7 Laptop per WLAN, bekomme laut cmd auch gültige DHCP Einstellungen. Möchte ich jetzt unter Windows im Reiter "Internetzeiteinstellungen" die IP meiner lokalen WLAN Interface Schnittstelle der Firewall eingeben, bekomme ich immer wieder Fehlermeldungen vom Laptop.
Entweder "Der Peer ist nicht erreichbar" oder "eine Zeitüberschreitung ist aufgetreten."

Lösungsansätze:
- Die Interface IP ist vom Laptop aber möglich zu pingen.
- Die Firewall bekommt über WAN Antworten vom NTP Server.
- pftop gibt mir bei dem Verbindungsaufbau folgendes:
udp   In  <Laptop Client>:123  <WLAN interface>:123    NO_TRAFFIC:SINGLE

Was übersehe ich? Ich verzweifel an sonem Mini Problem :(
Hoffe mir kann jemand nen Tipp geben.
Danke

Schöne Grüße
Oxy
#18
Hallo,

mir ist aufgefallen, dass jeder User der unter "System > Access > Users" angelegt wird, auch wenn er keine Privilegien zugeordnet bekommt sich am Captive Portal erfolgreich authentifizieren kann.
Bei pfSense wie auch bei OPNsense gibt es ja das "Services: Captive Portal" Privileg, welches diesen Zugriff eigentlich extra erlauben sollte.
Hab ich da einen Denkfehler oder warum braucht man dieses Privileg nicht?
Ich will eigentlich nicht unbedingt, dass jemand der von mir aus jetzt nur als Beispiel das Monitoring übernehmen sollte, sich auch gleichzeitig sofort am Captive Portal anmelden darf mit seinem Handy.

Schöne Grüße
Oxy
#19
Hallo zusammen :)

Ich stand die letzten zwei Tage vor der Problemstellung des automatisierten Backups auf einem TFTP Server.
Da man zu dieser Problemstellung weder in der Doku noch sonst irgendwo im Netz ordentliche Anleitungen und Hilfen findet dachte ich mir,
dass ich meine Arbeit für die letzten zwei Tage auch einfach mal hier hochladen könnte,
damit andere sich die zwei Tage bei ähnlichem Aufbau sparen können. :)

Kurze Zusammenfassung meiner Aufgabe:
Sichere die derzeitige config.xml und voucher.db Datei aus dem /conf/ Ordner auf einen im Intranet erreichbaren TFTP Server. Führe die Sicherung, gekennzeichnet mit dem Datum, regelmäßig zu einer "unkritischen" Uhrzeit und ohne zusätzlichen Eingriff des Administrators aus.

Voraussetzungen:
Aufgabe ist es eine automatische Backup Routine zu erzeugen,
die es der Firewall ermöglicht die Konfiguration selbstständig auf ein TFTP Verzeichnis zu verschieben.
Hierfür ist der Zugriff auf die Shell notwendig, da über sie das Script wie auch das Template für den Cron-Job geschrieben werden müssen.
Hierfür nutzen wir SSH. (Siehe Referenzen)
Das Verzeichnis (Der TFTP Server), welches später die notwendigen Files erhalten wird muss vorher durch pings erreichbar sein,
eine Kommunikation und eine Antwortmöglichkeit darf nicht durch eine dazwischenliegende Firewall abgefangen werden.
Die Rechte des TFTP Verzeichnisses müssen zusätzlich angepasst werden.
Die notwendige Berechtigung ist ,,755", bzw. ,,drwxr-xr-x".
Getestet werden kann der Zugriff schon einmal ohne Script,
indem man versucht ein Textfile auf manuellem Wege zu versenden.

Kommando1: TFTP <TFTP-IP>
Kommando2: put /lokalerOrdner/Textfile.txt /remoteOrdner/Textfile.txt

Ist die Übertragung möglich gewesen kann nun mit der Automatisierung begonnen werden.

Schritt 1: Script erzeugen
Hierfür wechselt man in das richtige Verzeichnis um von dort aus das Script erstellen zu können.
Die Rechte werden angepasst und das Script wird geschrieben.

Kommando3: cd /conf/
Kommando4: touch TFTP_Backup_Script.sh
Kommando5: chmod 755 TFTP_Backup_Script.sh
Kommando6: ee TFTP_Backup_Script.sh

Nun muss folgender Code in das Script geschrieben werden:
---------------------------------------------------------------

#!/bin/sh
#Autor Oxygen61

cd /conf/
#Wechsel auf das "Backup" Verzeichnis von OPNsense

DATE=$(date +"%d-%m-%Y")
#Schreibt die aktuelle Zeit formatiert
#nach Tag-Monat-Jahr in die Variable DATE

NUM=`echo vouchers_*.db | sed 's|^\(.*vouchers_ *\)\(.*\)\( *.db.*\)$|\2|g'`
#Gibt die in dem Conf Ordner befindliche Voucher Datei aus.
#Piped diese zum ,,sed" Kommando um diese so zu filtern,
#dass die Zeichen zwischen ,,vouchers_" und ,,.db" in die Variable ,,NUM" geschrieben werden.
#Das ist notwendig, da sich diese Zeichenkette stets ändern könnte.

cp config.xml OPNsenseConfig[$DATE].xml
cp vouchers_$NUM.db vouchers_$NUM[$DATE].db
#Temporäre Kopie der Config und Voucher Datei und
#dessen Umbenennung um die Original Dateien nicht benutzen zu müssen.

tftp <TFTP-IP> << EOF
mode binary
put /conf/OPNsenseConfig[$DATE].xml /remoteOrdner/OPNsenseConfig[$DATE].xml
put /conf/vouchers_$NUM[$DATE].db /remoteOrdner/vouchers_$NUM[$DATE].db
quit
EOF
#Kopiervorgang auf den TFTP Server im Ordner /remoteOrdner/

cd /conf/
rm OPNsenseConfig[$DATE].xml
rm vouchers_$NUM[$DATE].db
#Loeschen der temporaer erstellten .xml und .db Datei

if [ "$?" != "0" ];
then
   echo "[Error] Es ist ein Fehler aufgetreten beim Kopieren!" 1>&2;
   exit 1;
else
  echo "[Success] Konfiguration erfolgreich kopiert!";
fi
#Überprüfen der Variable $?, um entscheiden zu können,
#ob beim Kopiervorgang ein Fehler auftrat.


-------------------------------------------------------------------

Kommando7: Strg+C
Kommando8: exit > Enter

Schritt 2: Eigenständiges Cron Job Template/Preset für die GUI erstellen
Das Shell Script für das Backup wurde geschrieben und sollte ausgeführt mit
,,./TFTP_Backup_Script.sh" die Ausgabe "[Success] Konfiguration erfolgreich kopiert!" liefern.
Kam es hierbei zu keinerlei Fehlermeldungen kann nun mit der Erstellung des Cron Job Templates begonnen werden.
Hierfür muss eine neue action im action.d Ordner erzeugt werden.

Kommando9: cd /usr/local/opnsense/service/conf/actions.d
Kommando10: touch actions_backup.conf
Kommando11: ee actions_backup.conf

Inhalt dieser Conf Datei muss nun folgendes sein:
-------------------------------------------------------------------

[start]
command:/conf/TFTP_Backup_Script.sh start
parameters:
type:script
message:Kopiere Backup auf TFTP
description:Kopiere Backup auf TFTP


Kommando12: Strg+C
Kommando13: exit > Enter
Kommando14: service configd restart
Kommando15: configctl backup start

Die Rückgabe sollte "[OK]" liefern.
Alles funktionierte demnach ohne Fehler.

Schritt 3: Zeiten festlegen
Das Cron Template ist nun ebenfalls geschrieben und durch das Neustarten des Config-Daemons
wurde dieser in die Web-GUI mit ein gepflegt und kann nun von dort aus enabled werden.
Auf der Webseite: https://<LAN-WEBGUI-IP>/ui/cron/ befinden sich alle Cron Jobs aufgelistet.
Es wird ein neuer Cron Job durch das Klicken auf ,,+" erstellt.
Dieser wird ,,enabled" und zeitlich eingeordnet.
In diesem Fall soll dieser jeden Tag ohne Einschränkungen um genau 2:00 Uhr ausgeführt werden.
Dazu muss unter ,,Hours" 2 stehen.
Als Command Template kann nun die zuvor erstellte Vorlage namens ,,Kopiere Backup auf TFTP" ausgewählt werden.
Mit ,,Save Changes" und "Apply" kann dieser Job nun aktiviert und in den Betrieb genommen werden.

-------------------------------------------------------------------

EDIT:

Diese Umsetzung überträgt ohne Ende Backups ohne diese zu einem späteren Zeitpunkt zu löschen.
Da innerhalb der TFTP Übertragung nur einige Kommandos erlaubt werden,
gibt es keine Möglichkeit nach der Übertragung gleich mit der Löschung veralteter Backups zu beginnen.
Einige hatten jedoch danach gefragt und hier ist meine alternative Lösung, die etwas "weniger elegant" ist.

Hierfür muss ein neues Script erstellt werden, welches im Round Robin Verfahren,
zwar keine Dateien löscht, diese aber überschreibt.
Die Zeitstempel können, daher nur noch mithilfe des "ls -l" Kommando ausgelesen werden
und sind nicht länger nur anhand des Namens bereits erkennbar.

Code der in das RR Script geschrieben werden muss:
---------------------------------------------------------------

#!/bin/sh
#Autor Oxygen61

cd /conf/
#Wechsel auf das "Backup" Verzeichnis von OPNsense

if [ ! -f "/conf/RRVariable.dat" ]; then
  RRVariable=1
else
  RRVariable=`cat /conf/RRVariable.dat`
fi
#Falls die Datei nicht existiert, soll sie in /conf/ angelegt werden
#und der Inhalt der Datei mit 1 anfangen.
#Falls die Datei schon existiert, soll der derzeitige Wert ausgelesen werden

NUM=`echo vouchers_*.db | sed 's|^\(.*vouchers_ *\)\(.*\)\( *.db.*\)$|\2|g'`

cp config.xml OPNsenseConfig[$RRVariable].xml
cp vouchers_$NUM.db vouchers_$NUM[$RRVariable].db
#Kopieren der Config und Voucher Datei und dessen Umbenennung

tftp <TFTP-IP> << EOF
mode binary
put /conf/OPNsenseConfig[$RRVariable].xml /remoteOrdner/OPNsenseConfig[$RRVariable].xml
put /conf/vouchers_$NUM[$RRVariable].db /remoteOrdner/vouchers_$NUM[$RRVariable].db
quit
EOF

cd /conf/
rm OPNsenseConfig[$RRVariable].xml
rm vouchers_$NUM[$RRVariable].db
#Loeschen der temporaer erstellten .xml und .db Datei

if [ $RRVariable -ge 30 ]; then
  RRVariable=1
else
  RRVariable=`expr ${RRVariable} + 1`
fi

echo "${RRVariable}" > /conf/RRVariable.dat
#Überprüfe ob die Variable größer oder gleich 30 ist
#und setze sie gegebenenfalls auf 1 zurück oder erhoehe die RRVariable um 1
#Speichere die Variable in der .dat Datei für den nächsten Aufruf
#Die 30 gibt an, wieviele Backups angelegt werden sollen,
#bevor das Script anfängt veraltete Backups zu überschreiben

if [ "$?" != "0" ];
  then
    echo "[Error] Es ist ein Fehler aufgetreten beim Kopieren!" 1>&2;
    exit 1;
  else
    echo "[Success] Konfiguration erfolgreich kopiert!";
fi


-------------------------------------------------------------------

Kommando7: Strg+C
Kommando8: exit > Enter

Die restlichen Schritte müssen logischer Weise entsprechend angepasst werden.

-------------------------------------------------------------------

FAQ:

Q: Verschwindet das Script oder der Cron Job nach einem reboot?
A: OPNsense kann problemlos rebootet werden ohne Probleme.

Q: Entstehen Probleme nach einem Update?
A: Keine Probleme festgestellt. 

Q: Kann nicht auch einfach das gesamte /conf/ Verzeichnis gesichert werden?
A: Natürlich, jedoch war dies in meiner Produktivumgebung nicht gewünscht.

Q: Gibt es eine bessere Alternative als TFTP?
A: Secure Copy (scp) wäre die bessere Alternative (Verschlüsselung).
     Sofern durch DMZ Firewall Regeln sichergestellt werden kann,
     dass Man-In-The-Middle Angriffe selbst innerhalb der Firma nicht möglich sind
     sollte TFTP jedoch kein Problem darstellen.

-------------------------------------------------------------------

Referenzen:
https://forum.opnsense.org/index.php?topic=2263.0
https://docs.opnsense.org/development/examples/helloworld.html?highlight=configd
https://forum.opnsense.org/index.php?topic=1930.0
#20
Hallo Zusammen,

dieses Thema gab es damals schon mal in der Zeit in der das Captive Portal noch nicht in die MVC Umgebung migriert wurde. Damals konnte man "relativ" einfach durch das editieren der "captiveportal.inc" Datei ($listenporthttp = 8078 + $cpcfg['zoneid']) den Port auf 8080 ändern für HTTP und mit dem Filemanager diese Datei im System dann ersetzen. Das funktionierte bei der pfSense genauso gut wie bei der OPNsense.

Genauso verhielt es sich mit der "services_captiveportal_vouchers.php" Datei die editiert werden konnte und über den Filemanager hochgeladen werden konnte um mit ein paar Zeilen den PDF Voucherdruck "freizuschalten". Will sagen: Einen zweiten Button der den gewünschten Vouchercode in ein vorgefertigtes template reinlud und diesen zum abspeichern als PDF vorschlug. Dazu wurde als Hilfsmittel FPDF genutzt (http://fpdf.de/).

Gibt es überhaupt noch eine Möglichkeit diese captiveportal_voucher.php Seite mit einer editierten Version zu ersetzen? Wie könnte man das jetzt mit Version 16.7.6 am Besten umsetzen?
Beide features funktionierten damals bei der M0n0wall genauso gut wie bei der früheren OPNsense Version.
Leider benötige ich beide "features" für meinen Captive Portal Betrieb. :-/
Bevor es dafür keine Lösung gibt, wird man mir wohl leider keine Freigabe für einen pfSense-->OPNsense Change zuteilen können. Deshalb meine Sorge. :P

Schöne Grüße :)