Puncte:3

Problemă NFTABLE: IPv6 nu se comportă ca IPv4 cu configurația oglindă

drapel sm

Am o problemă cu IPv6 pe serverul meu. Am nginx configurat să asculte pe portul 443 de la IPv4 și IPv6. Și funcționează grozav: site-ul meu este disponibil pe Internet cu TLS activat.

Lucrurile se complică atunci când activez nftables: când îmi accesez site-ul web de pe IPv4, funcționează, dar când îl accesez din conexiunile IPv6 expiră:(

Ieșire din set de reguli sudo nft list:

tabel inet filter {
        lanț INPUT {
                tip filtru cârlig intrare filtru prioritar; scăderea politicii;
                meta nftrace set 1
                stare ct stabilită, înrudit accept comentariul „permite conexiuni stabilite”
                dacă „lo” acceptă comentariul „permite tot de la localhost”
                iif != „lo” ip daddr 127.0.0.0/8 contor pachete 0 octeți 0 drop comment „eliminare conexiuni la loopback care nu provin din loopback”
                iif != „lo” ip6 daddr ::1 contor pachete 0 octeți 0 drop comment „eliminare conexiuni la loopback care nu provin din loopback”
                iifname „tunnel0” acceptă comentariul „permite tot din VPN”
                udp dport 12345 accept comentariul „permite VPN pe portul 12345”
                tcp dport { 22, 80, 443 } acceptă comentariul „permite HTTP, HTTPS și SSH pe porturile clasice”
        }

        lanț OUTPUT {
                tip filtru cârlig ieșire filtru prioritar; acceptarea politicii;
        }

        lanț FORWARD {
                tip filtru cârlig înainte filtru prioritar; scăderea politicii;
        }
}

Ieșire din sudo nft monitor trace | grep 443:

trace id 76d7cb1a inet filter INPUT packet: iif "eth0" eter saddr AA:AA:AA:AA:AA:AA eter daddr BB:BB:BB:BB:BB:BB ip6 saddr 2a01:cb09:804b:cd61:CCCC: CCCC:CCCC:CCCC ip6 daddr 2001:CCCC:CCCC:CCCC::CCCC ip6 dscp cs0 ip6 ecn not-ect ip6 hoplimit 45 ip6 flowlabel 0 ip6 nexthdr tcp ip6 length 40 tcp sport 53184 tcp dport 443 = tcp dport windows = tcp windows 443 22240

Rețineți că nu am această problemă cu ssh pe portul 22. Eu rulez nftables v0.9.8 (E.D.S.) pe Debian 11.

Aproape că am petrecut o zi căutând soluția. Orice ajutor este binevenit! Multumesc

Puncte:4
drapel cl
A.B

ICMPv6, care este un protocol peste IPv6, implementează rezoluția stratului de legătură folosind multicast și unicast. Renunțarea la ICMPv6 înseamnă că nu mai există o rezoluție disponibilă: nodurile nu pot găsi alte noduri în aceeași rețea LAN. Aceasta include routerul IPv6 din amonte care nu poate comunica cu sistemul Linux folosind IPv6 dacă ICMPv6 este abandonat.

În schimb, IPv4 se bazează pe un protocol diferit: ARP (folosind broadcast și unicast), care nu este peste IPv4. Deci se poate renunța la tot ICMP și nu poate suferi nicio problemă de conectivitate LAN, deoarece ARP nu este afectat (dar se poate suferi în continuare de gaură neagră PMTU și alte probleme similare la eliminarea întregului ICMP, în special când se utilizează tuneluri).

Așa că începeți prin a activa tot ICMPv6, apoi, a doua oară, după ce validați că IPv6 funcționează din nou, dacă nu doriți să le activați pe toate, verificați ce să acceptați selectiv în Protocolul de descoperire a vecinilor (pentru un nod fără rutare, aș spune cel puțin tipurile 134, 135, 136 și 137):

nft add regula inet filter INPUT 'icmpv6 type { 134, 135, 136, 137} accept'
Ricain avatar
drapel sm
Mulțumesc pentru awnser, cred că nu am citit suficientă documentație despre IPv6.Nu as fi gasit singur!
Puncte:0
drapel pk

Asta a făcut trucul pentru mine:

tabel inet filter {
    lanț INPUT {
        tip filtru cârlig prioritate de intrare 0; scăderea politicii;

        meta l4proto ipv6-icmp accept
        ip6 ecn nu-ect accept

        # Deși am folosit ceva mai restrictiv:
        # ip6 ecn not-ect ip6 hoplimit 1 accept
    }
}

Observați că pachetul pe care l-ați capturat este un pachet ECN, la fel ca al meu (cu excepția că al meu are ip6 hoplimit 1 de la un link-local fe80::/10 saddr, în timp ce al dumneavoastră are ip6 hoplimit 45).Se pare că acest pachet trebuie să fie acceptat pentru a primi un bloc IPv6 de către ISP-ul meu (Spectrum Broadband) și poate că aveți dificultăți similare legate de aceste pachete ECN.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.