nftables не регистрирует широковещательные ответы netbios как установленные, связанный трафик
Я использую Archlinux и пытаюсь настроить разрешение имени хоста с помощью netbios. В настоящее время я нахожусь в ситуации, когда разрешение работает только тогда, когда брандмауэр отключен.
Мой тест: я запускаю "ping SERVER", чтобы увидеть, если разрешение прошло успешно.
Результаты: это удается только тогда, когда я отключаю брандмауэр, хотя я открыл все соответствующие порты 137 UDP для разрешения имен. Я запустил wireshark, чтобы увидеть, что происходит с трафиком:
- шаг 1: широковещательный запрос для SERVER, мой порт источника случайный, порт назначения сервера 137
- шаг 2: сервер отвечает на мой случайный исходный порт.
- шаг 3а (с брандмауэром): случайный порт источника закрыт, пункт назначения недоступен
- шаг 3b (без брандмауэра): ответ получен, хост разрешен, и я запускаю PINGing
Мой брандмауэр, похожий на этот пример:
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
ct state established,related accept
iif "lo" accept
ct state invalid drop
ip protocol icmp icmp type echo-request ct state new accept
ip protocol udp ct state new jump UDP
ip protocol tcp tcp flags & (fin | syn | rst | ack) == syn ct state new jump TCP
ip protocol udp reject
ip protocol tcp reject with tcp reset
meta nfproto ipv4 counter packets 0 bytes 0 reject with icmp type prot-unreachable
}
chain forward {
type filter hook forward priority 0; policy drop;
}
chain output {
type filter hook output priority 0; policy accept;
}
chain TCP {
tcp dport netbios-ssn accept
tcp dport microsoft-ds accept
}
chain UDP {
udp dport netbios-ns accept
udp dport netbios-dgm accept
}
}
Мое лучшее предположение состоит в том, что ответ на трансляцию не регистрируется как "установленный, связанный" трафик. Как я могу решить это?