วิธีกำหนดเส้นทางการรับส่งข้อมูลเครือข่ายของโฮสต์ผ่านโฮสต์อื่น


9

ฉันไม่ใช่ผู้ดูแลระบบของเครือข่ายองค์กรของเรา แต่ฉันมีเวิร์กสเตชัน Linux สองตัว (โฮสต์ A และ B) ที่มีการเข้าถึงรูททั้งสอง

โฮสต์ทั้งสองสามารถเห็นค่าปรับอื่น ๆ (ssh, ping, etc ทำงานจากที่หนึ่งไปยังอีกที่หนึ่ง) อย่างไรก็ตามมีเพียงโฮสต์ A เท่านั้นที่สามารถเข้าถึงไฟร์วอลล์องค์กรของเราและเข้าถึงอินเทอร์เน็ต ฯลฯ โฮสต์ B ไม่สามารถ

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

บน Host B ฉันพยายามออกroute add -host <HostA> gw <HostA's Gateway>คำสั่ง แต่มันใช้งานไม่ได้: ฉันไม่สามารถpingwww.google.com จาก Host B ได้โปรดยกความไม่รู้ของฉันในเรื่องการกำหนดเส้นทาง / เครือข่ายนี้

คำตอบ:


16

คุณมีหลายวิธีในการทำสิ่งนี้:

วิธีที่ง่ายกว่า: NAT

สร้างเราเตอร์ด้วยการอนุญาตให้ส่งต่อ: sysctl net.ipv4.ip_forward=1 ใส่ net.ipv4.ip_forward=1/etc/sysctl.conf เพื่อทำให้ถาวร

จากนั้นใน A, nat trafic โดยพิมพ์: iptables -t nat -A POSTROUTING -o ethx -j MASQUERADE

ในที่สุดเมื่อ B: กำหนดเส้นทางการจราจรทั้งหมดผ่าน A:

ip route del default  
ip route add default via IP_of_A

วิธีการแก้ปัญหาอื่น ๆ : Proxify ,

แต่คุณต้องตั้งค่าส่วนประกอบทั้งหมดเพื่อใช้พร็อกซี:

บน B เปิดการเชื่อมต่อ SSH ไปที่ A ด้วยคำสั่งนี้:

ssh -D8000 -N -f user@IP_of_A 

วิธีนี้จะเปิดถุงเท้าพร็อกซีบน B และถ่ายทอดการรับส่งข้อมูลทั้งหมดผ่าน A หากคุณใช้เว็บเบราว์เซอร์คุณจะต้องตั้งค่าพร็อกซีถุงเท้า v5 ที่ 127.0.0.1 กำลังฟังบนพอร์ต 8000 คุณจะไม่ต้องตั้งค่า ip การส่งต่อหรือสัมผัสกับเส้นทาง


ในการออกip route addคำสั่งฉันได้รับข้อผิดพลาดนี้:Error: either "to" is duplicate, or "gw" is a garbage.
แฮร์รี่

Btw, DrGkill ฉันจะขอบคุณเป็นอย่างยิ่งถ้าคุณสามารถพูดถึงวิธีอื่นได้ และหนังสือ / ทรัพยากรบางส่วนที่แนวคิดเหล่านี้ครอบคลุมในทางปฏิบัติ ฉันไม่ต้องการทฤษฎีคล้าย Tannenbaum แต่แนวคิดและคำสั่ง Linux จริง ๆ ที่ฉันสามารถลองและเรียนรู้จะเป็นประโยชน์ ไม่แน่ใจว่าหาก [ faqs.org/docs/linux_network/index.html เหมือนกัน (คู่มือผู้ดูแลเครือข่ายเครือข่ายLinux ) คู่มือนั้นยังคงเป็นปัจจุบันและครอบคลุมสูตรที่คุณให้ไว้ด้านบน ขอบคุณมากและขอให้พระเจ้าคุ้มครอง
แฮร์รี่

ไวยากรณ์ที่ถูกต้องเป็นหรือip route add default via route add default gw
quanta

แก้ไขข้อผิดพลาดรวมถึงวิธีที่เพิ่มของพร็อกซี สนุก.
DrGkill

1
ขอบคุณควอนตัม! คำสั่งได้รับการยอมรับเรียบร้อยแล้ว แต่เมื่อฉันตอนนี้ping www.google.comฉันได้รับFrom hostA (<ipaddrOfHostA>) icmp_seq=1 Destination Host Prohibitedข้อผิดพลาดและสูญเสียต 100%
แฮร์รี่

1

ฉันเชื่อว่าคุณจะต้องปิดการใช้งานไฟร์วอลล์ของคุณ

service iptables stop

ไม่แน่ใจว่าสิ่งนั้นจำเป็นทั้งบน Host A & Host B แต่มันทำให้ฉันผ่านข้อความ "Destination Host Prohibited"

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