Score:3

ปัญหา NFTABLE: IPv6 ไม่ทำงานเหมือน IPv4 ที่มีการกำหนดค่ามิเรอร์

ธง sm

ฉันมีปัญหากับ IPv6 บนเซิร์ฟเวอร์ของฉัน ฉันได้กำหนดค่า nginx ให้รับฟังพอร์ต 443 จาก IPv4 และ IPv6 และใช้งานได้ดี: เว็บไซต์ของฉันใช้งานได้จากอินเทอร์เน็ตที่เปิดใช้งาน TLS

สิ่งต่าง ๆ ซับซ้อนขึ้นเมื่อฉันเปิดใช้งาน nftables: เมื่อฉันเข้าถึงเว็บไซต์ของฉันจาก IPv4 มันใช้งานได้ แต่เมื่อฉันเข้าถึงจากการเชื่อมต่อ IPv6 หมดเวลา :(

ผลลัพธ์ของ ชุดกฎรายการ sudo nft:

ตัวกรองตาราง inet {
        ห่วงโซ่อินพุต {
                ประเภท ตัวกรอง เบ็ด ตัวกรองลำดับความสำคัญอินพุต; นโยบายลดลง;
                เมตา nftrace ชุดที่ 1
                สถานะ ct ที่จัดตั้งขึ้น ที่เกี่ยวข้อง ยอมรับความคิดเห็น "อนุญาตการเชื่อมต่อที่จัดตั้งขึ้น"
                iif "lo" ยอมรับความคิดเห็น "อนุญาตทั้งหมดจาก localhost"
                iif != "lo" ip daddr 127.0.0.0/8 ตัวนับแพ็กเก็ต 0 ไบต์ 0 ปล่อยความคิดเห็น "ปล่อยการเชื่อมต่อไปยังลูปแบ็คที่ไม่ได้มาจากลูปแบ็ค"
                iif != "lo" ip6 daddr ::1 แพ็กเก็ตตัวนับ 0 ไบต์ 0 ทิ้งความคิดเห็น "ปล่อยการเชื่อมต่อไปยังลูปแบ็คที่ไม่ได้มาจากลูปแบ็ค"
                iifname "tunnel0" ยอมรับความคิดเห็น "อนุญาตทั้งหมดจาก VPN"
                udp dport 12345 ยอมรับความคิดเห็น "อนุญาต VPN บนพอร์ต 12345"
                tcp dport { 22, 80, 443 } ยอมรับความคิดเห็น "อนุญาต HTTP, HTTPS และ SSH บนพอร์ตคลาสสิก"
        }

        เอาท์พุทลูกโซ่ {
                ประเภทตัวกรองลำดับความสำคัญของเอาต์พุตของตะขอตัวกรอง; นโยบายยอมรับ;
        }

        ห่วงโซ่ไปข้างหน้า {
                ประเภทตัวกรอง hook ตัวกรองลำดับความสำคัญไปข้างหน้า; นโยบายลดลง;
        }
}

ผลลัพธ์ของ sudo nft ตรวจสอบการติดตาม | เกรป 443:

รหัสการติดตาม 76d7cb1a inet filter INPUT packet: iif "eth0" ether saddr AA:AA:AA:AA:AA:AA ether 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 ไม่ ect ip6 hoplimit 45 ip6 flowlabel 0 ip6 nexthdr tcp ip6 ความยาว 40 tcp sport 53184 tcp dport 443 tcp flags == หน้าต่าง syn tcp 22240

หมายเหตุ ฉันไม่มีปัญหากับ ssh บนพอร์ต 22 ฉันกำลังทำงานอยู่ nftables v0.9.8 (EDS) บนเดเบียน 11

ฉันใช้เวลาเกือบหนึ่งวันในการหาทางออก ยินดีต้อนรับความช่วยเหลือใด ๆ ! ขอบคุุณ

Score:4
ธง cl
A.B

ICMPv6 ซึ่งเป็นโปรโตคอลบน IPv6 ใช้ความละเอียดของลิงค์เลเยอร์โดยใช้มัลติคาสต์และยูนิคาสต์ การทิ้ง ICMPv6 หมายความว่าไม่มีความละเอียดอีกต่อไป: โหนดไม่พบโหนดอื่นใน LAN เดียวกัน ซึ่งรวมถึงเราเตอร์อัปสตรีม IPv6 ซึ่งไม่สามารถสื่อสารกับระบบ Linux โดยใช้ IPv6 หาก ICMPv6 หลุด

ในทางตรงกันข้าม IPv4 ใช้โปรโตคอลอื่น: ARP (ใช้การออกอากาศและ unicast) ซึ่งไม่เกิน IPv4 ดังนั้นใคร ๆ ก็สามารถทิ้ง ICMP ทั้งหมดและไม่มีปัญหาการเชื่อมต่อ LAN เนื่องจาก ARP ไม่ได้รับผลกระทบ (แต่ก็ยังต้องทนทุกข์ทรมานจาก หลุมดำ PMTU และปัญหาอื่นๆ ที่คล้ายคลึงกันเมื่อทิ้ง ICMP ทั้งหมด โดยเฉพาะเมื่อใช้ช่องสัญญาณ)

ดังนั้นให้เริ่มด้วยการเปิดใช้งาน ICMPv6 ทั้งหมด จากนั้นในครั้งที่สองเมื่อคุณตรวจสอบว่า IPv6 ใช้งานได้อีกครั้ง หากคุณไม่ต้องการเปิดใช้งานทั้งหมด ให้ทำเครื่องหมายว่าจะยอมรับแบบใดใน โปรโตคอลการค้นหาเพื่อนบ้าน (สำหรับโหนดที่ไม่ใช่การกำหนดเส้นทางฉันจะบอกว่าอย่างน้อยประเภท 134, 135, 136 และ 137):

nft เพิ่มตัวกรองกฎ inet INPUT 'icmpv6 ประเภท { 134, 135, 136, 137 } ยอมรับ'
Ricain avatar
sm flag
ขอบคุณสำหรับ awnser ฉันเดาว่าฉันอ่านเอกสารเกี่ยวกับ IPv6 ไม่เพียงพอฉันจะไม่ได้ค้นหาด้วยตัวเอง!
Score:0
ธง pk

นี้ได้เคล็ดลับสำหรับฉัน:

ตัวกรองตาราง inet {
    ห่วงโซ่อินพุต {
        ประเภทตัวกรอง hook อินพุตลำดับความสำคัญ 0; นโยบายลดลง;

        เมตา l4proto ipv6-icmp ยอมรับ
        ip6 ecn ไม่ยอมรับ ect

        # แม้ว่าฉันจะใช้ข้อ จำกัด ที่เข้มงวดกว่าเล็กน้อย:
        # ip6 ecn ไม่ ect ip6 hoplimit 1 ยอมรับ
    }
}

ขอให้สังเกตว่าแพ็กเก็ตที่คุณบันทึกเป็นแพ็กเก็ต ECN เช่นเดียวกับของฉัน (ยกเว้นของฉันมี ip6 hoplimit 1 จาก link-local fe80::/10 saddr ในขณะที่ของคุณมี ip6 hoplimit 45)ดูเหมือนว่าแพ็กเก็ตนี้จะต้องได้รับการยอมรับเพื่อที่จะได้รับการกำหนดบล็อก IPv6 โดย ISP (สเปกตรัมบรอดแบนด์) ของฉัน และบางทีคุณอาจมีปัญหาที่คล้ายกันเกี่ยวกับแพ็กเก็ต ECN เหล่านี้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา