[prev in list] [next in list] [prev in thread] [next in thread] 

List:       freebsd-bugs
Subject:    misc/170279: dhclient uses low TTL of 16
From:       John Poznicek <johnpoz () gmail ! com>
Date:       2012-07-30 15:14:26
Message-ID: 201207301514.q6UFEQgu048831 () red ! freebsd ! org
[Download RAW message or body]


> 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:
_______________________________________________
freebsd-bugs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic