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

    Redirect HTTPS trafic from Internal LAN

    Scheduled Pinned Locked Moved Cache/Proxy
    16 Posts 3 Posters 964 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.
    • johnpozJ
      johnpoz LAYER 8 Global Moderator @llinty
      last edited by

      @llinty said in Redirect HTTPS trafic from Internal LAN:

      I need to access external services (hosted locally) from the internal network using the external IP address.

      This is simple haproxy reverse proxy with ssl offload.

      This has nothing to do with nat. Moving this to the haproxy section.

      If you have haproxy working from the outside with this - it should work from the inside as well. I have a site I do this with. Overseer, it does not do https, that is handled by haproxy.

      An intelligent man is sometimes forced to be drunk to spend time with his fools
      If you get confused: Listen to the Music Play
      Please don't Chat/PM me for help, unless mod related
      SG-4860 24.11 | Lab VMs 2.8, 24.11

      1 Reply Last reply Reply Quote 0
      • johnpozJ johnpoz moved this topic from NAT on
      • V
        viragomann @llinty
        last edited by

        @llinty said in Redirect HTTPS trafic from Internal LAN:

        All the external trafic is redirected to pfsense.

        So is pfSense behind a router? Does pfSense have the public IP?

        NAT is mandatory because of SSL Termination.

        What has SSL termination to do with NAT?

        I had a deep reading on NAT Reflection. It seems that it could solve this such ethernet packet loopback.

        If pfSense is behind a NAT router you need NAT reflection on the front router.

        johnpozJ L 2 Replies Last reply Reply Quote 1
        • johnpozJ
          johnpoz LAYER 8 Global Moderator @viragomann
          last edited by johnpoz

          @viragomann said in Redirect HTTPS trafic from Internal LAN:

          If pfSense is behind a NAT router you need NAT reflection on the front router.

          That for sure could cause his issue..

          There is nothing special you would have to do with the reverse proxy. It doesn't care where the traffic comes from. Be it public or from the same network..

          So unless your blocking, or maybe policy routing from your lan side? Off top of the head I don't recall having to do anything special for internal devices to be able to hit pfsense wan and get sent to the backend.

          Other than sure if pfsense is not public on its wan, whatever does have the public IP would have to do nat reflection and send it to pfsense wan IP.

          An intelligent man is sometimes forced to be drunk to spend time with his fools
          If you get confused: Listen to the Music Play
          Please don't Chat/PM me for help, unless mod related
          SG-4860 24.11 | Lab VMs 2.8, 24.11

          V 1 Reply Last reply Reply Quote 0
          • V
            viragomann @johnpoz
            last edited by

            @johnpoz
            I mentioned this requirement already above, but his answer let me still assume he is behind NAT.

            johnpozJ 1 Reply Last reply Reply Quote 0
            • johnpozJ
              johnpoz LAYER 8 Global Moderator @viragomann
              last edited by

              @viragomann I didn't catch that you mentioned it before - but it is a good possible reason for his troubles.

              An intelligent man is sometimes forced to be drunk to spend time with his fools
              If you get confused: Listen to the Music Play
              Please don't Chat/PM me for help, unless mod related
              SG-4860 24.11 | Lab VMs 2.8, 24.11

              1 Reply Last reply Reply Quote 0
              • L
                llinty
                last edited by

                Hi @johnpoz,

                thank you for your anwser! Indeed I have put my post in NAT section because I thought that NAT Reflection may solve my problem. HAproxy is perfectly doing it's job from outside but to access to web site resources trafic must go through pfsense and HAproxy to get SSL certificate and to be redirected with NAT rule depending on the requested SNI.

                From internal network, I can of course get access to website resource by specifying the right local port number but for some of them HTTPS is mandatory.

                johnpozJ 1 Reply Last reply Reply Quote 0
                • johnpozJ
                  johnpoz LAYER 8 Global Moderator @llinty
                  last edited by johnpoz

                  @llinty still haven't answered the question - is pfsense wan actual public IP, or is it behind a nat router?

                  If pfsense wan is not public, then yes you would need to setup nat reflect on what does so traffic would get sent back to pfsense wan IP so the haproxy could send it to your backend.

                  if pfsense is the actual public IP, there there is nothing off the top of my head that you have to do special for either a internet client or a local client to use the proxy to get to your backend.

                  Other than yes the client behind pfsense would need to be able to get to the wan IP where haproxy is listening for the traffic. I have a site that is open to the public, and didn't need to do anything at all that I recall for local clients to also use it via the fqdn that resolves to my pfsense public wan IP.

                  An intelligent man is sometimes forced to be drunk to spend time with his fools
                  If you get confused: Listen to the Music Play
                  Please don't Chat/PM me for help, unless mod related
                  SG-4860 24.11 | Lab VMs 2.8, 24.11

                  1 Reply Last reply Reply Quote 0
                  • L
                    llinty @viragomann
                    last edited by

                    @viragomann physical server is hosted by a provider so there is of course router in the frontend. As you can understand I cannot manage this equipement.

                    I have 1 public IP address (vmbr0 - physical ethernet card) for my physical server which is an hypervisor. Two other Linux Bridge interfaces have been declared for managing WAN (vmbr1) and LAN (vmbr2). pfSense is a virtual machine running on the hypervisor with two networks interfaces on vmbr1 and vmbr2. All the traffic going to LAN is routed to pfSense (WAN IP) through the bridged network (vmbr1). This is the post-up command executed for vmbr2 on physical server.

                    ip route change <lan network>/24 via <WAN IP address> dev vmbr1

                    HAproxy is a package installed in pfSense virtual machine. It is performing NAT from WAN (HTTPS trafic) to LAN depending on the SNI and it is providing SSL Termination. Local website are running on a different TCP port.

                    NAT reflection has nothing to do with SSL Termination of course. But if I take a look at the Netgate documentation " [...] NAT Reflection refers to the ability to access external services from the internal network using the external (usually public) IP address, the same as if the client were on the Internet. [...]"

                    So if I execute wget command from one VM on Internal LAN to one other VM running a website I need to :

                    (1) wget https://mysite.public.domain

                    In this case mysite.public.domain matches the public IP address of my host. The SNI 'mysite' is one of the backend website managed by HAProxy. It is working from outside and not from inside. However:

                    (2) wget http://mysite.local.domain:<local port>

                    This command is working from inside but I have to use the public domain (1). Split DNS is not a solution because external and internal port numbers are different.

                    V 1 Reply Last reply Reply Quote 0
                    • V
                      viragomann @llinty
                      last edited by

                      @llinty said in Redirect HTTPS trafic from Internal LAN:

                      So if I execute wget command from one VM on Internal LAN to one other VM running a website I need to :
                      (1) wget https://mysite.public.domain
                      It is working from outside and not from inside.

                      So when you resolve mysite.public.domain from inside your LAN, do you get the WAN IP of pfSense?

                      (2) wget http://mysite.local.domain:<local port>

                      This command is working from inside but I have to use the public domain (1).

                      This let me assume, that you have a DNS override configured for this host name pointing to your backed server, which would not work.

                      L 1 Reply Last reply Reply Quote 0
                      • L
                        llinty @viragomann
                        last edited by

                        @viragomann

                        the dig command executed for mysite.public.domain reply with the Public IP address declared on the DNS of my provider. So there is no DNS override. pfsens does not have public IP address because it is a VM running in the Hypervisor. It only have two bridged IP Addresses WAN (vmbr1) and LAN (vmbr2) declared in the hypervisor.

                        This is the packet capture from wget to mysite.public.domain.

                        myhost.public.domain is the DNS name associated to Public IP address given by my provider.

                        user@test:~$ sudo tcpdump -i ens18 port 443
                        tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
                        listening on ens18, link-type EN10MB (Ethernet), capture size 262144 bytes
                        12:20:20.486731 IP test.local.domain.38836 > myhost.public.domain.ip-145-xxx-xxx.eu.https: Flags [S], seq 3524126061, win 64240, options [m ss 1460,sackOK,TS val 1981282875 ecr 0,nop,wscale 7], length 0

                        V 1 Reply Last reply Reply Quote 0
                        • V
                          viragomann @llinty
                          last edited by

                          @llinty said in Redirect HTTPS trafic from Internal LAN:

                          pfsens does not have public IP address because it is a VM running in the Hypervisor.

                          That's no reason for having not the public IP on pfSense.
                          But yeah, if you have only one and need it to be assigned to the hypervisor you have to forward traffic to pfSense.

                          So now, do you have access to the device, which the public IP is assigned to, maybe the VPS or is that device controlled by the provider?

                          L 1 Reply Last reply Reply Quote 0
                          • L
                            llinty @viragomann
                            last edited by

                            @viragomann I have no way to change the current infrastructure and I do not want to. There is one Hypervisor running multiple VMs including pfSense with differen packages installed. I can fully manage the physical server and VMs with ssh and none of the other components are managed by the provider.

                            johnpozJ 1 Reply Last reply Reply Quote 0
                            • johnpozJ
                              johnpoz LAYER 8 Global Moderator @llinty
                              last edited by johnpoz

                              @llinty If your forwarding on your hypervisor - that is where you would have to put in the nat reflection its that simple..

                              Not sure how you expect the haproxy to proxy traffic it is never seeing.. Put in a host override in pfsense so you client resolves the fqdn to whatever pfsense actual wan IP is where the haproxy is listening.

                              An intelligent man is sometimes forced to be drunk to spend time with his fools
                              If you get confused: Listen to the Music Play
                              Please don't Chat/PM me for help, unless mod related
                              SG-4860 24.11 | Lab VMs 2.8, 24.11

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