ไม่สามารถ ping Subnet A จาก Subnet B กับเราเตอร์ระหว่างพวกเขา


1

ฉันทดลองใช้เครือข่ายย่อยในเครือข่ายในบ้านและ Raspberry Pi

ISP Cable Modem มีอินเตอร์เฟสอินเตอร์เฟส 4 ตัวและอินเตอร์เฟส 1 wlan ซึ่งดูเหมือนจะสลับกันทั้งหมด IP ของเราเตอร์คือ 192.168.0.1 ด้านหลัง NAT ของ ISP

ฉันเชื่อมต่อพอร์ต eth หนึ่งพอร์ตของเคเบิลโมเด็มกับพอร์ต raspberries eth ราสเบอร์รี่มีดองเกิล wlan เพิ่มเติมและตั้งค่าจุดเชื่อมต่อผ่าน hostapd การกำหนดค่าเครือข่าย raspberries ใน / etc / network / interfaces:

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1 
dns-nameservers 8.8.8.8 8.8.4.4

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static 
address 192.168.1.3
netmask 255.255.255.0

การใช้คำสั่ง iptables ฉันลบกฎทั้งหมดและตั้งค่านโยบายเริ่มต้นสำหรับเครือทั้งหมดที่จะได้รับการยอมรับ การส่งต่อ IPv4 ถูกเปิดใช้งานและตารางเส้นทางคือ:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan0

อย่างไรก็ตาม RaspberryPi ให้การกำหนดค่าเครือข่ายผ่าน ISC-DHCP-SERVER ไปยังเครือข่ายย่อยทั้งสอง มันคือการกำหนดค่า:

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.10 192.168.0.111;
  option routers 192.168.0.1;
  option rfc3442-classless-static-routes 24, 192, 168, 1, 192, 168, 0, 2;
  option ms-classless-static-routes 24, 192, 168, 1, 192, 168, 0, 2; 
}

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.10 192.168.1.111;
  option routers 192.168.1.3;
}

ดังนั้นฉันต้องการปัญหาจากเครือข่าย 192.168.0.0/24 กับ 192.168.1.0/24 ควรส่งผ่าน 192.168.0.2 (Raspberries eth-port) ปัญหาอื่น ๆ ทั้งหมดที่มากกว่า 192.168.0.1 ปัญหาทั้งหมดจาก 192.168.1.0/24 ควรผ่าน 192.168.1.3 (Rlanberry wlan-port)

ฉันได้รับผลลัพธ์ต่อไปนี้:

p การเชื่อมต่อสองส่วนของ Raspberry จากโฮสต์ในเครือข่าย 192.168.1.0/24 ให้คำตอบที่สำเร็จ ส่ง Ping ไปที่ 192.168.0.1 หรือที่อยู่ 192.168.0.0/24 อื่นไม่ได้ให้ข้อความที่ไม่สามารถเข้าถึงโฮสต์ได้ ไม่มีอะไร - แพคเกจจะหายไป ...

ฉันจะทำอย่างไร อะไรคือปัญหา?

UPDATE:

ตารางเส้นทางของเครื่องกระตุกดูเหมือนจะไม่เป็นไร ฉันสามารถแก้ปัญหาได้โดยการปลอมที่อยู่ IP ต้นทางจากอุปกรณ์ทั้งหมดภายในเครือข่าย 192.168.1.0/24:

iptables -t nat -A การโพสต์ -o eth0 -j MASQUERADE

แต่การใช้ NAT เพื่อเชื่อมต่อเครือข่ายย่อยสองเครือข่ายภายในเครือข่ายภายในดูเหมือนจะเป็นวิธีแก้ปัญหา ซับเน็ตควรพร้อมใช้งานโดยไม่มี NAT อาจเป็นไปได้ว่าปริมาณการใช้งานในเครือข่ายภายในของฉันถูกบล็อกโดย ISP ที่อัปสตรีมของเราเตอร์ ???


การแก้ไขปัญหา ตรวจสอบตารางเส้นทางในสองเครื่องที่ไม่สามารถ ping ซึ่งกันและกัน
David Schwartz

ฉันเคยมีอุปกรณ์เคเบิล (comcast) ที่ปิดใช้งานการตอบสนอง ICMP ของอินทราเน็ตจริง ๆ แล้วบล็อก pings ภายในแทนภายนอก อาจเป็นเพราะการออกแบบ แต่ข้อความ UX นั้นผิดในกรณีนั้น ( dslreports.com/forum/... )
Yorik

คำตอบ:


0

ดูเหมือนว่าปัญหาการกำหนดเส้นทางเดินรถทางเดียว

เส้นทางของคุณได้รับการตั้งค่าอย่างถูกต้องและแพ็คเก็ตจะไปถึงปลายทาง เมื่อปลายทางพยายามตอบกลับจะไม่มีความคิดในการเข้าถึงเครือข่าย 192.168.1.0/24 มันจะส่งทราฟฟิกไปยังเกตเวย์เริ่มต้นซึ่งก็คือเราเตอร์ ISP 192.168.0.1

หากคุณเพิ่มเส้นทางบนเราเตอร์ ISP ไปที่ 192.168.1.0/24 ผ่าน 192.168.0.2 แสดงว่าเส้นทางนั้นควรทำงานอย่างถูกต้องหากไม่มี NAT

ปรับปรุง:

หากคุณไม่สามารถเข้าถึงเราเตอร์ ISP ของคุณคุณสามารถเพิ่มเส้นทางไปที่ 192.168.1.0/24 ผ่าน 192.168.0.2 บนอุปกรณ์ทุก ๆ โฮสต์

หรือ

ในขอบเขต DHCP ของคุณสำหรับเครือข่าย 192.168.0.0/24 คุณสามารถส่งที่อยู่ Pi ของคุณ (192.168.0.2) เป็นเราเตอร์และมันจะเป็นเกตเวย์เริ่มต้นสำหรับลูกค้าทั้งหมดของคุณแทนที่จะเป็นเราเตอร์ ISP จากนั้นคุณจะสามารถกำหนดเส้นทางระหว่างเครือข่ายทั้งสองและ Pi จะส่งต่อปริมาณการใช้งานอินเทอร์เน็ตของลูกค้าไปยัง 192.168.0.1 ดูเหมือนว่า "มีประสิทธิภาพมากขึ้น" ที่ทราฟฟิกอินเทอร์เน็ตของไคลเอ็นต์ไปที่ 192.168.0.1 โดยตรงแทนที่จะหยุดที่ 192.168.0.2 แต่ถ้าคุณต้องการควบคุมการกำหนดเส้นทางคุณจะต้องทำสิ่งนี้


ขอบคุณสำหรับคำตอบ. น่าเสียดายที่เป็นประเด็น: ฉันไม่สามารถตั้งค่าเส้นทางในเราเตอร์ ISP ของฉันและต้องเชื่อว่าจะพบเส้นทางที่ถูกต้อง ฉันสามารถเปลี่ยนที่อยู่ IP ภายในเราเตอร์ได้ แต่ไม่มีตัวเลือกในการจัดการตารางเส้นทาง (รุ่นเราเตอร์: thomson twg870) - คู่มือไม่ได้ให้ข้อมูลใด ๆ เกี่ยวกับเรื่องนี้และ webinterface ไม่มีตัวเลือก นั่นช่างน่ากลัว! ฉันคิดว่าตัวเลือกที่เหลืออยู่ของฉันคือ: "ถามผู้ให้บริการเคเบิลของคุณ" หรือ "ใช้ NAT" ...
fragwürdig

ตัวเลือกที่ให้ไว้ครั้งแรกคือสิ่งที่ฉันได้พยายามทำกับ "ตัวเลือก classless-static-route" ในการกำหนดค่า dhcp ของฉันสำหรับขอบเขต 192.168.0.0/24 (ผลักดันเส้นทางคงที่ไปยังลูกค้า) ตัวเลือกอื่นที่คุณให้เสียงดีและฉันคิดว่าฉันจะลอง แต่คำถามอีกหนึ่ง: เมื่อฉันต้องการ ping 192.168.0.1 จากเครือข่าย 192.168.1.0/24 ฉันจะยังไม่ได้รับคำตอบ โฮสต์นอกเหนือจากเราเตอร์ ISP ของฉัน) ใช่ไหม เนื่องจากเราเตอร์เองยังไม่รู้วิธีกำหนดเส้นทางไปยังโฮสต์ที่ร้องขอ ...
fragwürdig

ใช่ที่ถูกต้อง. ISP เราเตอร์ (192.168.0.1) จะไม่มีเส้นทางไปที่ 192.168.1.0/24 และจะส่งทราฟฟิกนั้นไปยังอินเทอร์เน็ตโดยใช้เส้นทางเริ่มต้น ในกรณีนี้คุณจะต้องใช้ NAT เพื่อให้คำขอทั้งหมดสำหรับ 192.168.1.0/24 ถูกแปลเป็น 192.168.0.2 ซึ่งเราเตอร์ ISP สามารถสื่อสารกับ
Matt
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.