อะไรคือความแตกต่างระหว่างเครือข่าย OUTPUT และ FORWARD ใน iptables


22

CentOS 6.0

ฉันกำลังเรียน iptables และกำลังสับสนกับความแตกต่างระหว่างเครือข่าย FORWARD และ OUTPUT ในเอกสารการฝึกอบรมของฉันระบุว่า:

หากคุณต่อท้าย (-A) หรือลบจากห่วงโซ่ (-D) คุณจะต้องการนำไปใช้กับข้อมูลเครือข่ายที่เดินทางในหนึ่งในสามทิศทาง:

  • INPUT - แพ็กเก็ตที่เข้ามาทั้งหมดจะถูกตรวจสอบกับกฎในห่วงโซ่นี้
  • OUTPUT - แพ็กเก็ตขาออกทั้งหมดถูกตรวจสอบกับกฎในห่วงโซ่นี้
  • ไปข้างหน้า - แพ็คเก็ตทั้งหมดที่ถูกส่งไปยังคอมพิวเตอร์เครื่องอื่นจะถูกตรวจสอบกับกฎในห่วงโซ่นี้

สิ่งนี้ทำให้ฉันสับสนเพราะในความคิดของฉันแพ็คเก็ตออกไปสำหรับโฮสต์ที่จะออกไป มีสถานการณ์ที่แพ็คเก็ตจะไปที่คอมพิวเตอร์เครื่องอื่น แต่ไม่ใช่ "ขาออก" หรือไม่? iptables จะแยกความแตกต่างระหว่างทั้งสองได้อย่างไร

คำตอบ:


26

OUTPUT สำหรับแพ็คเก็ตที่ปล่อยออกมาโดยโฮสต์ ปลายทางของพวกเขามักจะเป็นโฮสต์อื่น แต่สามารถเป็นโฮสต์เดียวกันผ่านอินเทอร์เฟซย้อนกลับดังนั้นแพ็คเก็ตทั้งหมดที่ผ่าน OUTPUT ไม่ได้อยู่ในความเป็นจริง

ไปข้างหน้าสำหรับแพ็คเก็ตที่ไม่ได้ปล่อยออกมาโดยโฮสต์หรือกำกับไปยังโฮสต์ พวกเขาเป็นแพ็กเก็ตที่โฮสต์เป็นเพียงการกำหนดเส้นทาง

เมื่อคุณเริ่มการขุดเป็น mangling แพ็คเก็ตและ NAT เรื่องเต็มค่อนข้างซับซ้อนมากขึ้น


น่าสนใจ ... ดังนั้นเพื่อจุดประสงค์ในการทำความเข้าใจของฉันมันยุติธรรมที่จะบอกว่า OUTPUT สำหรับแพ็คเก็ตที่ "กำเนิด" จากระบบ ... และไปข้างหน้าสำหรับแพ็กเก็ตที่ไม่ได้เกิดจากระบบหรือถูกกำหนดไว้สำหรับ มันและแทนที่จะไป "ผ่าน" ระบบหรือไม่
Mike B

1
ไม่มาก, แพ็คเก็ตที่ "ส่งต่อ" ยังเป็น "เอาท์พุท" โดยอินเทอร์เฟซเครือข่าย .. เช่นเดียวกับแพ็คเก็ตเป็น "อินพุต" ก่อนที่พวกเขาจะ "ส่งต่อ" .. แพ็คเก็ตเข้าไปใน, ปลายทางสำหรับระบบต่างประเทศ , iptables ตัดสินใจที่จะตกลงไปข้างหน้า, แพ็คเก็ตเข้าสู่ "ห่วงโซ่เอาท์พุท", ตรวจสอบ iptables, ดูที่ "ตกลง" เพื่อส่งออก, แพ็คเก็ตใบ .. simples!
Grizly

2
@Grizly ไม่จากหน่วยความจำ (ฉันยอมรับว่าฉันยังไม่ได้ทดสอบโดยเฉพาะเมื่อเขียนคำตอบนี้) และจากแผนภาพที่ฉันเชื่อมโยงแพ็คเก็ตมักจะผ่านหนึ่งในสามfilterโซ่ ( INPUTหรือOUTPUTหรือFORWARD) (สมมติว่าบางห่วงโซ่อื่น ๆ ที่ไม่ได้วางไว้ก่อน.) The mangleและnatโซ่จะแตกต่างกันบางทีคุณอาจจะมีความคิดของmangleห่วงโซ่?
Gilles 'หยุดความชั่วร้าย' ใน

0

เพื่อความเข้าใจของฉัน:

อินพุต: dst IP อยู่บนโฮสต์แม้ว่าจะมีหลายพอร์ตที่มีหลายซับเน็ต

OUTPUT: src IP มาจากโฮสต์ไม่ว่าจะเป็นพอร์ตใด

ไปข้างหน้า: ทั้ง dst IP บนโฮสต์หรือ src IP จากโฮสต์

ป้อนคำอธิบายรูปภาพที่นี่

ตัวอย่างเช่นไปยังเราเตอร์ A

อินพุตคือ:

192.168.10.1 -> 192.168.10.199

192.168.10.1 -> 192.168.2.1

ผลลัพธ์คือ:

192.168.10.199 -> xxxx

192.168.2.1 -> xxxx

ไปข้างหน้าคือ:

192.168.10.1 -> 192.168.2.199

192.168.10.1 -> 192.168.8.1

192.168.10.1 -> 192.168.8.199

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.