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

    Can I pass BACnet traffic between VLAN's with pfSense?

    Scheduled Pinned Locked Moved General pfSense Questions
    12 Posts 3 Posters 894 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.
    • R
      ramses.sevilla
      last edited by

      @stephenw10, thanks so much by your answer.

      Are you sure that I can pass multicast traffic (224.0.0.0/24) between VLAN10 anda VLAN20?

      I have tried to configure IGMP Proxy but I have not succedeed. I am sure that I have not done well.

      Can anybody help me to configure this funcionality to pass this multicast traffic (224.0.0.0/24)?

      Best regards,

      Ramsés

      1 Reply Last reply Reply Quote 0
      • stephenw10S
        stephenw10 Netgate Administrator
        last edited by

        That's what the igmp proxy does and it should work here specifically as this is igmp traffic.

        How have you configured it? Do you see anything blocked in the firewall log?

        Steve

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

          You could also try the pimd package that jimp created for routing multicast..

          pimd.jpg

          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
          • R
            ramses.sevilla
            last edited by

            @stephenw10 / @johnpoz, , , I have configured IGMP Proxy like this:

            Interface: VLAN20
            Description: Interface with PC IoT Manager
            Type: Upstream Interface
            Threshold:
            Networks: 10.20.20.0/24 (Network of PC IoT Manager) 
            ---------------------
            Interface: VLAN10
            Description: Interface with IoT Devices
            Type: Downstream Interface
            Threshold:
            Networks: 224.0.0.0/24 (Multicast IoT Devices)
            

            Later, I have analized the traffic with TCPDump on both VLAN's Interfaces and I don't see IGMP Traffic coming from the other VLAN Interface.

            I am not seeing block traffic un the pfSense neither.

            What am I doing wrong?

            Regards,

            Ramsés

            1 Reply Last reply Reply Quote 0
            • stephenw10S
              stephenw10 Netgate Administrator
              last edited by

              Check the system logs for errors when you start igmp proxy. make sure it's actually running in Status > Services.

              You could try using PIMD instead although I'm not sure exactly how you might configure it for this.

              Otherwise try starting igmp proxy manually in debug mode at the command line.
              Stop the service in the webgui, then run:
              igmpproxy -d -vv /var/etc/igmpproxy.conf

              You will see which interfaces it's running on, any errors and devices using it.

              Steve

              1 Reply Last reply Reply Quote 0
              • R
                ramses.sevilla
                last edited by

                @stephenw10, I have configurared IGMP Proxy this way:

                IGMP Proxy:

                Interface: VLAN20
                Description: Interface with PC IoT Manager
                Type: Upstream Interface
                Threshold:
                Networks: 10.20.20.0/24 (Network of PC IoT Manager) 
                ---------------------
                Interface: VLAN10
                Description: Interface with IoT Devices
                Type: Downstream Interface
                Threshold:
                Networks: 224.0.0.0/8 (Multicast IoT Devices)
                Networks: 10.10.10.0/24 (Network of IoT Devices)
                

                Firewall Rules:

                * First rule on VALN20 Interface. *
                Action: Pass
                Interface: VLAN20
                Address Family: IPv4
                Protocol: IGMP
                Source: Any
                Destination: Any
                Allow IP options: Checked
                ---------------------
                * First rule on VALN10 Interface. *
                Action: Pass
                Interface: VLAN10
                Address Family: IPv4
                Protocol: IGMP
                Source: Any
                Destination: Any
                Allow IP options: Checked
                

                I have looked "Service > IGMP Proxy" and appear Stopped.

                I have try to start and pfSense show "igmpproxy has been started." but the Service IGMP Proxy still appears "IGMP Proxy -- Stopped".

                In "Status > System Logs > System > General" appear:

                Feb 25 10:22:56 	igmpproxy 	99201 	There must be at least 2 Vif's where one is upstream.
                Feb 25 10:22:56 	igmpproxy 	99201 	adding VIF, Ix 4 Fl 0x0 IP 0x427d8c59 em3, Threshold: 1, Ratelimit: 0
                Feb 25 10:22:56 	igmpproxy 	99201 	adding VIF, Ix 3 Fl 0x0 IP 0x8ebb0759 bge0, Threshold: 1, Ratelimit: 0
                Feb 25 10:22:56 	igmpproxy 	99201 	adding VIF, Ix 2 Fl 0x0 IP 0x9604a8c0 em2, Threshold: 1, Ratelimit: 0
                Feb 25 10:22:56 	igmpproxy 	99201 	adding VIF, Ix 1 Fl 0x0 IP 0x0101230a em1, Threshold: 1, Ratelimit: 0
                Feb 25 10:22:56 	igmpproxy 	99201 	adding VIF, Ix 0 Fl 0x0 IP 0x9605a8c0 em0, Threshold: 1, Ratelimit: 0
                Feb 25 10:22:56 	php-fpm 	50687 	/status_services.php: Started IGMP proxy service.
                

                I have tried to start the IGMP Proxy in debug mode with "igmpproxy -d -vv /var/etc/igmpproxy.conf" but the "/var/etc/igmpproxy.conf" file not exist.

                Where is the problem?

                • I can't install PIMD module because I need upgrade the pfSense version to the latest.

                Regards,

                Ramsés

                1 Reply Last reply Reply Quote 0
                • R
                  ramses.sevilla
                  last edited by

                  @stephenw10, well, in my Production Environment, I have found the "igmpproxy.conf" in "/tmp/igmpproxy.conf".

                  In my Production Environment, I have configurared IGMP Proxy this way:

                  IGMP Proxy:

                  Interface: em1_vlan100 (Virtual Interface)
                  Description: Interface with PC IoT Manager
                  Type: Upstream Interface
                  Threshold:
                  Networks: 10.40.100.0/22 (Network of PC IoT Manager) 
                  ---------------------
                  Interface: em1 (Physical Interface)
                  Description: Interface with IoT Devices
                  Type: Downstream Interface
                  Threshold:
                  Networks: 10.35.0.0/16 (Network of IoT Devices)
                  Networks: 224.0.0.0/8 (Multicast IoT Devices)
                  

                  Firewall Rules:

                  * First rule on em1_vlan100 Interface (Virtual Interface). *
                  Action: Pass
                  Interface: em1_vlan100
                  Address Family: IPv4
                  Protocol: IGMP
                  Source: Any
                  Destination: Any
                  Allow IP options: Checked
                  ---------------------
                  * First rule on  em1 Interface (Physical Interface). *
                  Action: Pass
                  Interface: em1
                  Address Family: IPv4
                  Protocol: IGMP
                  Source: Any
                  Destination: Any
                  Allow IP options: Checked
                  

                  I have looked "Service > IGMP Proxy" and appear Stopped.

                  I have try to start and pfSense show "igmpproxy has been started." but the Service IGMP Proxy still appears "IGMP Proxy -- Stopped".

                  In "Status > System Logs > System > General" appear the same:

                  Feb 25 10:22:56 	igmpproxy 	99201 	There must be at least 2 Vif's where one is upstream.
                  Feb 25 10:22:56 	igmpproxy 	99201 	adding VIF, Ix 4 Fl 0x0 IP 0x427d8c59 em3, Threshold: 1, Ratelimit: 0
                  Feb 25 10:22:56 	igmpproxy 	99201 	adding VIF, Ix 3 Fl 0x0 IP 0x8ebb0759 bge0, Threshold: 1, Ratelimit: 0
                  Feb 25 10:22:56 	igmpproxy 	99201 	adding VIF, Ix 2 Fl 0x0 IP 0x9604a8c0 em2, Threshold: 1, Ratelimit: 0
                  Feb 25 10:22:56 	igmpproxy 	99201 	adding VIF, Ix 1 Fl 0x0 IP 0x0101230a em1, Threshold: 1, Ratelimit: 0
                  Feb 25 10:22:56 	igmpproxy 	99201 	adding VIF, Ix 0 Fl 0x0 IP 0x9605a8c0 em0, Threshold: 1, Ratelimit: 0
                  Feb 25 10:22:56 	php-fpm 	50687 	/status_services.php: Started IGMP proxy service.
                  

                  I have tried to start the IGMP Proxy in debug mode with "igmpproxy -d -vv /tmp/igmpproxy.conf" and shows this:

                  /root: igmpproxy -d -vv /tmp/igmpproxy.conf 
                  Searching for config file at '/tmp/igmpproxy.conf'
                  Config: Quick leave mode enabled.
                  Config: Got a phyint token.
                  Config: IF: Config for interface em1_vlan100.
                  Config: IF: Got upstream token.
                  Config: IF: Got ratelimit token '0'.
                  Config: IF: Got threshold token '1'.
                  Config: IF: Got altnet token 10.40.100.0/22.
                  Config: IF: Altnet: Parsed altnet to 10.40.100/22.
                  IF name : em1_vlan100
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 1
                  Allowednet ptr : 1013050
                  Config: Got a phyint token.
                  Config: IF: Config for interface em1.
                  Config: IF: Got downstream token.
                  Config: IF: Got ratelimit token '0'.
                  Config: IF: Got threshold token '1'.
                  Config: IF: Got altnet token 224.0.0.0/8.
                  Config: IF: Altnet: Parsed altnet to 224/8.
                  Config: IF: Got altnet token 10.35.0.0/16.
                  Config: IF: Altnet: Parsed altnet to 10.35/16.
                  IF name : em1
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 2
                  Allowednet ptr : 1013060
                  Config: Got a phyint token.
                  Config: IF: Config for interface bge0.
                  Config: IF: Got disabled token.
                  IF name : bge0
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  Config: Got a phyint token.
                  Config: IF: Config for interface em2.
                  Config: IF: Got disabled token.
                  IF name : em2
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  Config: Got a phyint token.
                  Config: IF: Config for interface em3.
                  Config: IF: Got disabled token.
                  IF name : em3
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  Config: Got a phyint token.
                  Config: IF: Config for interface em0.
                  Config: IF: Got disabled token.
                  IF name : em0
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  Config: Got a phyint token.
                  Config: IF: Config for interface em1_vlan10.
                  Config: IF: Got disabled token.
                  IF name : em1_vlan10
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  Config: Got a phyint token.
                  Config: IF: Config for interface em1_vlan20.
                  Config: IF: Got disabled token.
                  IF name : em1_vlan20
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  Config: Got a phyint token.
                  Config: IF: Config for interface em1_vlan30.
                  Config: IF: Got disabled token.
                  IF name : em1_vlan30
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  Config: Got a phyint token.
                  Config: IF: Config for interface em1_vlan50.
                  Config: IF: Got disabled token.
                  IF name : em1_vlan50
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  Config: Got a phyint token.
                  Config: IF: Config for interface em1_vlan101.
                  Config: IF: Got disabled token.
                  IF name : em1_vlan101
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  Config: Got a phyint token.
                  Config: IF: Config for interface em1_vlan200.
                  Config: IF: Got disabled token.
                  IF name : em1_vlan200
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  Config: Got a phyint token.
                  Config: IF: Config for interface em1_vlan210.
                  Config: IF: Got disabled token.
                  IF name : em1_vlan210
                  Next ptr : 0
                  Ratelimit : 0
                  Threshold : 1
                  State : 0
                  Allowednet ptr : 0
                  buildIfVc: Interface em0 Addr: 192.168.5.150, Flags: 0xffff8843, Network: 192.168.5/24
                  buildIfVc: Interface em1 Addr: 10.35.1.1, Flags: 0xffff8843, Network: 10.35/16
                  buildIfVc: Interface em2 Addr: 192.168.4.150, Flags: 0xffff8843, Network: 192.168.4/24
                  buildIfVc: Interface bge0 Addr: 88.88.88.142, Flags: 0xffff8843, Network: 88.88.88.136/29
                  buildIfVc: Interface em3 Addr: 99.99.99.66, Flags: 0xffff8843, Network: 99.99.99.64/27
                  buildIfVc: Interface lo0 Addr: 127.0.0.1, Flags: 0xffff8049, Network: 127/8
                  Found config for em0
                  Found config for em1
                  Found config for em2
                  Found config for bge0
                  Found config for em3
                  adding VIF, Ix 0 Fl 0x0 IP 0x9605a8c0 em0, Threshold: 1, Ratelimit: 0
                          Network for [em0] : 192.168.5/24
                  adding VIF, Ix 1 Fl 0x0 IP 0x0101230a em1, Threshold: 1, Ratelimit: 0
                          Network for [em1] : 10.35/16
                          Network for [em1] : 224/8
                          Network for [em1] : 10.35/16
                  adding VIF, Ix 2 Fl 0x0 IP 0x9604a8c0 em2, Threshold: 1, Ratelimit: 0
                          Network for [em2] : 192.168.4/24
                  adding VIF, Ix 3 Fl 0x0 IP 0x8ebb0759 bge0, Threshold: 1, Ratelimit: 0
                          Network for [bge0] : 88.88.88.136/29
                  adding VIF, Ix 4 Fl 0x0 IP 0x427d8c59 em3, Threshold: 1, Ratelimit: 0
                          Network for [em3] : 99.99.99.64/27
                  There must be at least 2 Vif's where one is upstream.
                  

                  Can you help me with the problem?

                  Regards,

                  Ramsés

                  1 Reply Last reply Reply Quote 0
                  • stephenw10S
                    stephenw10 Netgate Administrator
                    last edited by

                    What version of pfSense are you running?

                    It's not adding the vlan interface there which was a known bug from a few versions back.
                    https://redmine.pfsense.org/issues/6099

                    Your interface naming em1_vlan100 shows it must be a very old version.....

                    Steve

                    R 1 Reply Last reply Reply Quote 0
                    • R
                      ramses.sevilla @stephenw10
                      last edited by

                      @stephenw10, thanks so much by your attention and help.

                      Basing me in the info of this post I have done some tests.

                      I have pfSense 2.3 (very old, I know, but we are in the migration process) with these network interfaces:

                      Interface bge0 
                      Interface em1
                      Interface em2
                      Interface em3 
                      Interface em0 
                      Interface em1_vlan10 
                      Interface em1_vlan20 
                      Interface em1_vlan30 
                      Interface em1_vlan50 
                      Interface em1_vlan101 
                      Interface em1_vlan200 
                      Interface em1_vlan210
                      

                      If I select either physical network interface (bge0 to em3) as "Upstream Interface", the IGMP Proxy Service start without problems.

                      With em3 Interface as Upstream Interface:

                      # cat /tmp/igmpproxy.conf
                      
                      ##------------------------------------------------------
                      ## Enable Quickleave mode (Sends Leave instantly)
                      ##------------------------------------------------------
                      quickleave
                      phyint em3 upstream ratelimit 0 threshold 1
                      altnet 224.0.0.0/8
                      altnet 10.35.0.0/16
                      
                      phyint em1_vlan100 downstream ratelimit 0 threshold 1
                      altnet 224.0.0.0/8
                      altnet 10.100.0.0/22
                      
                      phyint bge0 disabled
                      phyint em1 disabled
                      phyint em2 disabled
                      phyint em0 disabled
                      phyint em1_vlan10 disabled
                      phyint em1_vlan20 disabled
                      phyint em1_vlan30 disabled
                      phyint em1_vlan50 disabled
                      phyint em1_vlan101 disabled
                      phyint em1_vlan200 disabled
                      phyint em1_vlan210 disabled
                      

                      If I select either Virtual Interface as Upstream Interface the IGMP Proxy Service not start, appears it stopped.

                      With em1_vlan10 Interface as Upstream Interface:

                      # cat /tmp/igmpproxy.conf
                      
                      ##------------------------------------------------------
                      ## Enable Quickleave mode (Sends Leave instantly)
                      ##------------------------------------------------------
                      quickleave
                      phyint em1_vlan10 upstream ratelimit 0 threshold 1
                      altnet 224.0.0.0/8
                      altnet 10.35.0.0/16
                      
                      phyint em1_vlan100 downstream ratelimit 0 threshold 1
                      altnet 224.0.0.0/8
                      altnet 10.100.0.0/22
                      
                      phyint bge0 disabled
                      phyint em1 disabled
                      phyint em2 disabled
                      phyint em3 disabled
                      phyint em0 disabled
                      phyint em1_vlan20 disabled
                      phyint em1_vlan30 disabled
                      phyint em1_vlan50 disabled
                      phyint em1_vlan101 disabled
                      phyint em1_vlan200 disabled
                      phyint em1_vlan210 disabled
                      

                      In the issue they say that IGMP Proxy does not manage well more than four the first Networks Interfaces but it's not this case.

                      Can It be that I can't select as Upstream and Downstream Interface two Virtual Interfaces that are over the same Physical Interface or simply select two Virtual Interfaces?

                      I have create the VLAN Interface 55 over the em0 and select it as Upstream Interface and the IGMP Proxy Service not starts neither.

                      # cat /tmp/igmpproxy.conf
                      
                      ##------------------------------------------------------
                      ## Enable Quickleave mode (Sends Leave instantly)
                      ##------------------------------------------------------
                      quickleave
                      phyint em0_vlan55 upstream ratelimit 0 threshold 1
                      altnet 224.0.0.0/8
                      altnet 10.35.0.0/16
                      
                      phyint em1_vlan100 downstream ratelimit 0 threshold 1
                      altnet 224.0.0.0/8
                      altnet 10.100.0.0/22
                      
                      phyint bge0 disabled
                      phyint em1 disabled
                      phyint em2 disabled
                      phyint em3 disabled
                      phyint em0 disabled
                      phyint em1_vlan10 disabled
                      phyint em1_vlan20 disabled
                      phyint em1_vlan30 disabled
                      phyint em1_vlan50 disabled
                      phyint em1_vlan101 disabled
                      phyint em1_vlan200 disabled
                      phyint em1_vlan210 disabled
                      
                      

                      Regards,

                      Ramsés

                      1 Reply Last reply Reply Quote 0
                      • stephenw10S
                        stephenw10 Netgate Administrator
                        last edited by

                        Yes, there was a bug in 2.3.X that prevented IGMP proxy running on VLAN interfaces. You can read about it in that bug link I posted above.

                        That's just another reason you should upgrade, that is fixed in current.

                        Steve

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