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

    Routing PIA VPN to select devices on LAN

    Scheduled Pinned Locked Moved OpenVPN
    42 Posts 4 Posters 84.2k 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.
    • C
      cobrahead
      last edited by

      @mauroman33:

      About the reject rule, are you sure WAN_DHCP is the default gateway?
      Take a look in System / Routing / Gateways

      I checked. Both WAN_DHCP and WAN_DHCP6 are default.

      "PERFECTION IS THE ENEMY OF PERFECTLY ADEQUATE."

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

        why are you setting a gateway on that reject rule?

        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
        • C
          cobrahead
          last edited by

          @johnpoz:

          why are you setting a gateway on that reject rule?

          I was trying what pf3000 suggested. What would you set gateway to in the reject rule?

          @pf3000:

          Hint: copy button- rule u made above, rule action-reject, gateway wan, place under previous rule. If it works, tell us.

          "PERFECTION IS THE ENEMY OF PERFECTLY ADEQUATE."

          1 Reply Last reply Reply Quote 0
          • C
            cobrahead
            last edited by

            @mauroman33:

            If you want the devices routed to VPN to stop connecting to the internet until the VPN is restored, you have two chances:

            1- in System/Advanced/Miscellaneous check "Skip rules when gateway is down"

            2- follow this guide https://www.infotechwerx.com/blog/Prevent-Any-Traffic-VPN-Hosts-Egressing-WAN

            The difference is that the first solution affects all the system gateways, while the second one only those selected by you.
            There is only one active VPN client in my system, so the first solution is more simple for me.
            If there were more (eg. guest wi-fi) and I would have different behaviors when a VPN connection drops I should use the second option.

            Very helpful. I followed the guide in the second option and it works as described!

            The only issue I need to resolve now is DNS leaking.

            "PERFECTION IS THE ENEMY OF PERFECTLY ADEQUATE."

            1 Reply Last reply Reply Quote 0
            • M
              mauroman33
              last edited by

              I solved the DNS leak enabling the DNS resolver and placing in the LAN tab the following rules

              ![DNS leak rules.png](/public/imported_attachments/1/DNS leak rules.png)
              ![DNS leak rules.png_thumb](/public/imported_attachments/1/DNS leak rules.png_thumb)

              1 Reply Last reply Reply Quote 0
              • C
                cobrahead
                last edited by

                @mauroman33:

                I solved the DNS leak enabling the DNS resolver and placing in the LAN tab the following rules

                How do you enable the DNS resolver? Are you creating another rule from the Firewall->Rules->LAN page? Are both of the rules in your screen shot at the bottom of the list?

                My rules page is attached. I don't have any rules relating to DNS Allow/Block.

                firewall_rules.png
                firewall_rules.png_thumb

                "PERFECTION IS THE ENEMY OF PERFECTLY ADEQUATE."

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

                  What do you think is leaking??  Yeah if you ask pfsense for dns, and it resolves it or even forwards it which is what it is designed to do..

                  If you do not want your IPs to not talk to pfsense, or use the internet then create a rule.. How is this not clear??  with your rules you have posted..  If you set pfsense to ignore rules when gateway is down then than your traffic from your clients you want to use the vpn will just go to the next rule that says go out to internet via anyway pfsense is connected, its default route, etc.  sure your can ask pfsense anything..

                  If you don't want they said clients to do that, then under the rule that sends them to vpn gateway create a rule that will trigger on their IPs that blocks what you do not want them to do.. If you don't want them to talk to anything then the rule would be block/reject dest any..

                  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
                  • C
                    cobrahead
                    last edited by

                    @johnpoz:

                    What do you think is leaking??  Yeah if you ask pfsense for dns, and it resolves it or even forwards it which is what it is designed to do..

                    If you do not want your IPs to not talk to pfsense, or use the internet then create a rule.. How is this not clear??  with your rules you have posted..

                    Sorry, I am clearly new to this, I have only been using pfsense for a week now.

                    When I am using the VPN connection with PIA and I check my IP it is showing an IP on the server I have chosen, Seattle WA in my case… but when I run the DNSleaktest  it shows my local ISP address. Isn't that a DNS leak?

                    "PERFECTION IS THE ENEMY OF PERFECTLY ADEQUATE."

                    1 Reply Last reply Reply Quote 0
                    • M
                      mauroman33
                      last edited by

                      I'm sorry if my short answer may have made confusion.
                      Surely what is written by johnpoz is totally correct.
                      Going back to my answer, I activated the DNS resolver from Services->DNS Resolver->General Settings then I added the two previous rules in Firewall->Rules->LAN placing them immediately after the Anti-Lockout Rule.
                      This way I avoided that all devices on my network can use a DNS that is different from what was set in pfSense which is, in my case, the VPN provider's DNS because in System->General Setup I did not set any DNS.

                      1 Reply Last reply Reply Quote 0
                      • C
                        cobrahead
                        last edited by

                        @mauroman33:

                        I'm sorry if my short answer may have made confusion.
                        Surely what is written by johnpoz is totally correct.
                        Going back to my answer, I activated the DNS resolver from Services->DNS Resolver->General Settings then I added the two previous rules in Firewall->Rules->LAN placing them immediately after the Anti-Lockout Rule.
                        This way I avoided that all devices on my network can use a DNS that is different from what was set in pfSense which is, in my case, the VPN provider's DNS because in System->General Setup I did not set any DNS.

                        Cool. Would you mind posting those DNS rules 'edit' pages. Just want to make sure I am configuring them correctly. Thanks

                        Attached are mine, something isn't set right… still getting DNS leak.

                        firewall_rules.png
                        firewall_rules.png_thumb
                        ![dns_pass rule.png](/public/imported_attachments/1/dns_pass rule.png)
                        ![dns_pass rule.png_thumb](/public/imported_attachments/1/dns_pass rule.png_thumb)
                        dns_block_rule.png
                        dns_block_rule.png_thumb
                        ![services_dns resolver_general settings.png](/public/imported_attachments/1/services_dns resolver_general settings.png)
                        ![services_dns resolver_general settings.png_thumb](/public/imported_attachments/1/services_dns resolver_general settings.png_thumb)

                        "PERFECTION IS THE ENEMY OF PERFECTLY ADEQUATE."

                        1 Reply Last reply Reply Quote 0
                        • M
                          mauroman33
                          last edited by

                          You're welcome.
                          Here it is.

                          ![Allow DNS.png](/public/imported_attachments/1/Allow DNS.png)
                          ![Allow DNS.png_thumb](/public/imported_attachments/1/Allow DNS.png_thumb)
                          ![Block DNS.png](/public/imported_attachments/1/Block DNS.png)
                          ![Block DNS.png_thumb](/public/imported_attachments/1/Block DNS.png_thumb)

                          1 Reply Last reply Reply Quote 0
                          • C
                            cobrahead
                            last edited by

                            @mauroman33:

                            You're welcome.
                            Here it is.

                            That's what I have. I edited my last post to include the screenshots. Not sure what I am missing.

                            "PERFECTION IS THE ENEMY OF PERFECTLY ADEQUATE."

                            1 Reply Last reply Reply Quote 0
                            • M
                              mauroman33
                              last edited by

                              You will have the same result even using a single rule.

                              Does it work for you?

                              https://dnsleaktest.com/

                              DNS.png
                              DNS.png_thumb

                              1 Reply Last reply Reply Quote 0
                              • M
                                mauroman33
                                last edited by

                                @cobrahead:

                                @mauroman33:

                                You're welcome.
                                Here it is.

                                That's what I have. I edited my last post to include the screenshots. Not sure what I am missing.

                                I don't see anything strange.
                                Here the other settings in my system.

                                General_Setup.png
                                General_Setup.png_thumb
                                DHCP_Server.png
                                DHCP_Server.png_thumb

                                1 Reply Last reply Reply Quote 0
                                • C
                                  cobrahead
                                  last edited by

                                  @mauroman33:

                                  You will have the same result even using a single rule.

                                  Does it work for you?

                                  https://dnsleaktest.com/

                                  No. I tried changing the destination to 'Invert Match' and 'LAN Address' … same results on dnsleaktest... it comes up with my ISP.

                                  After making these changes should I only use this rule and get rid of the DNS Allow rule?

                                  "PERFECTION IS THE ENEMY OF PERFECTLY ADEQUATE."

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    cobrahead
                                    last edited by

                                    @mauroman33:

                                    Here the other settings in my system.

                                    OK. So I went to Services -> DNS Resolver -> General Settings and changed the Outgoing Network Interface from ANY to OPENVPN and that was what I missed. DNSleak stopped… at least according to dnsleaktest.com

                                    Thanks for your help!

                                    "PERFECTION IS THE ENEMY OF PERFECTLY ADEQUATE."

                                    1 Reply Last reply Reply Quote 0
                                    • M
                                      mauroman33
                                      last edited by

                                      @cobrahead:

                                      @mauroman33:

                                      You will have the same result even using a single rule.

                                      Does it work for you?

                                      https://dnsleaktest.com/

                                      No. I tried changing the destination to 'Invert Match' and 'LAN Address' … same results on dnsleaktest... it comes up with my ISP.

                                      After making these changes should I only use this rule and get rid of the DNS Allow rule?

                                      Yes, it's up to you choose if you want to reach te same goal using the two previos rules or only the last one.

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        mauroman33
                                        last edited by

                                        Fine.
                                        Just a note:  if you want to avoid using a DNS (eg the one of the ISP) these rules are just a precaution to prevent anyone from doing so by manually changing the DNS of the device connected to the LAN.
                                        If you have set the DNS resolver, when you're connected to the VPN provider, the dnsleaktest should show the IP address of the VPN.

                                        1 Reply Last reply Reply Quote 0
                                        • C
                                          cobrahead
                                          last edited by

                                          Got it. I have learned a lot over the last week.  :D

                                          The only thing that is not working now is stopping and re-starting the OpenVPN service. Some change(s) I made today have caused a full reboot to be necessary in order to restart OpenVPN if it goes down.

                                          "PERFECTION IS THE ENEMY OF PERFECTLY ADEQUATE."

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            mauroman33
                                            last edited by

                                            You could try to install Service_Watchdog from System->Package Manager->Available Packages

                                            Then in Services->Service Watchdog->Add you can select the OpenVPN client that you're using

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