Рейтинг:0

Ответ IPv6 DHCP PD направляется правилу FORWARD в брандмауэре iptables?

флаг th

На моем брандмауэре/маршрутизаторе Fedora 34 Linux я заметил

  • что запросы IPV6 DHCP PD отправляются нормально.
  • что ответы IPV6 DHCP PD действительно поступают по сети
  • что ядро ​​брандмауэра по какой-то причине отправляет ответ DHCP PD в правиле FORWARD, даже если dhclient местный
  • чтобы адреса в пакетах были правильными, совпадали с DHCP-сервером и локальным брандмауэром.

Подробности можно найти на Красная шляпа.

У нас есть интерфейс ppp:

# ip -6 as dev ppp0
20: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc cbq состояние НЕИЗВЕСТНО группа по умолчанию qlen 3
inet6 fe80::c5d5:e942:39c7:7eb7 узел fe80::9ecc:83ff:fec6:e7e5/128 ссылка области 
   valid_lft навсегда

У нас есть dhclient, который слушает ppp0:

# lsof -p 4066992 -n
КОМАНДА PID ПОЛЬЗОВАТЕЛЬ ТИП FD УСТРОЙСТВО РАЗМЕР/ВЫКЛ НАЗВАНИЕ УЗЛА
dhclient 4066992 root cwd DIR 254,0 4096 40961 /root
dhclient 4066992 root rtd DIR 254,0 4096 2 /
dhclient 4066992 root txt REG 254,2 2018144 141553 /usr/sbin/dhclient
dhclient 4066992 корневая память REG 254,2 53728 22104 /usr/lib64/libnss_files-2.33.so
dhclient 4066992 корневая память REG 254,2 1913544 21939 /usr/lib64/libc-2.33.so
dhclient 4066992 корневая память REG 254,2 32696 30196 /usr/lib64/libcap-ng.so.0.0.0
dhclient 4066992 корневая память REG 254,2 842360 30776 /usr/lib64/ld-2.33.so
dhclient 4066992 root 0u CHR 136,4 0t0 7 /dev/pts/4 (удален)
dhclient 4066992 root 1u CHR 136,4 0t0 7 /dev/pts/4 (удален)
dhclient 4066992 root 2u CHR 136,4 0t0 7 /dev/pts/4 (удален)
dhclient 4066992 root 3u unix 0x000000001f2593f7 0t0 16525445 тип = DGRAM (НЕ ПОДКЛЮЧЕН)
dhclient 4066992 root 4w REG 254,4 64 251 /var/lib/dhclient/dhclient6.leases
dhclient 4066992 root 5w FIFO 0,8 0t0 16525446 канал
dhclient 4066992 root 6u IPv6 16524541 0t0 UDP [fe80::c5d5:e942:39c7:7eb7]:dhcpv6-client 

Вроде все правильно.

Затем приходящие пакеты:

# tcpdump -i ppp0 -vn порт 546
сбросил привилегии в tcpdump
tcpdump: прослушивание ppp0, тип ссылки LINUX_SLL (Linux Cooked v1), длина снимка 262144 байт
06:53:09.236781 IP6 (метка потока 0x7f0d8, hlim 1, следующий заголовок UDP (17), длина полезной нагрузки: 60) fe80::c5d5:e942:39c7:7eb7.dhcpv6-client > ff02::1:2.dhcpv6-server : [udp sum ok] dhcp6 solicit (xid=b68ba1 (client-ID hwaddr/time type 1 time 394565497 004063f60200) (option-request DNS-server DNS-search-list) (истекшее время 65535) (IA_PD IAID:0 T1 :3600 T2:5400))
06:53:09.469530 IP6 (класс 0xc0, hlim 64, следующий заголовок UDP (17) длина полезной нагрузки: 141) .dhcpv6-client: [udp sum ok] реклама dhcp6 (xid=b68ba1 (идентификатор клиента hwaddr/тип времени 1 раз 394565497 004063f60200) (идентификатор сервера vid 0000058339633a63) (IA_PD IAID:0 T1:3600 T2:5760 (IA_PD- префикс 2001:981:a812::/48 pltime:7200 vltime:7200)) (DNS-сервер 2001:888:0:6::66 2001:888:0:9::99))
06:53:09.469756 IP6 (класс 0xc0, hlim 63, следующий заголовок UDP (17) длина полезной нагрузки: 141) .dhcpv6-client: [udp sum ok] реклама dhcp6 (xid=b68ba1 (идентификатор клиента hwaddr/тип времени 1 раз 394565497 004063f60200) (идентификатор сервера vid 0000058339633a63) (IA_PD IAID:0 T1:3600 T2:5760 (IA_PD- префикс 2001:981:a812::/48 pltime:7200 vltime:7200)) (DNS-сервер 2001:888:0:6::66 2001:888:0:9::99))
^ С

Вроде правильно обращаются, к интерфейсу dhclient.

Так почему же dhclient не получает?

Я сделал тест без активного брандмауэра: никаких изменений. Я упростил маршрутизацию и т. д., но без изменений.

Это не проблема от https://stackoverflow.com/questions/19702489/response-udp-packets-not-arriving-regardless-of-right-ip-and-port-after-sending поскольку с dhcp-сервером можно связаться из-за существующих маршрутов.

Где я могу узнать, почему ответный пакет DHCP с PD не приходит локально?

Пожалуйста, опубликуйте. Ты делаешь

Michael Hampton avatar
флаг cz
Почему вы говорите, что ответ отправляется правилу FORWARD?
udovdh avatar
флаг th
Сообщение UDPv6_Dropped регистрируется в правиле FORWARD, если только я не открою FORWARD, но тогда проблема уже возникла.
Michael Hampton avatar
флаг cz
Я не вижу ваших правил iptables? Я не вижу захвата пакета? Где все ваши данные?
udovdh avatar
флаг th
Некоторые подробности можно найти на [redhat](https://bugzilla.redhat.com/show_bug.cgi?id=1956209). Поскольку проблема сохраняется и без брандмауэра, я еще не публиковал подробности о брандмауэре; это производная от ADSL4Linux.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.