Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    How to use the pfsense name instead of the IP address in http?

    Scheduled Pinned Locked Moved Captive Portal
    25 Posts 6 Posters 3.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • GertjanG
      Gertjan @goldsoft
      last edited by

      @goldsoft said in How to use the pfsense name instead of the IP address in http?:

      I want to change it to look like this.
      http://pfsense:8002/index.php?zone=pass&redirurl=http%3A%2F%2Fqq.com%2F

      You can't use "pfsense" as a host name, as you shouldn't 'break' the (DNS) rules.

      What would work, as DNS knows about it : you already gave it a name :

      150eac6a-0114-42ee-a00f-acedbd14600b-image.png

      So, http://pfsense.domain.tld/..... will work.

      Normally, a portal user would never have to know about that "pfsense.domain.tld" hostname, or even "192.168.1.1".
      When connecting to a network by cable or more common : Wifi, the user will get an login page without any interaction from his side.

      Btw : the portal, using http mode, redirect to the IP, the "192.168.1.1" you've seen.
      To use host names, you have to use the https mode - see below.

      If possible, don't use the portal on your "192.168.1.1/24" LAN, as LAN is reserved for your trusted devices.
      Typically, your non trusted devices should use the portal on another interface, like 192.168.2.14/24.

      If your willing to loose some less then 10$ per year, get (rent, actually) a domain name.
      Now you can get a certificate for this domain name, and use a host name like portal.your-domain.tld, using https.
      This looks better, as https uses host names, not an IP address like "192.168.2.1".

      The portal visitor will see https://portal.your-domain.tld/ and it will trust the certificate used.

      Goto Services > DNS Resolver > General Settings - and scroll down.
      At Host Overrides, add :

      487a7c38-e40d-497d-a815-5438892d0803-image.png

      No "help me" PM's please. Use the forum, the community will thank you.
      Edit : and where are the logs ??

      G 1 Reply Last reply Reply Quote 0
      • G
        goldsoft @Gertjan
        last edited by

        @Gertjan I want to give multiple clients, each with a PfSense firewall. However, filling in my domain name and configuring certificates on each router will only increase the complexity of maintenance and increase the failure rate. http://pfsense:8002***** The reason for adopting this approach is to prevent unauthorized connection of downstream routers to the network. I have tested it and found that pinging PfSense fails on the downstream routers, which effectively blocks them.

        GertjanG 1 Reply Last reply Reply Quote 0
        • GertjanG
          Gertjan @goldsoft
          last edited by

          @goldsoft said in How to use the pfsense name instead of the IP address in http?:

          filling in my domain name and configuring certificates on each router will only increase the complexity of maintenance and increase the failure rate.

          I use a domain name, and the only "admin" part is : I have to pay for it every year.

          The rest : certificates renewal etc etc is is handled automatically (see the pfSense acme.sh package).
          It works well for years now.
          My pfSense captive portal doesn't need my time.

          For reasons, I prefer not to use (show to the client) things like "http", with an IPv4 address.
          Btw : soon to be IPv6 : you'll scare the client now ;)

          Use a host name.

          Look at the /var/etc/nginx-YOURZONENAME-CaptivePortal.conf file.
          You'll see :

          ....
          		if ($http_host ~* 192.168.2.1) {
          			set $cp_redirect no;
          ...
          

          so the IPv4 (yours is 192.168.1.1) is hard coded.
          Maybe you can change this into a host name ( I guess its possible) ???

          @goldsoft said in How to use the pfsense name instead of the IP address in http?:

          The reason for adopting this approach is to prevent unauthorized connection of downstream routers to the network. I have tested it and found that pinging PfSense fails on the downstream routers, which effectively blocks them

          Blocking routers ? I guess I understand your reasons, the question has been asked before.
          The answer will be : you can't block easily "router" devices.
          How would you (pfSense) know that IPv4 (example) 192.168.1.51 using MAC aa:bb:cc:dd:ee:ff is a router and not an iPhone ? (MAC will be spoofed !)

          No "help me" PM's please. Use the forum, the community will thank you.
          Edit : and where are the logs ??

          GertjanG 1 Reply Last reply Reply Quote 0
          • G
            goldsoft
            last edited by

            40922dc8-4c5a-4f28-9a4f-d3c499c1dfd0-1696503357374.png

            After restarting the service, the hostname will automatically change to IP 192.168.0.1, and the file nginx-pass-CaptivePortal.conf has been automatically rewritten.

            1 Reply Last reply Reply Quote 0
            • GertjanG
              Gertjan @Gertjan
              last edited by Gertjan

              Because :

              @Gertjan said in How to use the pfsense name instead of the IP address in http?:

              is hard coded

              so editing the nginx config is useless, as pfSense re creates that config file every time it starts nginx.

              It's here : https://github.com/pfsense/pfsense/blob/3b2e7ed25c84eb80cc3588e97e7b0d8414e3c1fc/src/etc/inc/system.inc#L1778

              When you look at your own file at /etc/inc/system.inc, you'll find it around line 1331 (the github version is ahead - more recent).

              Instead of

              $cp_hostcheck .= "\t\tif (\$http_host ~* $cpint_ip) {\n";
              

              you change that to

              $cp_hostcheck .= "\t\tif (\$http_host ~* pf.home.arpa) {\n";
              

              No "help me" PM's please. Use the forum, the community will thank you.
              Edit : and where are the logs ??

              G 1 Reply Last reply Reply Quote 0
              • GertjanG Gertjan referenced this topic on
              • G
                goldsoft @Gertjan
                last edited by

                @Gertjan
                After modifying the /etc/inc/system.inc file, the nginx-pass-CaptivePortal.conf file can correctly display the domain pf.home.arpa, and it still displays after restarting the service, indicating that the modification is successful. However, the login page has not changed and still appears in the form of an IP address, http://192.168.0.1:8002/index.php?zone=pass&redirurl=http%3A%2F%2Fqq.com%2F.

                GertjanG 1 Reply Last reply Reply Quote 0
                • GertjanG
                  Gertjan @goldsoft
                  last edited by

                  @goldsoft

                  I just tested the http login .... and yes, I saw also "192.168.2.1".

                  So more work needs to be done.
                  The story continues here /etc/inc/captiveportal.inc locate function portal_reply_page() around line 1811.

                  Four lines lower, you'll see
                  $ourhostname = portal_hostname_from_client_ip($clientip);

                  That function return the IP if http was chosen, the domain name if otherwise (https).

                  A solution might be : locate function portal_hostname_from_client_ip($cliip) :
                  After $ifip = portal_ip_from_client_ip($cliip);
                  Add on a new line :
                  $ifip = false;

                  Like this :

                  228595c0-87e0-4093-a916-f894bef23285-image.png

                  but take note : this is messy.
                  Its always easier to do what the entire planet does : use https, as it is the future 😊

                  No "help me" PM's please. Use the forum, the community will thank you.
                  Edit : and where are the logs ??

                  G 2 Replies Last reply Reply Quote 0
                  • F
                    FSC830
                    last edited by

                    And keep in mind that after each update you need to make this changes again.
                    So I do with my changes for printing QR codes for voucher access.

                    Regards

                    1 Reply Last reply Reply Quote 0
                    • G
                      goldsoft @Gertjan
                      last edited by

                      @Gertjan
                      The IP address has been successfully transformed into a domain name, but it also caused a deadlock. How can this be resolved

                      http://pfsense.home.arpa:8002/index.php?zone=pass&redirurl=http%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fqq.com

                      G 1 Reply Last reply Reply Quote 0
                      • G
                        goldsoft @Gertjan
                        last edited by

                        @Gertjan 73037a5f-3527-44ad-acc4-c72551caf42a-1696603805822.png

                        GertjanG 1 Reply Last reply Reply Quote 0
                        • GertjanG
                          Gertjan @goldsoft
                          last edited by

                          @goldsoft said in How to use the pfsense name instead of the IP address in http?:

                          How can this be resolved

                          By undoing what you did, so you'll get the stable situation back.
                          Its (not) clear to me that more has to be changed.
                          Sorry, can't do more here.

                          No "help me" PM's please. Use the forum, the community will thank you.
                          Edit : and where are the logs ??

                          G 1 Reply Last reply Reply Quote 0
                          • G
                            goldsoft @goldsoft
                            last edited by goldsoft

                            This post is deleted!
                            1 Reply Last reply Reply Quote 0
                            • G
                              goldsoft @Gertjan
                              last edited by

                              @Gertjan Thank you very much for your guidance.

                              1 Reply Last reply Reply Quote 0
                              • G
                                goldsoft @goldsoft
                                last edited by

                                @goldsoft said in How to use the pfsense name instead of the IP address in http?:

                                @Gertjan
                                The IP address has been successfully transformed into a domain name, but it also caused a deadlock. How can this be resolved

                                http://pfsense.home.arpa:8002/index.php?zone=pass&redirurl=http%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fpfsense.home.arpa%3A8002%2Fhttp%3A%2F%2Fqq.com

                                I hope someone can help me solve this problem because I really need this functionality.

                                GertjanG 1 Reply Last reply Reply Quote 0
                                • G goldsoft referenced this topic on
                                • GertjanG
                                  Gertjan @goldsoft
                                  last edited by

                                  @goldsoft

                                  Try this :
                                  Force redirect to preset URL :

                                  34ecdb06-5818-4b55-be5b-8586a5c6d46f-image.png

                                  I know, not a real solution, but it would break the recursive redirection.

                                  No "help me" PM's please. Use the forum, the community will thank you.
                                  Edit : and where are the logs ??

                                  G 1 Reply Last reply Reply Quote 0
                                  • G
                                    goldsoft @Gertjan
                                    last edited by

                                    @Gertjan The user has been authenticated and can access the internet. Further redirection would be meaningless

                                    GertjanG 1 Reply Last reply Reply Quote 0
                                    • GertjanG
                                      Gertjan @goldsoft
                                      last edited by

                                      @goldsoft

                                      I get it.
                                      Consider this : when you visit the captive portal's IP or host name manually, the request will get handled by the nginx (the web server handling the captive pirtal login page) : the used host name will be stored in the redirect parameter.
                                      Or, the url (host name) is the host name of the web server itself.
                                      After a valid login, you will get redirected to this 'redirected url'.
                                      Which was ... the same page.
                                      And from now on, this goes in circles : you saw what happens.

                                      Simple solution : never enter or use the captive portal's host name, as the portal will auto redirect to this url anyway.

                                      To break this redirect loop, I proposed the 'https://www.whatver.tld' solution.

                                      No "help me" PM's please. Use the forum, the community will thank you.
                                      Edit : and where are the logs ??

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        johnwilliams1 @goldsoft
                                        last edited by

                                        @goldsoft To change the URL, you can follow these steps:

                                        Access your router settings.
                                        Look for the configuration related to the URL or redirection.
                                        Replace "http://192.168.1.1" with "http://pfsense" in the configuration.
                                        Save the changes.
                                        

                                        This should update the URL as you want. If you need more detailed instructions, please specify your router model for further assistance. Also, consider using the essay writing service at for academic help.

                                        M 1 Reply Last reply Reply Quote 0
                                        • M
                                          Marsh35 @johnwilliams1
                                          last edited by

                                          @johnwilliams1 Thanks for info!

                                          1 Reply Last reply Reply Quote 0
                                          • V
                                            VinzzB
                                            last edited by

                                            I've managed to get CP working with a custom dns name, a valid LE certificate and running on the native http(s) ports 80/443.

                                            First make sure you have registered a domain name for use in CP (eg login-guests.mydomain.com)

                                            Setup:

                                            • Captive portal on GuestNetwork - 192.168.10.1)
                                            • Configure Dns resolver. Resolve login-guests.mydomain.com to 192.168.10.1
                                            • configure domain name in CP config (SSL domain name)
                                            • Configure ACME for trusted SSL cert on CP login page. Bind this certificate in the CP configuration pages.

                                            Run CP on native http/https ports:

                                            1. Create your CP config in the GUI using the default ports (>8000).
                                            2. Change the pfsense config.xml and add the following two lines under the captiveportal element. Save the file and reboot the router.
                                            <captiveportal>
                                                <guest_network>
                                                    ...
                                                    <listenporthttps>443</listenporthttps>
                                                    <listenporthttp>80</listenporthttp>
                                            
                                            1. Edit the captiveportal.inc file, go to the function 'captiveportal_init_webgui_zone' and comment or remove the 2 calls to system_generate_nginx_config(). This will disable the re-creation of the nginx config files for CP!
                                            2. Explicitly add interface IP to nginx file. Under /var/etc edit the file nginx-[name]-CaptivePortal-SSL.conf. Add the interface IP in the 'listen' command. (eg: listen 192.168.10.1:443; ). I've disabled the IPv6 ([::]:443) listener.
                                            3. Start the CP service.

                                            This seems to work well. Users are redirected to the domain on port 443 (https).
                                            There is one thing to keep in mind: This configuration may be lost when updating/upgrading pfsense!

                                            GertjanG 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.