Trouble renewing DHCP client on OPT1 WAN
-
2.2-ALPHA (i386)
built on Wed Apr 9 09:01:59 CDT 2014
FreeBSD 10.0-STABLEI 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->RoutesIPv4 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???