IPv6 não funciona no Debian 11 com nftables/nginx

IPv6 não funciona no Debian 11 com nftables/nginx

Estou executando um servidor web (nginx 1.21.6) em um sistema Debian 11 com nftables 0.9.8. Minha configuração do nftables é:

table inet filter {
chain input {
  type filter hook input priority filter; policy drop;
            ip saddr @spamhaus4 counter packets 0 bytes 0 drop
            ip6 saddr @spamhaus6 counter packets 0 bytes 0 drop
            meta l4proto tcp meta nfproto ipv4 ip saddr @abused counter packets 0 bytes 0 drop
            ip daddr 46.38.148.0-46.38.151.255 drop
            iif "lo" log group 2 accept
            iif != "lo" ip daddr 127.0.0.0/8 counter packets 0 bytes 0 drop comment "drop connections to loopback not coming from loopback"
            iif != "lo" ip6 daddr ::1 counter packets 0 bytes 0 drop comment "drop connections to loopback not coming from loopback"
            ct state established,related log group 2 accept
            ct state invalid counter packets 47 bytes 2572 drop
            tcp dport { 25, 80, 143, 443, 587, 2772, 9980, 45907 } log group 2 accept
            ip protocol icmp icmp type { echo-reply, destination-unreachable, echo-request, router-advertisement, router-solicitation, time-exceeded, parameter-problem } log group 2 accept
            ip6 nexthdr ipv6-icmp icmpv6 type { destination-unreachable, packet-too-big, time-exceeded, parameter-problem, echo-request, echo-reply, nd-router-solicit, nd-router-advert, nd-neighbor-solicit, nd-neighbor-advert, ind-neighbor-solicit, ind-neighbor-advert } log group 2 accept
            ip6 nexthdr ipv6-icmp log group 2 accept
            counter packets 2686 bytes 421604 drop
    }

    chain IPSinput {
            type filter hook input priority filter + 10; policy drop;
            counter packets 88448 bytes 15799025 queue num 0-3 bypass,fanout
    }

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

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

    chain IPSoutput {
            type filter hook output priority filter + 10; policy drop;
            counter packets 76196 bytes 201278628 queue num 0-3 bypass,fanout
    }
   }

O firewall nftables funciona bem.

No entanto, meus servidores nginx não podem ser acessados ​​via IPv6. Usei diferentes ferramentas de verificação de IPv6 (por exemplo,https://ipv6-test.com/validate.php) e tambémQualys ssltestnão consigo acessar o servidor via IPv6, mas o IPv4 está funcionando bem. Eu incluí a diretiva listen [::]:80;(resp. listen [::]:443;em cada um dos meus servidores nginx. E netstat -anlp |grep nginxfornece

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      48846/nginx: master
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      48846/nginx: master
tcp        0      0 192.168.42.98:443       93.104.163.178:39001    VERBUNDEN   48847/nginx: worker
tcp        0      0 192.168.42.98:443       93.104.163.178:39368    VERBUNDEN   48847/nginx: worker
tcp        0      0 192.168.42.98:443       93.104.163.178:43086    VERBUNDEN   48847/nginx: worker
tcp6       0      0 :::80                   :::*                    LISTEN      48846/nginx: master
tcp6       0      0 :::443                  :::*                    LISTEN      48846/nginx: master
unix  3      [ ]         STREAM     VERBUNDEN     160451   48846/nginx: master
unix  3      [ ]         STREAM     VERBUNDEN     160453   48846/nginx: master
unix  3      [ ]         STREAM     VERBUNDEN     160450   48846/nginx: master
unix  3      [ ]         STREAM     VERBUNDEN     160448   48846/nginx: master
unix  3      [ ]         STREAM     VERBUNDEN     160452   48846/nginx: master
unix  3      [ ]         STREAM     VERBUNDEN     160446   48846/nginx: master
unix  3      [ ]         STREAM     VERBUNDEN     160449   48846/nginx: master

No meu roteador, também ativei o IPv6.

Alguém tem alguma idéia de onde o problema poderia estar?

Responder1

Graças ao comentário de @Zoredache à minha pergunta, tentei fazer ping no endereço IPv6 do meu host. Só funcionou dentro da minha rede doméstica. Quando tentei fazer ping viasub-redeOnlineou outro site, não funcionou.

Encontrei então esta resposta em unix.stackoverflow.com:https://unix.stackexchange.com/a/443380/520989. Editei o /etc/dhcpcd.confarquivo e substituí slaac privatepor slaac hwaddr. Fazer meu roteador (Fritzbox 7583) esquecer a configuração anterior e reiniciar meu servidor realmente resolveu meu problema! Meu servidor agora está completamente acessível via IPv6 (também nginx)!

informação relacionada