Hi Ian If you need to access portal services from the default network, i think you don't really need to resolve pf4.dotto-one.com to your public address, you can add a static record on your DNS server on your default network, pointing pf4.dotto-one.com to your local captive-portal listener address, then config your router/firewall so you can reach portal listener address from the default network.
I'm not really sure this is the "right" way to configure this, but I manage to access portal services this way from routed networks, changing connection profile filter. I had to do this to access self-service registration from a remote network. [image: imagen.png] Also, once a client lands on the default network there is no need to access the portal, as registration is done, and the client is placed on the desired VLAN. *But if client lands on the default vlan and gets new DNS server from DHCP maybe will still intend to resolve pf4.dotto-one.com <http://pf4.dotto-one.com> again hitting the "Your computer was not found on database"* I understand that when RADIUS disconnect is done, the client reconnects, gets a new VLAN, new IP and maybe a new DNS server. *What happen next is that client should be redirected to the "Redirection URL" * I'm new to packetfence, i don't want to mislead you on your config, I have found your setup interesting and your troubleshooting is super good to keep on learning on this. Enrique El mié, 25 ene 2023 a las 11:27, Ian MacDonald (<i...@netstatz.com>) escribió: > Hi Enrique, > > >> Regarding error "Your computer was not found in the database" >> > > This is presented to anyone hitting the portal from the public Internet. > For instance if you went to http://pf4.dotto-one.com/ right now, you > should see it, as the listener is active, for other client activities like > email link activation, pre-registration (we do not use) and the default > captive portal landing page will not find you in the database, because it > can only do MAC based identification on the registration and isolation > networks where it can see that L2 information. Traffic from the Internet > is routed, and will show as MAC:0 and the current client public IP at the > bottom of the page. > > On the iPhone, once network detection is complete, it shouldn't be talking > the user back to the captive portal, but it is. Just blocking this traffic > would force the client into believing it was no longer captive, but this > would prevent access to the listener for email activation. > > >> Have you tried local DNS resolution for the captive portal domain on >> the default network, applying firewall rule to secure access to the >> portal listener interface >> > > I am not sure what you are asking me here. The DNS server on the Default > network is on the local subnet, and is the gateway. It resolves the same > public DNS as the link above to the portal listener. The firewall in > front of the portal listener has firewall rules, and only Port 80/444 are > allowed and forwarded on to the packetfence server portal listener. I > believe this is standard routed topology; It has been setup this way since > our first routed captive portal on Packetfence 5. > > - And I'll throw this unrelated comment in. ** We only use the captive > portal functionality for free public wifi; though I am keen to find some > clients that need a full NAC. The fact that we have been able to evergreen > some circa Packetfence 5/7 instances across Debian upgrades is impressive > and speaks to the Inverse team's platform commitment. The new docker model > reduces cross-platform complexity even further. The GUI is so > functional; In my recent sessions, I stumbled across the netflow > renderings; The lease timelines; It is sharp; Bien fait. I posted modified > hostapd.sh <https://github.com/inverse-inc/packetfence/issues/7472> for > recent OpenWRT releases which will hopefully show up in Add-ons. It makes > it straightforward to turn any supported OpenWRT hardware into a captive > portal for anyone wanting to get familiar with Packetfence, radius, vlan > switching, isolation, authentication, etc. without any enterprise gear in > their home lab. > ** > >> >> When the client lands on the default network, resolving the external >> IP address for the captive portal domain, that "Nating" presents “as >> computer not found on database”, I remember also adding a "network" >> filter to the connection profile for routed networks that need to >> access captive-portal. >> > > I am not sure I understand what you are suggesting; The "computer not > found on database" is the expected result - we just do not want iPhones > getting there once they are connected to the Internet. They should just > detect Internet and move on without returning to the portal. If we block > it using the firewall, detection is fine. If you know how to create a > filter for the /captive-portal on the public facing portal listener, that > would be one way to workaround our iPhone network detection problem. > > All our other clients that we have tested seem to be okay with the current > javascript implementation. We just need to get the iPhones fixed until > RFC8908 is supported. I can see it has been discussed > <https://github.com/inverse-inc/packetfence/issues/7040> but it seems > what used to work in IOS 13/14 using the RFC7710bis > <https://github.com/inverse-inc/packetfence/issues/5638> introduced in > PF10 isn't working any longer. The clients do not use the network > detection IP or image embedded in the captive portal javascript as seen in > the captures we posted. They simply 'test' if they are still trapped > based on reachability to the captive portal URL. > > I believe if we can somehow separate the ConfNet.PortalFQDN used by the > captive portal redirect from the one used in email activation, we can use > our Default network local DNS to make the current RFC7710bis implementation > work with iPhones. If you know how this could be done, it would be a > second to workaround our iPhone network detection problem. > > >> El mar, 24 ene 2023 a las 19:59, Ian MacDonald (<i...@netstatz.com>) >> escribió: >> > >> > Quick inline response to your questions; Thank you for having a peek. >> > >> > On Tue, Jan 24, 2023 at 5:45 PM Enrique Gross via PacketFence-users < >> packetfence-users@lists.sourceforge.net> wrote: >> >> >> >> Regarding DNS, domain resolves to your public address? is that >> >> correct? And that is the same domain as captive portal? >> > >> > Yes, as seen from the Default network, and the Internet, the >> packetfence server hostname resolves using public DNS, and lands on the >> portal listener attached to the management network interface on the server. >> > >> >> >> >> On your topology, port 80/443 redirected to “PF redirection URL”? >> > >> > >> > Yes, in hindsight, that detail should have been removed, as it is >> confusing in that it is unrelated to the issue, and that redirection rule >> is not active in this test environment. >> > >> > In production, there was a redirection URL in the Captive Portal >> configuration that goes to a web site; Provided by the ISP that is >> providing the free Internet. >> > A similar redirection, if you happen to point your web browser at the >> Default network gateway, also goes to that same location. The thinking >> here was if you are surfing in the Public space, and get curious and do a >> myipaddress.com look up and then go to that IP in your browser, you hit >> the same landing page as the captive portal redirection. >> > >> > It is not active in this environment, so I should have purged it from >> the topology snapshot >> > >> >> >> >> Enrique >> >> >> >> El mar, 24 ene 2023 a las 8:19, James Andrewartha via >> >> PacketFence-users (<packetfence-users@lists.sourceforge.net>) >> >> escribió: >> >> > >> >> > Hi Ian, >> >> > >> >> > So looking through the registration PCAP, one thing I notice is that >> there's three requests for http://captive.apple.com/hotspot-detect.html >> before it tries to follow the redirect that page returns. Also your DNS is >> returning the same IP (66.70.255.147) for captive.apple.com as for >> pf4.dotto-one.com. Are you doing DNS enforcement on the portal? Then on >> the default network, you return 104.244.196.73 for pf4.dotto-one.com. I >> don't think that's wrong per se but just wanted to be clear. >> >> > >> >> > I see some accesses to https://pf4.dotto-one.com/rfc7710 after it >> joins the default network, can you see what content is returned? Since it >> tries that first before going to the captive portal URL on the default >> network. Short of that, could you remove option 114 and 160 from both >> registration and default network DHCP scopes? My feeling is that it's >> holding onto the URL from the registration network and re-using that on the >> default network instead of looking at the cappport:unrestricted value >> returned on the default network. >> >> > >> >> > So was the iPhone not re-DHCPing problem solved by very short lease >> times on the registration network? >> >> > >> >> > Thanks, >> >> > >> >> > -- >> >> > James Andrewartha >> >> > Network & Projects Engineer >> >> > Christ Church Grammar School >> >> > Claremont, Western Australia >> >> > Ph. (08) 9442 1757 >> >> > Mob. 0424 160 877 >> >> > >> >> > On 24/1/23 06:53, Ian MacDonald via PacketFence-users wrote: >> >> > >> >> > Okay, >> >> > >> >> > We have, again, scoped down our issue further to iPhones not >> properly detecting they are no longer behind the Packetfence Captive >> Portal. I am going to frame it up once again to see if anyone has any new >> insights. >> >> > >> >> > Problem: The iPhone is holding on to the captive portal page it >> learns on the Registration network, and when it gets to the Default >> network, it fails at detecting it is on the Internet, and it returns to the >> Captive Portal page and traps the user there in the iphone's Log In >> interface. >> >> > >> >> > If we block the iPhone from the Packetfence portal listener, after >> it is on the Default network, it works and believes it is no longer >> Captive. Unfortunately this also blocks registration activation links sent >> via Email, so it doesn't quite qualify as a workaround unless we can >> separate the hostname used for Email Activation from the hostname used for >> the Captive Portal and block the latter with DNS overrides on our Default >> network. >> >> > >> >> > It seems like the correct configuration would have Packetfence >> instruct the iPhones to not use the Captive Portal URL reachability as >> network detection, and possibly we have no control over this OR possibly it >> can be done somehow through the Captive Portal API TBD. >> >> > >> >> > Help on how to do either of these things in Packetfence config >> appreciated. >> >> > >> >> > Here is our lab v12.1 setup. >> >> > >> >> > >> >> > As we moved through our testing we have made a few changes, none of >> which seem to impact the expected outcome. We have enabled proxy >> interception, changed our network detection to a local IP, modified the >> detection delay (30s) so that it starts after the fencing delay (25s), and >> allow 60s for the re-evaluation on the portal page progress bar. We >> disabled CSP headers and secure_redirect in hopes of providing more >> information during packet captures. Passthrough during fencing is now >> disabled as well to keep traffic to a minimum. Our registration DHCP lease >> time was shortened to 15 seconds. >> >> > >> >> > [fencing] >> >> > wait_for_redirect=25 >> >> > interception_proxy=enabled >> >> > [captive_portal] >> >> > network_detection_ip=104.244.196.157 >> >> > network_detection_initial_delay=30s >> >> > network_redirect_delay=60s >> >> > request_timeout=5 >> >> > secure_redirect=disabled >> >> > rate_limiting=disabled >> >> > [advanced] >> >> > portal_csp_security_headers=disabled >> >> > >> >> > [10.2.2.0] >> >> > dhcp_default_lease_time=15 >> >> > dhcp_max_lease_time=15 >> >> > >> >> > The iPhone in this latest scenario is an iPhone 7 Pro running IOS 15. >> >> > Registration has no issues, and VLAN switching occurs as expected at >> 25s on the "Enabling network access" portal page, placing the iPhone onto >> the Default network. >> >> > >> >> > >> >> > >> >> > When the iPhone is disconnected from the Registration network, the >> Log In page closes, and the wifi settings appear briefly. >> >> > >> >> > >> >> > >> >> > The iPhone then connects to the Default network, however it decides >> it must be still behind the packetfence captive portal, as it reloads the >> Portal Login page again, and the user is trapped, and can not escape except >> to hit Cancel and select "Use without Internet". >> >> > >> >> > >> >> > >> >> > The iPhone is holding on to the captive portal page it learned on >> the Registration network, and when it gets to the Default network it fails >> at detecting it is on the Internet, it returns to the Captive Portal page, >> and is effectively trapped there. If it can see the Packetfence listener, >> it believes it is still captured. >> >> > >> >> > With this in mind, we decided to simply block traffic from the >> Default network to the Portal Page with a simple firewall rule to drop >> traffic to the packetfence public IP. >> >> > >> >> > And the iPhone detects Internet. That was it. The detection was >> not based on DHCP option 114, or reaching some other site, or the >> network-access-detection.gif It is based on reaching the Captive Portal >> URL, which is responding, as it is the same hostname where we expect our >> users to go for Email Activation Links. >> >> > >> >> > The problem with blocking the Portal listener on the Default network >> is that the user can not complete the email registration, as the same >> portal listener that serves up the Captive Portal service up the >> Registration Activation Link (/activation/email.html). >> >> > >> >> > It suggests we have to get the iPhone to ignore the Captive Portal >> URL it learned from the Registration VLAN? Is this a bug in implementation >> of the captive portal API usage in iPhones? >> >> > >> >> > Our Default network DHCP sees Option 114 requested, and provides >> the unrestricted value (shown below). Maybe somebody can confirm the >> format and content is correct so we can validate our assumption that the >> iPhone is just ignoring it. We also pass the same value in Option 160 just >> in case it ever is requested by an old client. >> >> > >> >> > >> >> > >> >> > I have collected pCaps from the Registration VLAN (Interface >> 10.2.2.2 on our PF server) and from the Default Network (Interface >> 10.2.4.1) as well as the haproxy_portal.log and packetfence.log from the >> same time period. Nothing removed from those time periods, as there were >> no other devices on those networks. I will leave them up whilst we are >> working on this issue for anyone to inspect with Wireshark. >> >> > >> >> > >> https://drive.google.com/drive/folders/1NFuDqJIkPrsMWs_DXqIeY0l_TTLYkPpE?usp=share_link >> >> > >> >> > I suppose a workaround could be to change the [% activation_uri %] >> to a DNS hostname alias that is different than the captive portal hostname >> and override the Default Network DNS so that the captive portal URL goes >> nowhere (equivalent to our firewall block), allowing the users to still >> hit the activation link and block iPhones from getting trapped on the >> portal page at the same time. >> >> > >> >> > A follow-up question is does anyone know how to specify the >> activation URL as a configuration parameter? We couldn't find it, as it >> seems generated in the templates. >> >> > >> >> > It seems we are just down to configuration here; Getting close. >> >> > >> >> > >> >> > _______________________________________________ >> >> > PacketFence-users mailing list >> >> > PacketFence-users@lists.sourceforge.net >> >> > https://lists.sourceforge.net/lists/listinfo/packetfence-users >> >> > >> >> > >> >> > _______________________________________________ >> >> > PacketFence-users mailing list >> >> > PacketFence-users@lists.sourceforge.net >> >> > https://lists.sourceforge.net/lists/listinfo/packetfence-users >> >> >> >> >> >> >> >> -- >> >> >> >> >> >> _______________________________________________ >> >> PacketFence-users mailing list >> >> PacketFence-users@lists.sourceforge.net >> >> https://lists.sourceforge.net/lists/listinfo/packetfence-users >> >> >> >> -- >> >> >> _______________________________________________ >> PacketFence-users mailing list >> PacketFence-users@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/packetfence-users >> > -- [image: Imágenes integradas 1]
_______________________________________________ PacketFence-users mailing list PacketFence-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/packetfence-users