Subcategories

  • Announcements and information about pfSense software posted by the project team

    227 Topics
    3k Posts
    G
    @stephenw10 Thank you, Stephen, for your valued feedback. Best regards, Marco
  • Discussions about pfSense software that do not fit into one of the more specific categories below.

    27k Topics
    194k Posts
    stephenw10S
    Hmm, odd. You should certainly be able to load modules like that in loader.conf.local. You might try just loading some other kernel module there and then checking kldstat after boot to see if anything loads.
  • Discussions about Multi-Instance Management.

    27 Topics
    179 Posts
    M
    It's supposed to work. We'll work on a fix - thanks for the report!
  • Discussions about installing or upgrading pfSense software

    10k Topics
    63k Posts
    B
    @stephenw10 any new informations for this? seam like a long going problem, for me it happens on an hp dl20 gen9, instand boot looping (fresh install of 2.8)
  • Discussions about firewalling functionality in pfSense software

    10k Topics
    59k Posts
    K
    I can ping 8.8.8.8 from the console but not within the network (From my workstation) none of the tools work from the workstation and it is true I can reach the gui from my workstation via IP what should I do to get it back to out of box condition Cox can ping the IP on the modem, as I said I can ping the internet from the console, just not from workstations within the network Keith
  • Discussions about Network Address Translation (NAT)

    6k Topics
    31k Posts
    G
    any help with this?
  • Discussions about High Availability, CARP, and utilizing additional IP addresses

    3k Topics
    12k Posts
    patient0P
    @Barnzey90 do you have an account on https://redmine.pfsense.org/ to report the issue?
  • Discussions about Layer 2 Networking, including switching and VLANs

    1k Topics
    10k Posts
    GertjanG
    @eagledtony Most will have troubles reading what you've just wrote. Your Enter key seams to be broken also ( ^^ ). As no details (images) are available, so only some general advise : If you can, remove all 'VLAN' setup, go bare bone classic "VLAN 0" or no VLAN no where. This makes the setup simpler .... and issue start to vanish fast. If an issue arrives 'suddenly' then the last think you want to do is 'upgrading'. Upgrading will not (can not) resolve sudden local issues, but can create new issues. So, first, resolve the issue, which can be as simple as : Save the current pfSense config. Now get a config from 'before 2 weeks'. Issue solved : go question the pfSense admin, torture him if needed, and you will get to the bottom of things. The 'diff' between the current and 2 weeks old config will tell you what changed. Issue not solved : get the current config back and now you'll be sure : the issue isn't pfSense related. Go have a talk with the other (VLAN) stuff, and do question the "admin" gain. edit : Your pfSense has a config history : [image: 1770288431925-99464f43-9690-4b60-ba2f-740cb54e5dc3-image.png]
  • Discussions about routing and Multiple WAN uplinks (WAN Failover, WAN Load Balancing, etc.)

    9k Topics
    42k Posts
    J
    what i had: ip address gateway address snm what i now have: new network ip: 9.x.x.x usable ip range: 9.x.x.x gateway: 9.x.x.x subnet: /30 number of ips: 1 My old ip was working with the modem in bridged mode and now with the the new assignment it will not work. Is there something i’m missing here? Could someone please let me know? Is their a difference in using the cbras addressing in pfsense the the old one i had? My old one has worked for years until this recent change. Any help would be appreciated.
  • Discussions about traffic shaping and limiters

    3k Topics
    16k Posts
    M
    @ChrisJenk have you run the Waveform bufferbloat test? If not, it may be useful to try it and report back. Some increase in ping time is reasonable and absent operational symptoms, such as streaming or voice-over-ip dropouts, you may be fine without any other services. For instance, we have Starlink which, on a good day, delivers 25% of your download speed and typically ~500% of your ping times. We pass the bufferbloat test with an "A" rating and have no operational symptoms. So, I don't run any traffic shapers. That said, I tried experimenting with the various traffic shapers, and most all of them required substantial work and experimentation with limited to no benefit. I learned a lot, but beyond that they didn't pay off. The added bandwidth cost of some that hold back bandwidth all the time added to the low cost-benefit ratio. There appear to be more modern, adaptive and flexible traffic shapers than are offered on pfSense, but it seems there is little will to port them into pfSense anytime soon.
  • Discussions about DHCP, DNS Resolver (Unbound), DNS Forwarder (dnsmasq), and general DNS issues

    7k Topics
    44k Posts
    johnpozJ
    @SteveITS so finally noticed the error I was thinking in isc about lease too early.. when a client asks for renew Feb 6 18:06:26 dhcpd 94617 reuse_lease: lease age 19813 (secs) under 25% threshold, reply with unaltered, existing lease for 192.168.2.212 Just more info to throw out there - where you could consider this as log spam from possible bad acting clients. I am seeing this from a few different clients Feb 3 13:31:51 dhcpd 26941 reuse_lease: lease age 18375 (secs) under 25% threshold, reply with unaltered, existing lease for 192.168.4.203 Feb 3 13:31:48 dhcpd 26941 reuse_lease: lease age 18372 (secs) under 25% threshold, reply with unaltered, existing lease for 192.168.4.203 It's possible I introduced this - this thread got me looking at my dhcp log, and noticed was seeing log about duplicate leases on a few devices, etc. stuff was working but seemed to have some old leases handing around where a client had 2 different leases.. I think this related to how I will bring a client up on normal dhcp, and then set a reservation.. Going forward when I bring up a new client going to set a reservation will make sure delete their old lease. In going over my dhcp server I also noticed some of my scopes had lower lease time than I like. So I had adjusted them, so client would not have known this. So possible when I raised the min lease time, clients trying to renew their old lease time didn't match up to the new lease time? Also could be just wireless clients going off net and then back on or something - will have to look into the IPs seeing these to early log entries. And when they come back on they try a renew even though lease has not gotten to the 50% mark as of yet. I know that 203 is my wifes iphone (old one) and 212 is one of the new iphones (not sure which one yet) since both me and the wife upgraded our phones yesterday. I need to setup their reservations ;) My point is more to yeah you will almost always have some sort of log entries that seem like spam to you. I do believe if you can reduce it all the better, or at least understand it. Entries in a log that are of no use to you just make it harder to spot stuff you are interested in. And yeah you can have bad acting clients, and stuff not quite sure what it is can send you on a wild goose chase sometimes if trying to solve a problem. If kea is logging stuff about some subnet, as long as the client is getting an IP. Maybe with all the fancy stuff you can do with kea logging you can get it to stop logging what amounts to spam if the client is actually getting an IP, etc. edit: Ok I am just an idiot for not looking in redmine first, there is already a bug listing for this https://redmine.pfsense.org/issues/16684 So that explains it ;) And there seems to be a fix for it https://redmine.pfsense.org/issues/16682 Now have to try it out.
  • Discussions about IPv6 connectivity and services

    2k Topics
    20k Posts
    S
    I can't enable the interface without disabling the router advertisement Is that the one where it needs a static IP on the interface?
  • Discussions about IPsec VPNs

    6k Topics
    24k Posts
    jimpJ
    The quick answer is you'll need to set the IPsec Filter Mode to VTI to allow those interfaces to use reply-to so the response traffic will use the correct interface. Set it on both sides. That will break any tunnel mode IPsec tunnels you may have, but if you don't have any, then it's only a positive change. The more complicated answer is that you should really run a dynamic routing protocol like BGP between those routers using the FRR package so the routing changes in a more reliable and predictable manner and isn't relying on filter trickery to avoid asymmetric routing.
  • Discussions about OpenVPN

    10k Topics
    54k Posts
    JKnottJ
    @affanghazali You're still using GSM? That's ancient 2G tech from 30 years ago. We're up to 5G now.
  • Discussions about Captive Portal, vouchers, and related topics

    4k Topics
    19k Posts
    GertjanG
    @scilek I work for a hotel and I use pfSense, and one the reason is : it has portal functionality build in. I'm using this pfSense portal for the last 10+years now. It works great. Why does a hotel needs a portal ? Because we all have probably have one thing in common : some one is responsible for the "Internet' connection" as people can do 'things' with a connection that can have legal consequences. And guess what ? As you don't know who did what, the subscriber of the connection faces the judge. So, to keep things simple : don't offer a portal. Never ever share a network connection with some one else. Share the connection only if you are will do do "time" for these people. This seems harsh, but is probably very valid for a family internet usage case : you are responsible for the actions and interactions of your kids after all. So : If you really want to keep things simple : do NOT share your Internet (phone, credit card, passport) connection. If you really have to, start by looking up possible (legal) consequences. I think a universal concept is : you won't be able to say "I didn't know". It's like driving : you can buy a car, and you will need assurance and a driver license. Exception : you drive on your own 'land', not on the public roads. For a company's connection : the stakes are probably even higher, as you really (can't) know who uses your portal connection. Consider this : use a separate Internet connection for your portal network, so if something happens, you don't lose all your Internet access. With all this out of the way, I can start answer your questions. A portal exists because it very unpractical to give everyone a WPA2 wifi access code. The pfSense portal doesn't care if portal clients are connected using Wifi or by wire. A wire connection doesn't have a WPA2 code anyway. When you change the WPA2 code, all connected clients will have to use the new one. And your own devices connected to the portal/wifi network need to be reconfigured with the new WPA2. This is why a 'captive portal' exists. Most often it's a 'open (!) Wifi connection, so an SSID and no WPA2 password. This is known as a scary thing, as traffic goes 'non encrypted' over the air, but this isn't the case in reality. As you've said already yourself, "http" web traffic shouldn't be used anymore. Like no where, and no exceptions. So : the portal login page can't be a "http" page. This means : a captive portal isn't free of charge. You need to rent a domain name, and this will cost you like what ? 5 $/€ a year ? Why a domain name ? Because you need to obtain a signed certificate, one that is recognized by all existing browsers. When you have this certificate, you can create a https portal login page (and also, why not, a pfSense GUI https access). The good news : you need the acme.sh pfSense package to obtain this eradicate, and it will be free. Ones setup, it's "for live" : no admin time needed. Fast recap : https is mandatory these days. http is dead. And because https means "traffic encrypted" the portal login phase is already not visible anymore over the wifi, so no one can see and 'steal' the login (or other) credentials. Now, you'll understad that this : @scilek said in Is it possible to create a multi-page custom captive portal?: not be bothered by the ubiquitous IT-illiterate users asking what to do with the browsers' "This certificate is not good enough so I refuse to open your page." warning. has to be rephrased as this : the ubiquitous IT-illiterate admins ... These days, if some one want to make a 'public' accessible web page (used by "IT-illiterate (portal) users", we all agree) , it has to https. Period. @scilek said in Is it possible to create a multi-page custom captive portal?: I'm not a fan of captive portal, I'm more of a FreeRADIUS person. Planes are not cars (both have tires, that's true). FreeRadius is not needed for the pfSense captive portal. It can be used to handle portal authentication if needed. Freeradius can be used if you want to 'totally NOT KIS' portal authentication. The build in pfSense user manager can handle your needs just fine. You don't need FreeRadius. Btw : be aware : the pfSense FreeRadius package offers about 5 % of the capabilities of what FreeRadius really can do. The rest isn't exposed in the pfSense GUI, so inaccessible. If you really want to use FreeRadius and have all the Radius tricks at your disposal, do not use the pfSense FreeRadius, but get the real FreeRadius, and inform pfSense to use that external (on a LAN ?!) FreeRdius server, and now you have full control. I do use the pfSense FreeRadius for my portal, because I said to myself "why not" ? I'm using for classic user/password access, nothing else, no fancy options. I might as well use the pfSense user manager. @scilek said in Is it possible to create a multi-page custom captive portal?: On that page, they had the "Register" button, which I clicked, which directed me to another page, where I registered myself. After successful registration, that page redirected me to the main login page, where I entered my credentials and then managed to log in Like what ? A portal user has to give his name ? mail ? Credit card ? Social security number ? If you want to use a portal for a company, here in France, you have a serious legal problem in less then a day. It's 2026, which means handling (== asking) really hard to manage. Most potential portal user will refuse flat out. It's ok to ask, but you have to store this info, give them access to this info so they can delete, modify etc this, at any time (that now a basic right for everybody I guess). Making such a system is ... daunting. I mean, big companies like amazon, netflix etc deal with this and it costs them boat loads of $/€. If they don't, they can't propose their services in that country (for me : that's all Europe and some other civilized countries). So : fast recap : do not ask people for their 'private' info. The perfect 'why not' : give a lawyer 50 $/€, and he'll talk you out if in 10 minutes. I'm not done yet, by far. I'll continue posting later on. Continued : You've probably seen this : [image: 1770382451035-121832e9-1d43-4418-835e-c98712b51757-image.png] and some post in this forum (use the search button on this forum ^^) that used a "web front", a database (like MySQL or Maria or MongoDB) behind it, so the potential portal user can (== "has to") enter info, after which a the page, after clicking a button, bring the visitor to the real (pfSense) portal login, where final 'authorization' is handled. You can also 'redo' the entire portal html script file (which may include PHP, so a lot is possible), and - I'm brainstorming now - with the installed MySQL client, you can make the login page 'communicate' with a back end database. Note : Just install the pfSense FreeRadius package, and you have the MySQL client PHP part installed as a bonus. But .... me thinking out loud again : All this was nice and simple when 'http' was used. These days, it's https. Now, roll the drums, no need to tell you you can not (shall not) redirect https pages to "some where else" - the client's browser will refuse that. This means, afaik, that you have to 'mod' the pfSense portal page where you do the data collection. More to come ....
  • Anything that does not fit in other categories related to the webGUI

    2k Topics
    10k Posts
    S
    In addition per https://forum.netgate.com/post/1236652 they plan to auto-renew it in future versions.
  • Discussions about wireless networks, interfaces, and clients

    2k Topics
    11k Posts
    stephenw10S
    Good choice. Better in almost every way!
  • Discussions about monitoring via SNMP

    197 Topics
    609 Posts
    C
    I figured it out . My firewalls had an old unused OpenVPN client connection on it that was unstable and every time it reconnected, it got a new IP address causing pfsense to restart all packages, and since it took down SNMP, we wouldn't get alerted about the interface going down either... So this issue is solved now
  • Discussions about pfSense documentation, including the book

    188 Topics
    1k Posts
    M
    Re: Duo MFA with LDAP AuthProxy for pfSense OpenVPN - Direct AD Integration (No NPS Required) UPDATE: I'm testing it on Windows 2025 server and I've had issue with the certificate export, so here is the update script that checks if the cert is there or not, If not then it creates a new one and exports it to the LDAP Proxy directory. Create the Powershell script: notepad C:\ldaps_setup.ps1 # LDAPS Certificate Setup and Export for Duo $fqdn = [System.Net.Dns]::GetHostByName($env:COMPUTERNAME).HostName Write-Host "DC FQDN: $fqdn" # Check if LDAPS cert exists $existing = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.EnhancedKeyUsageList.ObjectId -contains "1.3.6.1.5.5.7.3.1" } | Select-Object -First 1 if (-not $existing) { Write-Host "No LDAPS certificate found. Creating one..." $cert = New-SelfSignedCertificate ` -DnsName $fqdn ` -CertStoreLocation Cert:\LocalMachine\My ` -KeyUsage DigitalSignature,KeyEncipherment ` -KeyExportPolicy Exportable ` -Provider "Microsoft RSA SChannel Cryptographic Provider" ` -KeyLength 2048 ` -NotAfter (Get-Date).AddYears(5) ` -HashAlgorithm SHA256 ` -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1") Write-Host "Certificate created: $($cert.Thumbprint)" Write-Host "Restarting AD to enable LDAPS..." Restart-Service NTDS -Force Start-Sleep -Seconds 5 $dcCert = $cert } else { Write-Host "Using existing certificate: $($existing.Thumbprint)" $dcCert = $existing } # Export to PEM $certBytes = $dcCert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert) $base64 = [System.Convert]::ToBase64String($certBytes) $pem = "-----BEGIN CERTIFICATE-----" + [Environment]::NewLine for ($i = 0; $i -lt $base64.Length; $i += 64) { $length = [Math]::Min(64, $base64.Length - $i) $pem += $base64.Substring($i, $length) + [Environment]::NewLine } $pem += "-----END CERTIFICATE-----" $pem | Out-File "C:\ad_ca.pem" -Encoding ASCII -Force Copy-Item "C:\ad_ca.pem" -Destination "C:\Program Files\Duo Security Authentication Proxy\conf\ad_ca.pem" -Force Write-Host "`nDone! Certificate exported to Duo Proxy." Test-NetConnection -ComputerName localhost -Port 636 | Select-Object TcpTestSucceeded Then run it in Powershell. or place this into Powershell directly: $fqdn = [System.Net.Dns]::GetHostByName($env:COMPUTERNAME).HostName; Write-Host "DC FQDN: $fqdn"; $existing = Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.EnhancedKeyUsageList.ObjectId -contains "1.3.6.1.5.5.7.3.1" } | Select-Object -First 1; if (-not $existing) { Write-Host "No LDAPS certificate found. Creating one..."; $cert = New-SelfSignedCertificate -DnsName $fqdn -CertStoreLocation Cert:\LocalMachine\My -KeyUsage DigitalSignature,KeyEncipherment -KeyExportPolicy Exportable -Provider "Microsoft RSA SChannel Cryptographic Provider" -KeyLength 2048 -NotAfter (Get-Date).AddYears(5) -HashAlgorithm SHA256 -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.1"); Write-Host "Certificate created: $($cert.Thumbprint)"; Write-Host "Restarting AD..."; Restart-Service NTDS -Force; Start-Sleep -Seconds 5; $dcCert = $cert } else { Write-Host "Using existing certificate: $($existing.Thumbprint)"; $dcCert = $existing }; $certBytes = $dcCert.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert); $base64 = [System.Convert]::ToBase64String($certBytes); $pem = "-----BEGIN CERTIFICATE-----" + [Environment]::NewLine; for ($i = 0; $i -lt $base64.Length; $i += 64) { $length = [Math]::Min(64, $base64.Length - $i); $pem += $base64.Substring($i, $length) + [Environment]::NewLine }; $pem += "-----END CERTIFICATE-----"; $pem | Out-File "C:\ad_ca.pem" -Encoding ASCII -Force; Copy-Item "C:\ad_ca.pem" -Destination "C:\Program Files\Duo Security Authentication Proxy\conf\ad_ca.pem" -Force; Write-Host "Done! Certificate exported to Duo Proxy."; Test-NetConnection -ComputerName localhost -Port 636 | Select-Object TcpTestSucceeded
  • Topics related to developing pfSense: coding styles, skills, questions etc.
    1k Topics
    7k Posts
    yon 0Y
    @netblues no.
  • Discussions about playing network-based games behind pfSense from consoles, PCs, etc.

    434 Topics
    3k Posts
    W
    I would like to share the solution I put in place, using a script. I am on pfSense 25.11. pfSense/miniupnpd does not expire UPnP mappings when the client doesn’t set the lease time. The GUI flush works but cannot be automated. This script performs a safe PF‑level flush only when no ACL‑authorized client has active UDP states, removing also the mapped ports. #!/bin/sh LOCK=/var/run/upnp_lock CONF=/var/etc/miniupnpd.conf [ -f "$LOCK" ] && exit 0 touch "$LOCK" ACL_IPS=$(grep "^allow" "$CONF" | awk '{print $3}' | cut -d/ -f1) [ -z "$ACL_IPS" ] && rm -f "$LOCK" && exit 0 for IP in $ACL_IPS; do pfctl -s state | grep "$IP" | grep udp >/dev/null && rm -f "$LOCK" && exit 0 done pfctl -a miniupnpd -s n | grep . >/dev/null || { rm -f "$LOCK"; exit 0; } logger -t upnp_cleanup "Flushing UPnP rules" pfctl -a miniupnpd -F nat rm -f "$LOCK" Install • Save as /usr/local/bin/upnp-clean.sh • chmod +x /usr/local/bin/upnp-clean.sh • Add cron (e.g., every 5 minutes) Notes • Auto‑adapts to UPnP ACL • No hard‑coded IPs • No GUI scraping • No flush while any console is active
  • Discussions about virtualizing pfSense in hypervisors such as AWS, VMware, Hyper-V, Xen, KVM, qemu, etc

    2k Topics
    12k Posts
    C
    @coletrain23 Thank you, that did the trick for me !
  • Discussions about pfSense hardware support

    8k Topics
    70k Posts
    NC1N
    Tentative confirmation. Got my hands on a WatchGuard Firebox M470, installed a Lanner NCS2-IGM806A expansion module into it (I had one laying around), repositioned the jumper, ran the OpenWrt routine, then installed pfSense... Bypasses on the NCS2-IGM806A are disabled. As a demonstration, bridged all eight ports on it into a single network, just to show that devices connected to the router via the expansion module can exchange data with each other and go on the Internet...
  • Discussions about collaboratively raising money for a feature. To start a thread you must offer a starting price and be very specific on the feature you would like to see.

    457 Topics
    6k Posts
    J
    Rereading this I realize I didn't provide much context or frame the issue very well, and since I can't edit I'll post what the OP should have started with here. From the pfSense Docs: Captive Portal in pfSense software forces users on an interface to authenticate before granting access to the Internet. Where possible, the firewall automatically presents a login web page in which the user must enter credentials such as a username/password, a voucher code, or a simple click-through agreement. Users have made many requests for something similar, but for authorizing access into the intranet, instead of out to the internet. This is often called a "reverse portal". This would be useful for e.g. setting up MFA for wireguard vpn connections or requiring login to access a different segment of the local network. Unfortunately, despite being nearly identical in implementation, netgate explicitly states that their captive portal feature is not capable of acting as a reverse portal, aka authorizing access to the local intranet. One of the challenges with reverse portals is how to know when the user has disconnected and needs to reauthenticate. Here I propose a design where the user has to keep a browser tab with an open tcp connection (SSE with heartbeats) connected to the firewall to for the pass rule to be enabled; when the connection closes the pass rule is disabled and they will have to reauthenticate.
  • 10k Topics
    64k Posts
    stephenw10S
    So you still see both virtio NICs but only WAN passes traffic?
Copyright 2026 Rubicon Communications LLC (Netgate). All rights reserved.