LINUX.ORG.RU
решено ФорумAdmin

nftables блокирует ipv6

 , ,


0

1

Для ipv6 настроена вот такая таблица:

table ip6 ipv6 {
	chain input {
		type filter hook input priority filter; policy drop;
		ct state { established, related } accept comment "current"
		iif "lo" accept comment "local"
		icmpv6 type echo-request accept comment "ping"
		tcp dport { 80, 443 } accept comment "nginx"
	}

	chain forward {
		type filter hook forward priority filter; policy drop;
	}

	chain output {
		type filter hook output priority filter; policy accept;
	}
}

При такой конфигурации сайт НЕ доступен по ipv6. Nginx слушает 80 и 443 порты ipv6, это видно в netstat. Так как нигде кроме этой впс у меня нет ipv6, проверяю я с помощью сайта. Важно! Когда я заменяю дефолтное действие в цепочке input на accept - всё работает, никаких проблем с доступом к сайту по ipv6 нет. Из чего я и сделал вывод, что проблема именно в nftables, а не в ngnix. ping6 -c 3 <домен> с самого хоста проходит успешно.

Ответ готовый не знаю, но есть пара идей по дебагу.

Во-первых, не эта ли ситуация описана? https://serverfault.com/questions/801131/my-nftables-rules-blocks-ipv6 Т.е. слишком люто порезан icmpv6.

Если не поможет, то можно посмотреть, что вообще с прилетающими пакетами происходит:

А) запустить tail -f по логам nginx;

Б)

# tcpdump ip6
# tcpdump -nn ip or ip6 and \( port 80 or port 443 \)

NDfan
()
Ответ на: комментарий от NDfan

tcpdump ip6 Помогло. Оказывается сайт для проверки сначала пинговал сервер, а у меня для пинга был разрешён только тип echo-request. Сайт же пингует пакетами с типом nd-neighbor-solicit. Проблема решена.

Arksunix
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.