IPv6 funktioniert nicht unter Debian 11 mit nftables/nginx

IPv6 funktioniert nicht unter Debian 11 mit nftables/nginx

Ich betreibe einen Webserver (nginx 1.21.6) auf einem Debian 11-System mit nftables 0.9.8. Meine nftables-Konfiguration ist:

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
    }
   }

Die Nftables-Firewall funktioniert einwandfrei.

Meine nginx-Server sind jedoch nicht über IPv6 erreichbar. Ich habe verschiedene IPv6-Prüftools verwendet (z. B.https://ipv6-test.com/validate.php) und auchQualys SSL-Testkann nicht über IPv6 auf den Server zugreifen, IPv4 funktioniert jedoch einwandfrei. Ich habe die listen [::]:80;(resp. listen [::]:443;-Direktive in jeden meiner Nginx-Server aufgenommen. Und netstat -anlp |grep nginxgibt

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

Auf meinem Router habe ich auch IPv6 aktiviert.

Hat jemand eine Idee, wo das Problem liegen könnte?

Antwort1

Dank @Zoredaches Kommentar zu meiner Frage habe ich versucht, die IPv6-Adresse meines Hosts anzupingen. Es funktionierte nur innerhalb meines Heimnetzwerks. Als ich versuchte, es überSubnetzOnlineoder eine andere Site, es hat nicht funktioniert.

Dann habe ich diese Antwort auf unix.stackoverflow.com gefunden:https://unix.stackexchange.com/a/443380/520989. Ich habe die /etc/dhcpcd.confDatei bearbeitet und slaac privatedurch ersetzt slaac hwaddr. Indem ich meinen Router (Fritzbox 7583) dazu brachte, die vorherige Konfiguration zu vergessen und meinen Server neu zu starten, wurde mein Problem tatsächlich gelöst! Mein Server ist jetzt vollständig über IPv6 erreichbar (auch nginx)!

verwandte Informationen