Date: Mon, 30 Jul 2012 15:14:26 GMT From: John Poznicek <johnpoz@gmail.com> To: freebsd-gnats-submit@FreeBSD.org Subject: misc/170279: dhclient uses low TTL of 16 Message-ID: <201207301514.q6UFEQgu048831@red.freebsd.org> Resent-Message-ID: <201207301520.q6UFK9Y5038584@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 170279 >Category: misc >Synopsis: dhclient uses low TTL of 16 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Mon Jul 30 15:20:09 UTC 2012 >Closed-Date: >Last-Modified: >Originator: John Poznicek >Release: 8.3 >Organization: none >Environment: freebsd# uname -a FreeBSD freebsd.local.lan 8.3-RELEASE-p3 FreeBSD 8.3-RELEASE-p3 #0: Mon Jun 11 23:52:38 UTC 2012 root@i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386 >Description: dhclient uses by default ttl of 16, depending on isp this can prevent getting dhcp lease from dhcp server. Helping user troubleshoot problem with freebsd based pfsense, user discovered that ttl of dhcp traffic was at 16, vs os default. info can be found in this thread http://forum.pfsense.org/index.php/topic,51803.0.html Per packet.c in source, http://svnweb.freebsd.org/base/release/8.3.0/sbin/dhclient/packet.c?revision=234063&view=markup p.ip_ttl = 16; Verified this with tcpdump both on freebsd machine along with on dhcp server in local network. TTL on dhcp traffic shows 16 10:09:51.512335 00:0c:29:9a:bc:8a (oui Unknown) > Broadcast, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto UDP (17), length 328) With default dhclient user not able to get dhcp from his isp. Using modified dhclient where packet.c p.ip_ttl changed 128 user was able to get IP from his ISP dhcp server. >How-To-Repeat: Request lease and check dhcp traffic for ttl. 10:09:51.512335 00:0c:29:9a:bc:8a (oui Unknown) > Broadcast, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto UDP (17), length 328) >Fix: Changed p.ip_ttl = 16; To be p.ip_ttl = 128; Ran make, used this new modified dhclient, verified via tcpdump that client was now setting ttl to 128 This allowed dhclient to obtain ip address from dhcp server. 10:04:47.893610 00:0c:29:9a:bc:8a (oui Unknown) > Broadcast, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328) >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207301514.q6UFEQgu048831>