From: Michael Rasmussen Date: Fri, 25 Jul 2014 17:32:47 +0000 (+0200) Subject: Change settings X-Git-Url: http://git.datanom.net/pve-dhcp-server.git/commitdiff_plain/26c136cd7210d28aa582183780bedfe3c872cd75 Change settings --- diff --git a/dhcp.pl b/dhcp.pl index 7890766..cd1616e 100644 --- a/dhcp.pl +++ b/dhcp.pl @@ -32,16 +32,17 @@ logger("Opening socket"); $send = IO::Socket::IP->new( Proto => 'udp', Broadcast => 1, PeerPort => 'bootps(67)', - PeerAddr => inet_ntoa(INADDR_LOOPBACK),#(INADDR_BROADCAST), - #PeerAddr => inet_ntoa(INADDR_BROADCAST), + #PeerAddr => inet_ntoa(INADDR_LOOPBACK),#(INADDR_BROADCAST), + PeerAddr => inet_ntoa(INADDR_BROADCAST), ) || die "Socket (send) creation error: $@\n"; # yes, it uses $@ here # create DHCP Packet DISCOVER +my $xid = int(rand(0xFFFFFFFF)); $discover = Net::DHCP::Packet->new( Chaddr => $mymac, Giaddr => $send->sockhost(), - Xid => int(rand(0xFFFFFFFF)), # random xid + Xid => $xid, # random xid DHO_DHCP_MESSAGE_TYPE() => DHCPDISCOVER(), Flags => 0x8000, DHO_VENDOR_CLASS_IDENTIFIER() => 'foo', @@ -71,6 +72,7 @@ if ($response->getOptionValue(DHO_DHCP_MESSAGE_TYPE()) == DHCPNAK()) { logger("Request for ip was denied"); exit; } + $serverip = $response->getOptionValue(DHO_DHCP_SERVER_IDENTIFIER()); $myip = $response->yiaddr(); @@ -78,7 +80,7 @@ logger($response->toString()); # create DHCP Packet REQUEST $request = Net::DHCP::Packet->new( - Xid => int(rand(0xFFFFFFFF)), # random xid + Xid => $xid, # random xid Chaddr => $mymac, Giaddr => $send->sockhost(), DHO_DHCP_MESSAGE_TYPE() => DHCPREQUEST(),