DHCP not receiving requests?



  • Previously I ran pfSense 1.2 on a dedicated box.  That boxes meager hardware is no longer up to the task of managing my network traffic, so I decided to create a new pfSense box using the latest version in a VirtualBox VM on my Ubuntu Server-based server.  Everything seemed to go OK during setup, I was even able to import my config xml from my prior box (although I suspected this might cause trouble so I created another VM fresh, but got the same behavior).

    Right now it seems that everything is working fine except for the fact that pfSense never seems to even see any of the DHCP requests on my network.  Am I correct in thinking that if it were receiving requests, they would be recorded in the DHCP logs?  As it is, I see nothing there (except for the host machine requesting info about an expired lease from the WAN connection) and no leases are active.  If I set a machine on my network to a static IP on the pfSense subnet, everything works fine.  If I tell the machine to use DHCP, I end up with a garbage IP (169.x.x.x).

    In the VM, both the LAN and WAN connections are set to be bridged to the two physical NICs, one connected to my LAN, the other to my cable modem.  In Ubuntu, in the /etc/network/interfaces file I configured the WAN-connected interface (eth0) to receive no IP, and the other interface is set up with eth1:1 with a static IP, and eth1 with no IP.  ifconfig shows these settings taking effect properly.  pfSense assigns 192.168.0.1 to its LAN connection and gets a WAN IP from my ISP as it should.  pfSense just never receives any DHCP requests from the network.  It receives other traffic, I can use the web configurator, get out to the Internet, resolve the hostnames of my 2 local boxes (host and a desktop) just fine.  The DHCP server is enabled, and it gets spurious (as far as I can tell) requests from the host for an old WAN IP, but it seems to see nothing from my LAN at all.

    Could something on the OS side be blocking/intercepting the DHCP traffic?  In my investigations, I found that dnsmasq is running on a weird subnet (192.168.122.1, all my stuff is on 192.168.0.1) and dhclient3 is running for eth0 and eth1.  Could those be suspect?  I was going to kill/disable them but I don't know if they are what VirtualBox is using to manage things.  I did notice both my adapters are now in promiscuous mode, which is apparently necessary for the bridged networking to function.

    I'd greatly appreciate any help with this, it seems to me that I must be very close since everything but this DHCP problem works…



  • You almost certainly don't want to have dhclient running on eth0 since that is likely to result in two different MAC addresses asking for DHCP configuration from your ISP (unless your cable modem is acting as a DHCP server).

    Have you checked the pfSense firewall log for signs DHCP requests has been blocked by the firewall?

    Have you done a packet capture in pfSense to look for DHCP traffic?

    @otakucode:

    Am I correct in thinking that if it were receiving requests, they would be recorded in the DHCP logs?

    Yes

    @otakucode:

    If I tell the machine to use DHCP, I end up with a garbage IP (169.x.x.x).

    That is the usual consequence of a machine not receiving DHCP response.

    @otakucode:

    In the VM, both the LAN and WAN connections are set to be bridged to the two physical NICs, one connected to my LAN, the other to my cable modem.  In Ubuntu, in the /etc/network/interfaces file I configured the WAN-connected interface (eth0) to receive no IP, and the other interface is set up with eth1:1 with a static IP, and eth1 with no IP.

    I'm not as familiar with Linux networking as I am with FreeBSD networking. What the meaning of an interface name like eth1:1? VLAN with VLAN tag 1 on physical interface eth1?

    @otakucode:

    I did notice both my adapters are now in promiscuous mode, which is apparently necessary for the bridged networking to function.

    Yes.


Locked