Trouble renewing DHCP client on OPT1 WAN



  • 2.2-ALPHA (i386)
    built on Wed Apr 9 09:01:59 CDT 2014
    FreeBSD 10.0-STABLE

    I have 2 ISPs, for both I have the ISP devices in "ordinary" (not bridged) mode. WAN and OPT1 are set to "DHCP" and normally get an IP address from the ISP device and away they go.
    Had some trouble getting/renewing on OPT1. I had tried unplugging the physical cable and replugging it. Then I tried Status->Interfaces, Release and Renew.
    On Status->Interfaces OPT1 it knew the gateway, but for some reason did not know its own IP address:

    OPT1 interface (opt1, vr2)
    Status 	up
    DHCP 	up  
    MAC address 	00:0d:b9:24:59:c2
    Gateway IPv4 	192.168.1.1
    IPv6 Link Local 	fe80::20d:b9ff:fe24:59c2  
    Media 	100baseTX <full-duplex>
    In/out packets 	5586/94471 (1.04 MB/5.87 MB)
    In/out packets (pass) 	5586/94471 (1.04 MB/5.87 MB)
    In/out packets (block) 	26/0 (1 KB/0 bytes)
    In/out errors 	0/0
    Collisions 	0</full-duplex>
    

    That should be impossible? How can it get to know the gateway, but not the IP address allocated to itself?

    The System log has a nasty-looking message:

    Apr 13 10:20:27 	php-fpm[77160]: /status_interfaces.php: Clearing states to old gateway 192.168.1.1.
    Apr 13 10:20:27 	php-fpm[77160]: /status_interfaces.php: The command '/sbin/pfctl -i 'vr2' -Fs -G 192.168.1.1' returned exit code '1', the output was 'pfctl: illegal option -- G usage: pfctl [-AdeghmNnOPqRrvz] [-a anchor] [-D macro=value] [-F modifier] [-f file] [-i interface] [-K host | network] [-k host | network | label | id] [-o level] [-p device] [-s modifier] [-t table -T command [address ...]] [-x level]'
    
    

    And here is all the noise in DHCP log:

    Apr 13 10:20:26 	dhclient[94822]: connection closed
    Apr 13 10:20:26 	dhclient[94822]: exiting.
    Apr 13 10:20:36 	dhclient: PREINIT
    Apr 13 10:20:36 	dhclient: Starting delete_old_states()
    Apr 13 10:20:36 	dhclient: Comparing IPs: Old: New:
    Apr 13 10:20:36 	dhclient[90398]: DHCPREQUEST on vr2 to 255.255.255.255 port 67
    Apr 13 10:20:36 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:37 	dhclient[90398]: DHCPREQUEST on vr2 to 255.255.255.255 port 67
    Apr 13 10:20:37 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:39 	dhclient[90398]: DHCPREQUEST on vr2 to 255.255.255.255 port 67
    Apr 13 10:20:39 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:42 	dhclient[90398]: DHCPREQUEST on vr2 to 255.255.255.255 port 67
    Apr 13 10:20:42 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:45 	dhclient[90398]: DHCPREQUEST on vr2 to 255.255.255.255 port 67
    Apr 13 10:20:45 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:51 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 1
    Apr 13 10:20:51 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:52 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 1
    Apr 13 10:20:52 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:53 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 1
    Apr 13 10:20:53 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:55 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 1
    Apr 13 10:20:55 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:56 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 2
    Apr 13 10:20:56 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:58 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 3
    Apr 13 10:20:58 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:20:59 	dhcpd: Wrote 7 leases to leases file.
    Apr 13 10:20:59 	dhcpd: DHCPREQUEST for 10.49.211.5 from 00:bb:3a:66:3c:4f (android-569bf6ac55b66e30) via vr1
    Apr 13 10:20:59 	dhcpd: DHCPACK on 10.49.211.5 to 00:bb:3a:66:3c:4f (android-569bf6ac55b66e30) via vr1
    Apr 13 10:21:01 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 8
    Apr 13 10:21:01 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:21:09 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 13
    Apr 13 10:21:09 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:21:22 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 16
    Apr 13 10:21:22 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:21:24 	dhcpd: DHCPINFORM from 10.49.211.1 via vr1
    Apr 13 10:21:24 	dhcpd: DHCPACK to 10.49.211.1 (58:94:6b:7d:09:08) via vr1
    Apr 13 10:21:38 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 13
    Apr 13 10:21:38 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:21:51 	dhclient[90398]: DHCPDISCOVER on vr2 to 255.255.255.255 port 67 interval 1
    Apr 13 10:21:51 	dhclient[92193]: send_packet: No buffer space available
    Apr 13 10:21:52 	dhclient[90398]: No DHCPOFFERS received.
    Apr 13 10:21:52 	dhclient[90398]: Trying recorded lease 192.168.1.200
    Apr 13 10:21:52 	dhclient: TIMEOUT
    Apr 13 10:21:52 	dhclient: Starting add_new_address()
    Apr 13 10:21:52 	dhclient: ifconfig vr2 inet 192.168.1.200 netmask 255.255.255.0 broadcast 192.168.1.255
    Apr 13 10:21:52 	dhclient: New IP Address (vr2): 192.168.1.200
    Apr 13 10:21:52 	dhclient: New Subnet Mask (vr2): 255.255.255.0
    Apr 13 10:21:52 	dhclient: New Broadcast Address (vr2): 192.168.1.255
    Apr 13 10:21:52 	dhclient: New Routers (vr2): 192.168.1.1
    Apr 13 10:21:53 	dhclient: New Routers (vr2): 192.168.1.1
    Apr 13 10:21:54 	dhclient: Starting delete_old_states()
    Apr 13 10:21:54 	dhclient: Comparing IPs: Old: New: 192.168.1.200
    Apr 13 10:21:54 	dhclient: Deleting old routes
    Apr 13 10:21:54 	dhclient[90398]: bound: renewal in 27388 seconds.
    
    

    And the routing table never got any idea about the 192.168.1.* subnet on OPT1:
    Diagnostics->Routes

    IPv4
    Destination 	Gateway 	Flags 	Mtu 	Netif 	Expire
    default 	10.49.223.250 	UGS 	1500 	vr0
    8.8.8.8 	10.49.223.250 	UGHS 	1500 	vr0
    10.49.208.0/22 	link#2 	U 	1500 	vr1
    10.49.208.250 	link#2 	UHS 	16384 	lo0
    10.49.223.0/24 	link#1 	U 	1500 	vr0
    10.49.223.205 	link#1 	UHS 	16384 	lo0
    10.49.223.250 	00:0d:b9:24:59:c0 	UHS 	1500 	vr0
    127.0.0.1 	link#6 	UH 	16384 	lo0
    216.228.221.42 	10.49.223.250 	UGHS 	1500 	vr0
    
    

    After a few tries at plugging/unpluging the cable and doing release/renew I gave up and rebooted. I did not touch the ISP device during all this time. After the reboot everything is fine:
    Status->Interfaces OPT1:

    Status 	up
    DHCP 	up  
    MAC address 	00:0d:b9:24:59:c2
    IPv4 address 	192.168.1.200  
    Subnet mask IPv4 	255.255.255.0
    Gateway IPv4 	192.168.1.1
    IPv6 Link Local 	fe80::20d:b9ff:fe24:59c2  
    Media 	100baseTX <full-duplex>In/out packets 	162/167 (14 KB/10 KB)
    In/out packets (pass) 	162/167 (14 KB/10 KB)
    In/out packets (block) 	0/0 (0 bytes/0 bytes)
    In/out errors 	0/0
    Collisions 	0</full-duplex> 
    

    Routing table:

    IPv4
    Destination 	Gateway 	Flags 	Mtu 	Netif 	Expire
    default 	10.49.223.250 	UGS 	1500 	vr0
    8.8.4.4 	192.168.1.1 	UGHS 	1500 	vr2
    8.8.8.8 	10.49.223.250 	UGHS 	1500 	vr0
    10.49.208.0/22 	link#2 	U 	1500 	vr1
    10.49.208.250 	link#2 	UHS 	16384 	lo0
    10.49.223.0/24 	link#1 	U 	1500 	vr0
    10.49.223.205 	link#1 	UHS 	16384 	lo0
    10.49.223.250 	00:0d:b9:24:59:c0 	UHS 	1500 	vr0
    127.0.0.1 	link#6 	UH 	16384 	lo0
    192.168.1.0/24 	link#3 	U 	1500 	vr2
    192.168.1.1 	00:0d:b9:24:59:c2 	UHS 	1500 	vr2
    192.168.1.200 	link#3 	UHS 	16384 	lo0
    216.228.221.42 	10.49.223.250 	UGHS 	1500 	vr0
    
    

    and I have dual-WAN with policy-routing failover/load-balancing working again.

    I have a suspicion that some things might depend on the "pf" "pfctl" etc. binaries from pfSense-tools and that maybe a new snapshot build is needed to get the underlying binaries built in sync with the PHP and command line code that is calling/using the features in the binaries???


Log in to reply