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

    Slightly strange setup :: help/pointers appreciated

    Scheduled Pinned Locked Moved IPsec
    16 Posts 2 Posters 5.7k 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.
    • Cry HavokC
      Cry Havok
      last edited by

      I think you're probably trying to do this the hard way - is there any reason you can't add another interface to one of the pfSense boxes?

      Even if you can't, what's the actual risk (as opposed to the theoretical risk) of somebody performing an ARP poisoning attack (or similar) against your switch between the 2 pfSense boxes?

      Alternatively, how about switching the networks around so that the traffic for the 10.0.0.0/24 network doesn't go through the 192.168.3.0/24 network, but the other way around?  That will make your firewall rules much simpler and make it much easier to allow access to certain hosts on the 10.0.0.0/24 network from the 192.168.3.0/24 network.

      1 Reply Last reply Reply Quote 0
      • S
        shamims
        last edited by

        To answer your questions, as much as I can

        I think you're probably trying to do this the hard way - is there any reason you can't add another interface to one of the pfSense boxes?

        No reason. I can stick in another card anytime I wish (the card is sitting there doing nothing as we speak). But in that event what kind of configuration do you suggest?

        Even if you can't, what's the actual risk (as opposed to the theoretical risk) of somebody performing an ARP poisoning attack (or similar) against your switch between the 2 pfSense boxes?

        frankly speaking, I do not know. as far as I can tell, the two pfSense boxes are connecting to two different switches – both at secured location (under lock and key). The two switches are communicating over fibre (insecure if you consider people might actually try to fiddle with that -- even I don't know which route they take).

        Alternatively, how about switching the networks around so that the traffic for the 10.0.0.0/24 network doesn't go through the 192.168.3.0/24 network, but the other way around?  That will make your firewall rules much simpler and make it much easier to allow access to certain hosts on the 10.0.0.0/24 network from the 192.168.3.0/24 network.

        If I understand you correctly, you are suggesting a third interface on the second box and allocating certain IPs and then match them to internal IPs (1:1 mapping). Well, as I stated earlier, it can be done with no problem. But the main issue is to make sure that nothing/nobody can fiddle with the traffic between the boxes and the people from 10 network cannot access the 192 network at all, people at 192 network has access to ONLY designated boxes, and the people from 10 network is behind a NAT at the realIP world – that is the main objective.

        I am not sure if I am getting this wrong -- since none of my google search indicated anything. Maybe I am not using the correct wording/terminology for the search -- but as stated, could not find anything in-favour/against what I am trying to do. One thread in this list suggested OpenVPN as a choice -- maybe I should give that a try. I have nothing against OpenVPN, just thought IPSec would be much more effective in this scenerio since the tunnel is created over the same subnet.

        If I wish to take the OpenVPN path, can anyone suggest any how-to/tutorial that explains the setup for terminating the other end of the tunnel at a realIP world and has NAT enabled? Since most of the setups deal with private to private network, the NAT-end is expected to be quite rare, as far as I understand.

        Any other suggestion/pointers?

        Thanks to all for at least viewing my issue -- maybe it has given some food for thought  ;D
        Happy new year to all

        1 Reply Last reply Reply Quote 0
        • Cry HavokC
          Cry Havok
          last edited by

          @shamims:

          To answer your questions, as much as I can

          I think you're probably trying to do this the hard way - is there any reason you can't add another interface to one of the pfSense boxes?

          No reason. I can stick in another card anytime I wish (the card is sitting there doing nothing as we speak). But in that event what kind of configuration do you suggest?

          If you put another interface into box 1 then you can simply directly connect the 10.0.0.0/24 network to it.  Most of the problems you raised largely go away at that point, no issues of network traffic being sniffed and no complex routing issues.

          At that point your diagram looks like

          x.y.z.69
                                                        |
                                                        |a1
                                            –----------------
                                            |  pfSense box 1  |
                                            ------------------
                                  192.168.3.1 |a2          a3| 10.0.0.1
                                              |              |
                          private network    |              | private network
                            192.168.3.0/24 |              | 10.0.0.0/24

          Now the traffic from either network to the Internet goes direct and you can easily create rules to allow access between the networks to suit yourself.

          1 Reply Last reply Reply Quote 0
          • S
            shamims
            last edited by

            I think I might not have made the picture clearer earlier – I'll blame it all to the many sleepless nights and brain damage at my end  ;D. The two boxes in question are physically located at two ends -- and the only path from one to the other is via the fibre link (192 network). If I wish to take your path, I will need to do a new layout of cabling from one end of my campus to the other -- which is NOT an option. I cannot use even vlans -- if you understand what I mean. Providing support for a small not-so-important group is not meant to be simple -- but that is what makes it more challenging and hence interesting.

            As it happens, these two boxes and a reasonable amount of IPs (in all networks, including a few from the realIP) is available to be put to use as I feel absolutely necessary, and I have to find my way around it.

            The place is closed at the moment, and the next time I go back is on the 4th, the solution ideally should be in place by the 5th latest. I am trying to set up a machine now where I might be able to run a few virtual instances of pfSense and see if I can achieve anything.

            Thanks to all once again.

            1 Reply Last reply Reply Quote 0
            • Cry HavokC
              Cry Havok
              last edited by

              You could make number 2 a bridge, that should work.

              However, if the fibre goes from one pfSense to the other, and not via switches, there isn't any way for an average person to sniff the traffic.  Otherwise, any VPN between the LAN interface of number 1 and the WAN interface of number 2 should work (not from WAN to WAN).

              1 Reply Last reply Reply Quote 0
              • S
                shamims
                last edited by

                Thank you for the suggestion, but could you please be a bit more specific?

                what I am trying to understand is, when you say box one, I am gathering a1 is WAN and a2 is LAN, but when it comes to box2, which one are you referring to as LAN and WAN?

                if I set a2 and b1 as LAN (both facing the other way as "outside"), do you suppose I could do a LAN to LAN tunnel? I know I can have a tunnel like that (it establishes itself without any error) – the only problem is it does not take data from one side to the other.

                I am almost done setting up 4 pfSense virtual machines into my PC, now I can try to mimic a similar setup and see if I can ping from one end of the network to the other, or at least traceroute. Would appreciate if you could please let me know.

                Thanks again

                1 Reply Last reply Reply Quote 0
                • Cry HavokC
                  Cry Havok
                  last edited by

                  WAN is always the "outside" interface, LAN the "inside".  Generally when setting up tunnels you set them up between the interfaces that connect the systems (in my experience). If you're having trouble passing data it's probably a routing table problem.

                  I think you'd probably be better off, if you can, replacing box 2 with a fibre connected switch and hooking the other end into a third interface on box 1. As I said though, if the fibre goes between the 2 pfSense boxes there isn't any way for others on the 192.168.3.0/24 network to sniff the traffic.

                  1 Reply Last reply Reply Quote 0
                  • S
                    shamims
                    last edited by

                    Thank you for your response. yes, I do understand WAN is outside and LAN is inside – but then again I am not very bright and for me anything and everything could be either inside or outside -- a matter of perspective. Hence I requested a little more detail (based on my original diagram) on which interface would be which for your suggestion to be tested.

                    As for direct fibre link, that is not possible. The only fibre link is between two switches, as I stated earlier. The switch near box 1 is connected to another switch near box 2 via fibre. switch near box 2 is solely used by the 192 series IPs (no chance of a vlan either, as stated earlier). Hence I am having to think of a secure tunnel to get the traffic -- while keeping both the network free from each others eyes.

                    If I cannot do it the ipsec way -- because of my stupidity and lack of understanding of how the tunnel should work -- maybe I should abandon the attempts or at least stop bugging people on forums.

                    thanks to everyone for at least viewing my little problem.

                    1 Reply Last reply Reply Quote 0
                    • Cry HavokC
                      Cry Havok
                      last edited by

                      I've always found bugging people on forums an effective way of learning (even if sometimes just new swear words ;) ).

                      I've never tried to set up an IPsec, or any other, tunnel between 2 pfSense boxes, most of my site to site experience is with dedicated VPN devices or Cisco kit.  That said, there are 2 stickies in the OpenVPN forum that cover using OpenVPN for site to site and there is a tutorial on IPsec between 2 pfSense hosts.

                      1 Reply Last reply Reply Quote 0
                      • S
                        shamims
                        last edited by

                        yap, seen them, followed them all even before posting the problem here, nada. As I have said before, in all events the links are established fine. I can even ping the nearest interface, but the packets simply does not route to the other side and vice versa. For example, as per my diagram, I can ping from a1 to b1, or b2 to a2. I tried with openvpn and i can even ping the other end of the tunnel (I used 169.254.13.0/24 as tunnel network), but somehow it is not going to the other side at all. I have checked the routing table and all seemed to be alright – no noticeable sign of error. But somehow the packets are not being routed. To be on the safe side, I even added firewall rules to allow traffic from any to any on all interfaces (including openvpn/IPSec/OPT1) -- and still nada.

                        I am having a hunch that the setup I am looking for is doable. It is just me unable to find the right trigger.

                        Thanks again.

                        1 Reply Last reply Reply Quote 0
                        • Cry HavokC
                          Cry Havok
                          last edited by

                          In that case it sounds like a routing problem, or probably that you're abusing 169.254.13.0/24. Try using one of the RFC-1918 addresses instead and see if your problem goes away.

                          If it doesn't check your routing tables to ensure that clients know how to route to through the VPN.  In particular you'll want to ensure that the default gateway for the "inner" pfSense host is down the IPsec tunnel.

                          1 Reply Last reply Reply Quote 0
                          • S
                            shamims
                            last edited by

                            trying to figure out what is wrong with the routing – as even after changing the network as per your suggestion (the tunnel is now 172.16.10.0/27) the packets don't seem to cooperate.

                            I have set up four virtual machines for testing, the diagram now goes like this

                            ---------   172.16.0.1                172.16.0.2  ---------    192.168.13.20
                            -----------|   box a   |---------------------------------|   box b   |---------|OPT1 10.2
                                            ---------  a1                                       b1   --------  b2          |
                                                                                                                                     | OpenVPN tunnel
                                                                                                                                     | using 172.16.10.0/27
                                            ---------  d1                                        c2 ---------   c1         |
                            -----------|   box d   |---------------------------------|   box c   |---------| OPT1 10.1
                                            ---------   172.16.13.1            172.16.13.3   --------    192.168.13.19

                            The tunnel is up, and the routing tables from the 4 boxes are like below

                            box a:

                            Routing tables
                            
                            Internet:
                            Destination        Gateway            Flags    Refs      Use  Netif Expire
                            127.0.0.1          link#5             UH          0     5448    lo0
                            172.16.0.0/24      link#2             U           0     6594    le1
                            172.16.0.1         link#2             UHS         0        0    lo0
                            172.16.13.0/24     172.16.0.2         UGS         0       37    le1
                            192.168.56.0/24    link#1             U           0        1    le0
                            192.168.56.101     link#1             UHS         0        0    lo0
                            
                            

                            box b:

                            Routing tables
                            
                            Internet:
                            Destination        Gateway            Flags    Refs      Use  Netif Expire
                            default            172.16.0.1         UGS         0     3051    le0
                            127.0.0.1          link#5             UH          0       97    lo0
                            172.16.0.0/24      link#1             U           0        1    le0
                            172.16.0.1         08:00:27:1f:a6:cb  UHS         0     6718    le0
                            172.16.0.2         link#1             UHS         0        0    lo0
                            172.16.10.1        link#7             UH          0        7 ovpnc1
                            172.16.10.2        link#7             UHS         0        0    lo0
                            172.16.13.0/24     172.16.10.1        UGS         0       30 ovpnc1
                            192.168.13.0/27    link#2             U           0     3349    le1
                            192.168.13.20      link#2             UHS         0        0    lo0
                            
                            

                            box c:

                            Routing tables
                            
                            Internet:
                            Destination        Gateway            Flags    Refs      Use  Netif Expire
                            default            172.16.13.1        UGS         0        0    le1
                            127.0.0.1          link#5             UH          0     4452    lo0
                            172.16.0.0/24      172.16.10.2        UGS         0       11 ovpns1
                            172.16.10.1        link#7             UHS         0        0    lo0
                            172.16.10.2        link#7             UH          0        7 ovpns1
                            172.16.13.0/24     link#2             U           0     2804    le1
                            172.16.13.3        link#2             UHS         0        0    lo0
                            192.168.13.0/27    link#1             U           0     2590    le0
                            192.168.13.19      link#1             UHS         0        0    lo0
                            
                            

                            box d:

                            Routing tables
                            
                            Internet:
                            Destination        Gateway            Flags    Refs      Use  Netif Expire
                            0.0.0.0/8          link#2             U           0        0    le1
                            127.0.0.1          link#5             UH          0     5048    lo0
                            172.16.0.0/24      172.16.13.3        UGS         0        7    le0
                            172.16.13.0/24     link#1             U           0     3152    le0
                            172.16.13.1        link#1             UHS         0        0    lo0
                            
                            

                            Now time for some traceroute
                            from box a, tracing route to box d

                            
                            [2.0-BETA5][admin@pfSense.localdomain]/root(3): traceroute 172.16.13.1
                            traceroute to 172.16.13.1 (172.16.13.1), 64 hops max, 40 byte packets
                             1  172.16.0.2 (172.16.0.2)  4.019 ms  9.434 ms  4.227 ms
                             2  172.16.10.1 (172.16.10.1)  20.677 ms  12.546 ms  26.545 ms
                             3  * * *
                             4  * * *
                            ^C
                            [2.0-BETA5][admin@pfSense.localdomain]/root(4): traceroute 172.16.13.3
                            traceroute to 172.16.13.3 (172.16.13.3), 64 hops max, 40 byte packets
                             1  172.16.0.2 (172.16.0.2)  18.063 ms  15.014 ms  3.099 ms
                             2  * * *
                             3  * * *
                            ^C
                            
                            

                            ping from box a

                            [2.0-BETA5][admin@pfSense.localdomain]/root(5): ping 172.16.13.3
                            PING 172.16.13.3 (172.16.13.3): 56 data bytes
                            64 bytes from 172.16.13.3: icmp_seq=0 ttl=63 time=12.455 ms
                            ^C
                            --- 172.16.13.3 ping statistics ---
                            1 packets transmitted, 1 packets received, 0.0% packet loss
                            round-trip min/avg/max/stddev = 12.455/12.455/12.455/0.000 ms
                            [2.0-BETA5][admin@pfSense.localdomain]/root(6): ping 172.16.13.1
                            PING 172.16.13.1 (172.16.13.1): 56 data bytes
                            ^C
                            --- 172.16.13.1 ping statistics ---
                            4 packets transmitted, 0 packets received, 100.0% packet loss
                            
                            

                            and a traceroute from box d to a

                            
                            [2.0-BETA5][admin@pfSense.localdomain]/root(6): traceroute 172.16.0.1
                            traceroute to 172.16.0.1 (172.16.0.1), 64 hops max, 40 byte packets
                             1  172.16.13.3 (172.16.13.3)  5.914 ms  4.803 ms  4.672 ms
                             2  172.16.10.2 (172.16.10.2)  14.846 ms  12.389 ms  11.773 ms
                             3  * * *
                             4  * * *
                            ^C
                            [2.0-BETA5][admin@pfSense.localdomain]/root(7): traceroute 172.16.0.2
                            traceroute to 172.16.0.2 (172.16.0.2), 64 hops max, 40 byte packets
                             1  172.16.13.3 (172.16.13.3)  5.617 ms  7.013 ms  5.117 ms
                             2  * * *
                             3  * * *
                            ^C
                            
                            

                            ping from box d

                            [2.0-BETA5][admin@pfSense.localdomain]/root(8): ping 172.16.0.2
                            PING 172.16.0.2 (172.16.0.2): 56 data bytes
                            64 bytes from 172.16.0.2: icmp_seq=0 ttl=63 time=12.179 ms
                            64 bytes from 172.16.0.2: icmp_seq=1 ttl=63 time=12.879 ms
                            ^C
                            --- 172.16.0.2 ping statistics ---
                            2 packets transmitted, 2 packets received, 0.0% packet loss
                            round-trip min/avg/max/stddev = 12.179/12.529/12.879/0.350 ms
                            [2.0-BETA5][admin@pfSense.localdomain]/root(9): ping 172.16.0.1
                            PING 172.16.0.1 (172.16.0.1): 56 data bytes
                            ^C
                            --- 172.16.0.1 ping statistics ---
                            3 packets transmitted, 0 packets received, 100.0% packet loss
                            
                            

                            I am not sure how much (if any) can be deduced from this tests. I am willing to run more tests if directed properly. But still cannot figure out what is going wrong in any of these boxes.

                            however, I can ping box a from box c, or d from b, and it pings quite happily.

                            FYI,  box a has a1 LAN
                                  box b has b1 wan, b2 lan
                                  box c has c1 lan, c2 wan
                                  box d has d1 lan

                            d1 default route to c2
                            a1 default route to b1

                            Thanks all.

                            1 Reply Last reply Reply Quote 0
                            • Cry HavokC
                              Cry Havok
                              last edited by

                              I assume that 'b' and 'c' represent '1' and '2' in the original diagram?  You'd probably be best off duplicating the exact same addressing etc as in the real one for your testing.

                              box a - no default gateway, but knows how to route to 172.16.13.0/24 via the correct gateway

                              box b - Route to 172.16.13.0/24 looks good (though obviously nothing beyond box d)

                              box c - Route to 172.16.0.0/24 looks good (though obviously nothing beyond box a)

                              box d - No default gateway, but knows to route to 172.16.0.0/24 via the correct gateway

                              What about NAT and firewall rules?  With NAT fully enabled these boxes won't be doing just routing, which may cause most of your problems.

                              Do the firewall rules allow the traffic (ICMP) through?

                              1 Reply Last reply Reply Quote 0
                              • S
                                shamims
                                last edited by

                                I have added defaultroute in box a to make sure it pushes all packets via box b

                                As for NAT, I don't think any of the boxes are doing any NAT at this point – apart from the autogenerated rules by openvpn (I have Automatic outbound NAT rule generation selected), more so since I can ping the interfaces properly.

                                from box b
                                [2.0-BETA5][admin@box-b.local]/root(10): ping 172.16.13.1
                                PING 172.16.13.1 (172.16.13.1): 56 data bytes
                                64 bytes from 172.16.13.1: icmp_seq=0 ttl=63 time=13.907 ms
                                64 bytes from 172.16.13.1: icmp_seq=1 ttl=63 time=10.257 ms
                                64 bytes from 172.16.13.1: icmp_seq=2 ttl=63 time=12.189 ms
                                ^C
                                –- 172.16.13.1 ping statistics ---
                                3 packets transmitted, 3 packets received, 0.0% packet loss
                                round-trip min/avg/max/stddev = 10.257/12.118/13.907/1.491 ms

                                from box c
                                [2.0-BETA5][admin@box-c.local]/root(14): ping 172.16.0.1
                                PING 172.16.0.1 (172.16.0.1): 56 data bytes
                                64 bytes from 172.16.0.1: icmp_seq=0 ttl=63 time=11.507 ms
                                64 bytes from 172.16.0.1: icmp_seq=1 ttl=63 time=9.639 ms
                                64 bytes from 172.16.0.1: icmp_seq=2 ttl=63 time=19.691 ms
                                ^C
                                –- 172.16.0.1 ping statistics ---
                                3 packets transmitted, 3 packets received, 0.0% packet loss
                                round-trip min/avg/max/stddev = 9.639/13.612/19.691/4.365 ms

                                however, when I'm trying from box a, I can ping all the way to the end of box c on both the external interface and the end of vpn tunnel
                                [2.0-BETA5][admin@pfSense.localdomain]/root(14): ping 172.16.13.3
                                PING 172.16.13.3 (172.16.13.3): 56 data bytes
                                64 bytes from 172.16.13.3: icmp_seq=0 ttl=63 time=20.001 ms
                                64 bytes from 172.16.13.3: icmp_seq=1 ttl=63 time=14.493 ms
                                ^C
                                –- 172.16.13.3 ping statistics ---
                                2 packets transmitted, 2 packets received, 0.0% packet loss
                                round-trip min/avg/max/stddev = 14.493/17.247/20.001/2.754 ms
                                [2.0-BETA5][admin@pfSense.localdomain]/root(15): ping 172.16.10.1
                                PING 172.16.10.1 (172.16.10.1): 56 data bytes
                                64 bytes from 172.16.10.1: icmp_seq=0 ttl=63 time=14.902 ms
                                64 bytes from 172.16.10.1: icmp_seq=1 ttl=63 time=12.105 ms
                                64 bytes from 172.16.10.1: icmp_seq=2 ttl=63 time=14.444 ms
                                ^C
                                –- 172.16.10.1 ping statistics ---
                                3 packets transmitted, 3 packets received, 0.0% packet loss
                                round-trip min/avg/max/stddev = 12.105/13.817/14.902/1.225 ms

                                or from box d, can ping all the way to the outer interface of box b or the vpn tunnel
                                [2.0-BETA5][admin@box-D]/root(7): ping 172.16.0.2
                                PING 172.16.0.2 (172.16.0.2): 56 data bytes
                                64 bytes from 172.16.0.2: icmp_seq=0 ttl=63 time=30.871 ms
                                64 bytes from 172.16.0.2: icmp_seq=1 ttl=63 time=16.862 ms
                                ^C
                                –- 172.16.0.2 ping statistics ---
                                2 packets transmitted, 2 packets received, 0.0% packet loss
                                round-trip min/avg/max/stddev = 16.862/23.866/30.871/7.004 ms
                                [2.0-BETA5][admin@box-D]/root(8): ping 172.16.10.2
                                PING 172.16.10.2 (172.16.10.2): 56 data bytes
                                64 bytes from 172.16.10.2: icmp_seq=0 ttl=63 time=9.543 ms
                                64 bytes from 172.16.10.2: icmp_seq=1 ttl=63 time=12.682 ms
                                ^C
                                –- 172.16.10.2 ping statistics ---
                                2 packets transmitted, 2 packets received, 0.0% packet loss
                                round-trip min/avg/max/stddev = 9.543/11.113/12.682/1.569 ms

                                however, packets from a to d or d to a is lost at the immediate last interface (at the nearest ends of the vpn tunnel to the destination).

                                any clues?

                                1 Reply Last reply Reply Quote 0
                                • Cry HavokC
                                  Cry Havok
                                  last edited by

                                  Frankly at this point I'd be popping your favourite packet sniffer on the various links and seeing what's going on at the network layer. That'll tell you exactly how far the packets are getting, and possibly why they're not getting back.

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