ส่งแพ็คเก็ตผ่านเครือข่ายแม้ว่าเป้าหมายจะเป็นโฮสต์ท้องถิ่น


10

ภายใต้ Linux หากคุณส่งแพ็คเก็ตไปยังที่อยู่ของหนึ่งในอินเทอร์เฟซเครือข่ายของตนแพ็คเก็ตนี้จะถูกกำหนดเส้นทางภายในมันจะไม่ถูกส่งผ่านเครือข่าย นั่นคือสิ่งที่ถูกต้องใน 99.99% ของคดี

ในบางครั้งเมื่อทดสอบการกำหนดค่าเครือข่ายจะมีประโยชน์ในการส่งแพ็กเก็ตผ่านลิงก์ท้องถิ่นจากเครื่องด้วยตัวเองเป็นเครื่องเป้าหมาย ฉันจะทำสิ่งนี้ได้อย่างไร อย่างน้อยสำหรับลิงค์ประเภทบัสเช่นอีเธอร์เน็ตหากไม่ใช่สำหรับลิงก์แบบจุดต่อจุด ฉันสนใจแพ็กเก็ต IP เท่านั้น (ทั้ง IPv4 และ IPv6)


พยายามสแกน nmap หรือไม่
Ruban Savvy

คุณสนใจแพ็กเก็ตที่กำลังออกไปทางเครือข่ายและถูกส่งกลับเข้าไปใหม่หรือไม่? หรือคุณเพียงแค่ต้องการให้มันดูเหมือนว่ามันทำ (ผ่านเส้นทางสแต็ค, iptables, ฯลฯ )?
Patrick

@ แพทริคฉันต้องการให้มันออกไปและเข้าถึงเราเตอร์ท้องถิ่น แม้ว่าจะอยู่ในประเทศ แต่ดูในท้องถิ่นราวกับว่ามันออกไปแล้วก็อาจมีประโยชน์ในสถานการณ์ที่แตกต่างกัน
Gilles 'หยุดชั่วร้าย'

@Gilles คุณเคยประสบความสำเร็จกับเรื่องนี้บ้างไหม? ขณะนี้ฉันกำลังพยายามทำเช่นนี้กับอะแดปเตอร์ TAP สองตัวและรหัสการเชื่อมต่อแบบง่าย ๆ และไม่ประสบความสำเร็จ การกำหนดเส้นทางดูเหมือนจะถูกต้อง แต่ดูเหมือนว่า ARP จะไม่ทำงาน (แพ็กเก็ตกำลังจะออกไปพร้อมกับ src mac == dst mac) ฉันสามารถอธิบายการตั้งค่าของฉันถ้ามันจะช่วย
Jonathon Reinhart

1
@Gilles ฉันไม่ได้ลองสิ่งนี้ แต่ฉันสามารถจินตนาการได้ว่าการใช้เราเตอร์ในแบบที่มันไม่เคยส่งอะไรกลับไปยังที่ที่มันมาจากเช่นเพื่อป้องกันไม่ให้กระดอนนิรันดร์ระหว่างเราเตอร์สองตัว สิ่งที่ต้องจับตามองในขณะที่การทดสอบในกรณีที่แพคเกจออกไป แต่ไม่กลับมา
Anthon

คำตอบ:


7

อะแดปเตอร์เครือข่ายแต่ละตัวบน linux มีพารามิเตอร์ sysctl boolean accept_local( /proc/sys/net/ipv4/conf/eth0/accept_local) ลองตั้งค่าเป็น 0 สำหรับอะแดปเตอร์ทั้งหมดที่เกี่ยวข้อง (นอกจากนี้คุณอาจต้องแก้ไขตารางเส้นทางของคุณเพื่อให้เหมาะกับการตั้งค่าการทดสอบของคุณ)

นอกจากนี้ยังให้แน่ใจว่าrp_filter( /proc/sys/net/ipv4/conf/eth0/rp_filter) ถูกเปิดใช้งาน (ไม่ใช่ 0)

การอ้างอิง: http://code.metager.de/source/xref/linux/stable/Documentation/networking/ip-sysctl.txt

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