Score:0

nftables natting กับ IP ต้นทาง

ธง in

ฉันมีเซิร์ฟเวอร์ในศูนย์ข้อมูลซึ่งเป็นเซิร์ฟเวอร์ Proxmox บนเซิร์ฟเวอร์ (หนึ่งในนั้นอยู่ในคลัสเตอร์ Proxmox) ฉันกำลังโฮสต์ VM ต่างๆ

บริการต่างๆ บน VM จะถูกเปิดเผยผ่าน iptables (โดยใช้ ufw) ดังตัวอย่างต่อไปนี้:

-A PREROUTING -i eno1 -p tcp -d <public_ip> --dport 21 -j DNAT --to-destination <local_ip>:<port>
-A PREROUTING -i eno1 -p tcp -d <public_ip> --dport 23 -j DNAT --to-destination <local_ip>:<port>
-A PREROUTING -i eno1 -p tcp -d <public_ip> --dport 10090:10100 -j DNAT --to-destination <local_ip>:<port>

VM นั้นเชื่อมต่อกันโดยใช้ Virtual Bridge nic เช่นเอกสารประกอบของสถานะ Proxmox (เอกสาร Proxmox) วิธีนี้ใช้ได้ผล อย่างไรก็ตามมีข้อเสียอย่างหนึ่ง VM ไม่ได้รับ IP ต้นทางของบุคคลที่เชื่อมต่อ สิ่งนี้ทำให้ฉันมีตัวเลือกที่จำกัดในการกรอง IP การเข้าสู่ระบบ VM อื่นๆ

ตอนนี้ฉันกำลังมองหาโซลูชันที่คล้ายกันสำหรับ nftables (ซึ่งจะหรือมี แทนที่ iptables)

มีวิธีการตั้งค่ากฎการ natting หรือการส่งต่อที่จะอนุญาตให้ IP ต้นทางส่งไปยัง VM หรือไม่

Score:1
ธง us

คุณสามารถทำกฎเดียวกันใน nftables ด้วยวิธีนี้:

ตาราง inet แนท {
    การกำหนดเส้นทางลูกโซ่ {
        พิมพ์ nat hook กำหนดลำดับความสำคัญก่อนกำหนด dstnat;
        iif eno1 ip daddr { <public_ip> } tcp dport 21 dnat <local_ip>:<พอร์ต>
        iif eno1 ip daddr { <public_ip> } tcp dport 23 dnat <local_ip>:<พอร์ต>
        iif eno1 ip daddr { <public_ip> } tcp dport 10090-10100 dnat <local_ip>:<พอร์ต>
    }
}

แม้ว่า NAT ปลายทางจะไม่เขียน IP ต้นทางใหม่ ดังนั้นคุณควรเห็น IP ต้นทางจริง หากคุณทำไม่ได้ คุณอาจมีกฎ Source NAT ในตาราง NAT หลังการกำหนดเส้นทางที่คุณต้องการลบ สามารถตรวจสอบได้กับ iptables -t แนท -L.

โพสต์คำตอบ

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