Send dhcp-users mailing list submissions to
        dhcp-users@lists.isc.org

To subscribe or unsubscribe via the World Wide Web, visit
        https://lists.isc.org/mailman/listinfo/dhcp-users
or, via email, send a message with subject or body 'help' to
        dhcp-users-requ...@lists.isc.org

You can reach the person managing the list at
        dhcp-users-ow...@lists.isc.org

When replying, please edit your Subject line so it is more specific
than "Re: Contents of dhcp-users digest..."


Today's Topics:

   1. Re: Oversized DHCP option issues (???)


----------------------------------------------------------------------

Message: 1
Date: Mon, 24 Jan 2022 23:49:58 +0800
From: ??? <weihau.chi...@gmail.com>
To: dhcp-users@lists.isc.org
Subject: Re: Oversized DHCP option issues
Message-ID:
        <cadzkvkkbmruc1ffqedq4s+3kbvam5sxg_llrkc7sgaymy39...@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"

Hello Richard and Glenn,

Sorry for the late reply. I've checked the DHCP protocol rules and
reached these:

## The flaw in ISC-DHCP server design

Richard said that:

> I see no way to specifically configure option concatenation, but I think the 
> server will do it automatically as required.

Sadly, it doesn't. Take a 260-byte message as an example, it would set
the length to 255, but trail the 260 bytes without splitting, or even
truncating. It could overwrite the next section and break the packet
structure.

The contents length could also be limited by packet size, as Richard
investigated that,

> As for size, I think the packet size may still be a limitation. Rather than 
> live with the minimum 576 MTU, assuming everything can handle at least MTU 
> 1500,
>
>         option dhcp-max-message-size 1236;
>
> (the rest of 1500 is overhead)
>
> As far as I can tell, isc-dhcp does not presently support MTU larger than 
> 1500 even if large packets are enabled for all involved hosts, so this is the 
> largest useful value at this time. If the client specifies that option, that 
> will take precedence over the server configuration, so that's one more thing 
> that could go wrong.

Also, the DHCP protocol is considered to be run with an incomplete
network stack, so most of the servers does not send packets larger
than MTU, in isc-dhcp case even 1500. As indicated in RFC 2131:

> The client SHOULD include the 'maximum DHCP message size' option to let the 
> server know how large the server may make its DHCP messages.

But most clients do not send this message, and DHCP servers could not
determine whether clients have a well-configured network stack. Maybe
that?s the reason why most DHCP servers do not support long variable
splitting, as it would be much less useful.

As option 121 is not supported in most proprietary and legacy DHCP
client implementations, for example, Apple's DHCP client does not read
this option, and Microsoft's implementation uses another option 249,
this could be less powerful to utilize. DHCP itself is a rather simple
protocol.

## My intended usage

As Glenn writes:

> this looks like it would mean the clients only use that low bandwidth router 
> if the others are not contactable? To me this looks like something that would 
> depend on client behaviour - so it might work as you want for some clients 
> and not others.

I'm trying to configure my network that supports transparent VPN to
our school, as our school's internet policy does not allow incoming
new connections.

The school has a long IP network list, and not as easy as shown below.
It has at least 40 non-aggregatable CIDR networks, and need to store
in around 2 or 3 255-byte lists. If more things like journal
subscriptions, academic resources are needed, it would be longer than
any reasonable MTU.

>   option classless-routes code 121 = array of uint8;
>
>  option classless-routes 32, 1,1,1,1, 5,5,5,1,
>  24, 2,2,2,   5,5,5,1,
>  24, 3,3,3,   5,5,5,1;

Things like OpenVPN can push route tables through their commands, but
I'm trying to mimic the internet connection inside our school, as some
devices have difficulties connecting to our school's VPN.

This transparent VPN is running on a Raspberry Pi, and is done using
the iptables to distinguish this, with other devices' gateway pointing
to Raspberry Pi. This led to a network speed decrease as all network
traffic had to travel through the cable connecting the original router
and Raspberry Pi twice.

A solution to this is to adjust the routing table on other devices
that only routes the needed IP network to Raspberry Pi and others
through the router directly. This configuration automation leads to
RFC3442.

It looks like this configure intention was impossible with current ISC
DHCP tools. It is also impractical to use this in the civil networks
as most devices, windows, Mac OS, and iOS, maybe Android, don't
support this. To realize this,

- The DHCP server and client should support larger-than-MTU (using
IPv4's fragmentation) to send/receive messages up to 65536 bytes (UDP
limitation), when the client has the ability to establish the IPv4
stack.
- The DHCP server should support RFC 3396, long variable segmentation.
- The DHCP client should support Option 121.

It may still have a long way to go.


------------------------------

Subject: Digest Footer

_______________________________________________
ISC funds the development of this software with paid support subscriptions. 
Contact us at https://www.isc.org/contact/ for more information.

dhcp-users mailing list
dhcp-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-users


------------------------------

End of dhcp-users Digest, Vol 159, Issue 4
******************************************

Reply via email to