เชื่อมต่อสองเครือข่ายย่อยบน Linux


6

วิธีเชื่อมต่อซับเน็ตสองเครือข่ายได้อย่างไร

ฉันไม่สามารถpingหรือtracerouteระหว่างซับเน็ตเหล่านี้

ifconfig Vbox1 subnet:

eth0      Link encap:Ethernet  HWaddr 08:00:27:f1:68:9e
          inet addr:192.168.1.65  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fef1:689e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:207703 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41701 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:45480669 (45.4 MB)  TX bytes:4855362 (4.8 MB)

eth1      Link encap:Ethernet  HWaddr 08:00:27:79:02:34
          inet addr:10.0.3.15  Bcast:10.0.3.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe79:234/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:913 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1335 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:129887 (129.8 KB)  TX bytes:150700 (150.7 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:15106 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15106 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:949613 (949.6 KB)  TX bytes:949613 (949.6 KB)

และ p4 (เพราะฉันไม่สามารถเข้าถึงเครื่องได้จากที่นี่ฉันให้สรุปพิมพ์ด้วยตนเอง):

etho : only inet6 addr
lo : inet addr : 127.0.0.1 Mask : 255.0.0.0
venet0 : only inet6 addr
vmbr0 : inet addr : 192.168.0.70 BCast : 192.168.0.255 Mask : 255.255.255.0

เชื่อมต่อสองซับเน็ตสำเร็จแล้ว หลังจากเปลี่ยนISPแล้วฉันไม่สามารถเข้าถึงเครือข่ายย่อย p4 ได้อีกต่อไป มีบางอย่างเปลี่ยนไป แต่ฉันคาดว่ามันน่าจะเป็นปัญหาเล็กน้อยเพราะก่อนที่จะใช้ซับเน็ตมันทำงานได้สำเร็จ

ฉันได้อ่านเครื่องเสมือนในสอง subnetsแต่ข้อเสนอแนะคือการใช้VLAN แต่ตามวิธีที่ดีที่สุดในการแบ่งกลุ่มการรับส่งข้อมูล VLAN หรือซับเน็ต? VLAN ทำงานบนเน็ตเวิร์กเลเยอร์ 2 และซับเน็ตบนเลเยอร์เครือข่าย 3 และควรใช้เลเยอร์ 3 ซับเน็ต

ดังนั้นฉันควรมีเกตเวย์ระหว่างเครือข่ายย่อยเหล่านี้

ตามUbuntu KB - การกำหนดค่าเครือข่ายฉันเพิ่มลงใน vbox1:

sudo route add default gw 10.10.14.81 eth1

แต่มันสร้าง:

SIOCADDRT: Network is unreachable

การค้นหาส่งคืนช่องสัญญาณUbuntu หรือเกตเวย์ที่แตกต่างระหว่างที่อยู่โฮสต์และที่อยู่เครือข่าย

สำหรับข้อมูลของคุณ vbox1 คือUbuntu 13.04 (Raring Ringtail) และ p4 คือDebian 7.5 (Wheezy)

ตอนนี้ฉันติดอยู่


3
ฉันไม่เข้าใจคำถามของคุณอย่างเต็มที่ หนึ่งกล่องเป็นส่วนหนึ่งของเครือข่ายย่อยสองรายการ: 192.168.1.0/24 และ 10.0.3.0/24 กล่อง p4 อยู่บนซับเน็ตที่แตกต่างกันโดยสิ้นเชิง คุณต้องมีอุปกรณ์อย่างน้อยหนึ่งเครื่องที่ได้รับการกำหนดค่าให้อยู่ในเครือข่ายย่อยทั้งสองเพื่อให้สามารถรับแพคเกจจากเครือข่ายย่อยหนึ่งและส่งไปยังอุปกรณ์อื่น หรืออธิบายต่างกัน: สมมติว่าคุณอยู่บน vbox1 และคุณเป็นผู้รับผิดชอบในการส่งแพ็กเก็ตผ่านเครือข่าย: อินเตอร์เฟสใดที่คุณจะส่งแพ็คเก็ตไปที่ 192.168.0.70 คุณจะใช้ eth1 หรือ eth0 หรือไม่ vbox1 ไม่ทราบว่าทั้ง ...
TomS

eth1 อยู่บนเครือข่าย 10.0.3.X เกตเวย์ต้องอยู่ในเครือข่ายท้องถิ่นคุณไม่สามารถเพิ่ม 10.10.14.Y เป็นเกตเวย์ได้ ถ้า P4 เป็น IPv6 เพียงลองค้นพบมันด้วยip n ต่อไปพยายามที่จะ ping ที่อยู่ลิงค์ท้องถิ่น (เช่นนั้นคนที่เริ่มต้นด้วยfe80::)
Archemar

@TomS p4 box เป็น subnet ที่แตกต่างกัน ในขณะนี้ vbox1 แน่นอนไม่ทราบวิธีการเข้าถึง การตั้งค่าของฉันคือการปรับ vbox1 นี่คือไคลเอนต์ Virtualbox เพื่อให้สามารถย้อนกลับการตั้งค่า คำถามของฉันคือวิธีเชื่อมต่อเครือข่ายย่อยทั้งสองนี้อย่างไร
เบอร์นาร์ด

@Archemar p4 ไม่ใช่ ip6 เท่านั้นอย่างน้อยฉันก็คิดเช่นนั้น ฉันสามารถดูที่อยู่สไตล์ ip4 เช่น 192.168.0.70 การตั้งค่าของฉันคือการใช้ ip4 ไม่ได้ทำให้สิ่งที่ซับซ้อนมากขึ้นตามที่ต้องการ สิ่งที่แปลกคือซับเน็ตมันทำงานก่อนเปลี่ยนไปใช้ ISP อื่น ดังนั้นสมมติฐานของฉันคือควรปรับเล็กน้อย
Bernard

คำตอบ:


8

ย้าย vbox1 ไปยังเครือข่ายย่อยอื่น: เปลี่ยนที่อยู่ IP ของพวกเขาใน eth0 จาก 192.168.1.65 เป็น 192.168.0.65 (หรือที่อยู่ IP อื่น ๆ ในเครือข่ายย่อย 192.168.0.0/24) จากนั้น vbox1 รู้ว่าอินเตอร์เฟส p4 ใด (192.168.0.70) สามารถเข้าถึงได้ (-> ผ่าน eth0) vbox1 จะปรับตารางเส้นทางของมันโดยอัตโนมัติ ตอนนี้คุณควรจะสามารถเข้าถึง p4 จาก vbox1 หากคุณต้องการเข้าถึง p4 จากไคลเอนต์เพิ่มเติมใน 192.168.1.0/24 คุณต้องกำหนดค่า vbox1 เป็นเราเตอร์ (เช่นอุปกรณ์ที่สามารถส่งต่อแพ็กเก็ตที่มาถึง eth1 [192.168.1.0/24] เป็น eth0 [192.168.0.0/ 24] (และในทางกลับกัน) นั่นคือความหมายโดย "การเชื่อมต่อสองเครือข่าย")

วิธีการทำขึ้นอยู่กับการกระจายที่คุณใช้ โดยทั่วไปคุณต้องเขียน "1" /proc/sys/net/ipv4/ip_forwardลงในแฟ้มอุปกรณ์

ชอบ echo 1 > /proc/sys/net/ipv4/ip_forward

อย่างไรก็ตามสิ่งนี้จะใช้ได้ในระหว่างรอบการบูตปัจจุบันเท่านั้น การตั้งค่าจะหายไปหลังจากรีบูต

หากคุณต้องการทำอย่างถาวรคุณต้องใส่บรรทัดนี้ลงในสคริปต์เริ่มต้นบางส่วน หากคุณใช้ Ubuntu คุณสามารถใส่ลงใน /etc/sysctl.conf (ฉันไม่แน่ใจเกี่ยวกับ distros อื่น ๆ ) ยกเลิกnet.ipv4.ip_forward=1หมายเหตุบรรทัด หากคุณต้องการมีผลทันทีคุณสามารถออกsudo sysctl -w net.ipv4.ip_forward=1แทน´echo´ ที่กล่าวถึงข้างต้นได้

pls ดูลิงค์นี้ใน askubuntu.com


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