Pool selection based on Giaddr of different subnet

Dario Aguilar daguilar at arnet.net.ar
Tue Mar 17 13:36:37 UTC 2009


Dario Aguilar wrote:

>Hi there, I´m trying to configure a pool 
>selection based on Giaddr but the problem is 
>that Relay Agent IP (Giaddr) doesn't belongs to 
>same subnet as the client pool so I guess I need 
>to define a class that matches this criteria 
>(maybe of sure that I difined in a wrong way). 
>This is not working because it´s saying that 
>network segment is unknown.

>>OK, two ways to deal with this :

>>1) Fix the relay agent !

Why you assume that the relay agent is broken, wrong or something?. Relay
agent should be a DSLAM, WAC or simply a router that has an address on
different subnet than the clients. I think that if the subnets are correctly
routed this should not me a problem for the relay agent or the clients.
(Private IP´s are just examples, we are using public´s IP addresses in
fact).

>>2) Assuming the GIAddr of the relay agent is 
>>unique to the clients subnet, then simply put an 
>>extra subnet in a shared-network delcaration like 
>>this :

>>shared-network broken_relay_agent {
>>   subnet 192.168.0.0 netmask 255.255.255.0 { }
>>
>>   subnet 172.17.2.0 netmask 255.255.255.0 {
>>    range ...
>>     ...
>>   }
>>}

>>What this does is tell the DHCP server that the 
>>two subnets are on the same wire, and so 
>>addresses in each subnet are interchangeable as 
>>far as allocating leases to clients in concerned. 
>>The server will match the GIAddr to one subnet, 
>>find no available leases, but see that leases are 
>>available in the other subnet and allocate from 
>>there.

>>This will NOT work if the same relay agent serves 
>>other subnets using the same (wrong) GIAddr.

>>Without the shared-network, you will NOT get the 
>>server to allocate a lease to any client in the 
>>subnet as the server believes that the client is 
>>on a different network.

>class "WAC" {
>           match if (binary-to-ascii(10,8, ".", packet(24,4)) =
"192.168.0.1");
>}

>>You don't need the binary to ascii stuff, you can 
>>just use hex something like this :
>>match if (packet(24,4)) = c0:a8:00:01);

As you recommended, I could resolve this by putting just the relay agent
host into the same shared-network as the client pool, but I don´t know if
this is the only or best solution for this because now I need to add a new
shared-network for each new relay agent. Is there any possibility to
allocate leases using classes as I was trying to do it with "match if
(packet(24,4)) = GiAddr);" and then "allow members of" on the subnet ?.

Actual configuration:

shared-network broken_relay_agent {
   subnet 192.168.0.1 netmask 255.255.255.255 { }
   subnet 172.17.2.0 netmask 255.255.255.0 {
    range ...
     ...
   }
}
Thanks

Dario Aguilar.


-- 
Simon Hobson

Visit http://www.magpiesnestpublishing.co.uk/ for books by acclaimed
author Gladys Hobson. Novels - poetry - short stories - ideal as
Christmas stocking fillers. Some available as e-books.
_______________________________________________
dhcp-users mailing list
dhcp-users at lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-users

No virus found in this incoming message.
Checked by AVG - www.avg.com 
Version: 8.0.237 / Virus Database: 270.11.11/1997 - Release Date: 03/13/09
05:59:00




More information about the dhcp-users mailing list