У меня есть служба, прослушивающая порт UDP на машине ubuntu на AWS. Другая машина, которую я не контролирую, отправляет пакеты в эту службу, однако исходный порт для этих пакетов установлен на 68. Когда моя служба хочет ответить на эти пакеты, она пытается отправить пакет UDP с портом назначения 68 обратно на исходная машина. По какой-то причине эти возвращающиеся пакеты никогда не достигают места назначения. В системном журнале также есть очень подозрительная запись, которая гласит:
Jan 9 15:17:08 ip-172-31-118-74 dhclient[1019]: Discarding packet with bogus hlen.
Что совпадает с генерируемыми этими пакетами. Означает ли это, что локальный демон dhclient каким-то образом перехватывает эти пакеты?
Возможно, запись в журнале - отвлекающий маневр, но эти пакеты все еще не достигают места назначения. Это работало в прошлом, когда выбирался другой порт источника, поэтому я полагаю, что тот факт, что используется 68, является причиной моих проблем.
Некоторые выходные данные tcpdump показывают входящие пакеты с исходным портом, установленным на 68.
10:38:04.892816 IP 1.1.1.1.68 > 172.31.118.74.500: BOOTP/DHCP, unknown (0x20), length 448
10:38:04.901687 IP 172.31.118.74.500 > 1.1.1.1.68: BOOTP/DHCP, unknown (0x20), length 481
10:38:08.893218 IP 1.1.1.1.68 > 172.31.118.74.500: BOOTP/DHCP, unknown (0x20), length 448
10:38:08.893835 IP 172.31.118.74.500 > 1.1.1.1.68: BOOTP/DHCP, unknown (0x20), length 481
10:38:16.093319 IP 1.1.1.1.68 > 172.31.118.74.500: BOOTP/DHCP, unknown (0x20), length 448
10:38:16.093908 IP 172.31.118.74.500 > 1.1.1.1.68: BOOTP/DHCP, unknown (0x20), length 481
10:38:24.901839 IP 172.31.118.74.500 > 1.1.1.1.68: BOOTP/DHCP, unknown (0xff) [|bootp]
(оригинальный публичный IP заменен на 1.1.1.1
) И вывод системного журнала за тот же период времени
Jan 10 10:38:16 ip-172-31-118-74 dhclient[755]: Discarding packet with bogus hlen.
Jan 10 10:38:16 ip-172-31-118-74 dhclient[1019]: Discarding packet with bogus hlen.
Если устройство является маршрутизатором Cisco, это может быть проблема PAT в версиях до 8.4. Порты транслируются на основе выделенных пулов.
Из ссылки на форум поддержки ниже: ASA и PIX делят диапазон распределения портов PAT на три пула:
Надеюсь, это поможет.