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

    Configuring bridge, client's traffic reaches PfSense but nothing comes back.

    Scheduled Pinned Locked Moved L2/Switching/VLANs
    1 Posts 1 Posters 209 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.
    • W
      wrobelda
      last edited by wrobelda

      I am configuring my pfSense for the first time ever, moving from Linux routing box.

      I have a i350-t4 PCIe installed (igb0-3): igb3 is WAN, igb0-2 bridged together for LAN. However, following the official manual for bridging doesn't get me far - I can see the DHCP offers being given to my client:

      Sep 28 20:02:19 pfSense dhcpd: DHCPDISCOVER from 64:4b:f0:01:xx:xx (MaokPro134) via bridge0
      Sep 28 20:02:19 pfSense dhcpd: DHCPOFFER on 10.0.1.10 to 64:4b:f0:01:xx:xx (MaokPro134) via bridge0
      

      However, tcpdump on the client's interface shows it does not receive any response at all from the router – not even the ARP packets.

      Now, if I take one of the eth interfaces (igb2) out of the bridge and assign it explicitly to LAN, the traffic comes through and DHCP works as expected.

      So I tried the following:

      • Manually setting an IP address – traffic still can't reach the server, so it's not an issue with DHCP traffic only.
      • arping to the bridge from the client doesn't return anything.
      • arping the client from the server doesn't return anything, either.
      • all this tested with firewall enabled and disabled.

      Looks to me that the outgoing traffic is somehow blocked for bridge0, except I didn't change anything on top for what the manual says: https://docs.netgate.com/pfsense/en/latest/book/bridging/bridging-and-interfaces.html

      bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
      	ether 02:1a:35:4b:55:00
      	inet 10.0.1.1 netmask 0xffffff00 broadcast 10.0.1.255
      	inet6 fe80::1:1%bridge0 prefixlen 64 scopeid 0x9
      	nd6 options=1<PERFORMNUD>
      	groups: bridge
      	id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
      	maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
      	root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
      	member: igb1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
      	        ifmaxaddr 0 port 2 priority 128 path cost 2000000
      	member: igb0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
      	        ifmaxaddr 0 port 1 priority 128 path cost 2000000
      
      [2.4.4-RELEASE][root@pfSense.localdomain]/root: pfctl -sa | grep bridge
      scrub on bridge0 all fragment reassemble
      block drop in log on ! bridge0 inet from 10.0.1.0/24 to any
      pass in quick on bridge0 inet proto udp from any port = bootpc to 255.255.255.255 port = bootps keep state label "allow access to DHCP server"
      pass in quick on bridge0 inet proto udp from any port = bootpc to 10.0.1.1 port = bootps keep state label "allow access to DHCP server"
      pass out quick on bridge0 inet proto udp from 10.0.1.1 port = bootps to any port = bootpc keep state label "allow access to DHCP server"
      pass in quick on bridge0 proto tcp from any to (bridge0) port = https flags S/SA keep state label "anti-lockout rule"
      pass in quick on bridge0 proto tcp from any to (bridge0) port = http flags S/SA keep state label "anti-lockout rule"
      pass in quick on bridge0 proto tcp from any to (bridge0) port = 6666 flags S/SA keep state label "anti-lockout rule"
      pass in quick on bridge0 inet from 10.0.1.0/24 to any flags S/SA keep state label "USER_RULE: Default allow LAN to any rule"
      bridge0 udp 255.255.255.255:67 <- 0.0.0.0:68       NO_TRAFFIC:SINGLE
      bridge0 udp 0.0.0.0:68 -> 255.255.255.255:67       SINGLE:NO_TRAFFIC
      bridge0 icmp 10.0.1.1:61491 -> 10.0.1.10:61491       0:0
      

      Tunables:

      net.link.bridge.pfil_member 0 
      net.link.bridge.pfil_bridge 1
      

      Also, the interfaces are in fact SR-IOVed from the Proxmox, if that's of any importance.

      Let me know if I can provide any more information. I am a bit puzzled by the complexity of this. From what I understand, it should just work.

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