klink0v (klink0v) wrote,
klink0v
klink0v

Category:

Грабли в DHCPv4 (Linux + Windows)

Странно, что я не наступил на них раньше.

Допустим, есть Linux-овый DHCP-клиент (ISC DHCP 4.4.1) и виндовый DHCP-сервер (Windows 2016). Если просто так взять и оформить резервирование IPv4-адреса на стороне сервера на основании MAC-а клиента, то может внезапно выясниться, что работать оно не будет.

Причина в том, что Linux чётко соответствует RFC4361, а вот у винды на этот счет имеются некоторые вопросы. Если кратко, то по умолчанию ISC DHCP в качестве идентификатора клиента (IA) шлёт строку "IAID+DUID", которая для IPv4 имеет длину 36 символов. А вот винда ожидает услышать один только DUID длиной 12 символов. Из-за этого совпадение идентификаторов никогда не будет достигнуто. Соответственно, клиент получит адрес не из резервации, а из общего пула.

Решения может быть два.


  1. На строне Windows прописывать 36-символьный идентификатор клиента полностью.

  2. На стороне Linux в конфигах DHCP-клиента явно указать "send dhcp-client-identifier = hardware;".

Tags: linux, windows, грабли, сети
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 3 comments