Законно ли агенту ретрансляции DHCP ретранслировать запросы ОБНОВЛЕНИЯ, которые были направлены непосредственно на сервер «Идентификатор сервера»?

При захвате пакетов я наблюдаю следующее.

      Client -> Broadcast : DHCP Request
Relay  -> Client    : DHCP Ack (Option 54 == Server)

... After T1 expires ...

Client -> Server Identifier : DHCP Request
Relay  -> Client            : DHCP Ack
Client -> Relay             : ICMP Port unreachable

Законно ли реле вместо сервера отвечать на одноадресные запросы ОБНОВЛЕНИЯ на сервер?

В RFC 2131 «DHCPREQUEST генерируется в состоянии RENEWING» говорится

но должен возвращать сообщение DHCPACK независимо

но не уточняется, может ли это сообщение прийти через ретранслятор.

Похоже, что клиент отклоняет подтверждение DHCP, поскольку ожидает его от сервера, а не от ретранслятора.

1 ответ

Я вижу отказ от клиентов семейства RedHat 8, у них установлено UDP-соединение с DHCP-сервером (DHCPREQUEST отправляется каждые 60 секунд):

      DHCP Server: 172.16.1.14
DHCP Client IP (to be renewed): 172.16.255.39/24

# ss -tun
Netid    State     Recv-Q    Send-Q    Local Address:Port          Peer Address:Port
udp      ESTAB     0         0         172.16.255.39%ens224:68     172.16.1.14:67

в других ОС, таких как Ubuntu, принимается DHCPACK от адреса ретранслятора.

      # ss -ltun
Netid    State     Recv-Q    Send-Q    Local Address:Port          Peer Address:Port
udp      UNCONN    0         0         172.16.255.35%ens192:68     0.0.0.0:*

Знаете ли вы, какого типа агента по недвижимости вы используете?

Согласно RFC2131 [стр. 31], одноадресный пакет DHCPREQUEST не должен изменяться агентом ретрансляции, я предполагаю, что DHCPACK также должен быть отправлен непосредственно обратно клиенту.

         o DHCPREQUEST generated during RENEWING state:

      'server identifier' MUST NOT be filled in, 'requested IP address'
      option MUST NOT be filled in, 'ciaddr' MUST be filled in with
      client's IP address. In this situation, the client is completely
      configured, and is trying to extend its lease. This message will
      be unicast, so no relay agents will be involved in its
      transmission.  Because 'giaddr' is therefore not filled in, the
      DHCP server will trust the value in 'ciaddr', and use it when
      replying to the client.
Другие вопросы по тегам