โฮสต์หนึ่งเครื่องเสมือนสองเครื่องที่ไม่สามารถ ping ซึ่งกันและกัน วิธีแก้


10

เรามีเครื่องเสมือนที่ทำงานในKVMสภาพแวดล้อม เราตั้งค่าหนึ่งให้เป็นเซิร์ฟเวอร์ dev ที่ใช้งานApacheฯลฯ และอื่น ๆ เป็นWindowsสภาพแวดล้อมการพัฒนา

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

นี่คือสิ่งที่เกิดขึ้น

จากโฮสต์:

  Cannot ping either of 2 VM's (one `Linux`, one `Windows`)

จาก VM อย่างใดอย่างหนึ่ง:

  Cannot ping host
  Cannot ping each other

จากเครื่องเครือข่ายอื่น (เช่นแล็ปท็อปของฉันจากภายในเครือข่าย บริษัท ของฉัน)

  Successfully ping host at 192.168.0.64
  Successfully ping VM1 (Linux) 192.168.0.43
  Successfully ping VM2 (Windows) 192.168.0.84

4
คุณมีข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าเครือข่ายของเครื่องเสมือนของคุณหรือไม่? คุณแน่ใจหรือไม่อย่างสมบูรณ์ว่าเมื่อเครื่องเครือข่ายอื่นของคุณ ping VM ของคุณพวกเขาไม่ได้สุ่มเครื่องอื่น ๆ บนเครือข่าย (เช่นคุณสามารถใช้เบราว์เซอร์เซิร์ฟเวอร์ apache ได้หรือไม่)
GregHNZ

ฉันคิดว่ามันอาจเป็นสะพานของคุณ iptables ของเคอร์เนลจะบล็อกเครื่องของคุณจากการพูดคุยกับตัวเองเว้นแต่ว่าคุณ: echo "1"> / proc / sys / net / ipv4 / ip_forward; อาจเป็นไปได้
mikeserv

คุณใช้คำสั่งอะไรในการบูต VMs
jobin

คุณมีเครื่องอื่นในเครือข่ายเดียวกัน (ซึ่งไม่ได้อยู่ในโฮสต์เดียวกัน) หรือไม่? เครื่องเหล่านี้สามารถ ping เครื่องจักรเหล่านั้นได้หรือไม่?
Sree

1
คุณใช้อินเทอร์เฟซmacvtap ( wiki.libvirt.org/page/… ) สำหรับแขกหรือไม่?
nkms

คำตอบ:


1

เห็นได้ชัดว่าเครื่องกำลังสื่อสารในโหมดบริดจ์เนื่องจากคุณสามารถ ping โฮสต์และ VM ทั้งสองจากนอกสภาพแวดล้อม KVM

ปัญหาของคุณคือการป้องกันการปลอมแปลงในเคอร์เนลซึ่งจะลดแพ็กเก็ตที่มีปลายทางอื่นนอกเหนือจากที่อยู่ IP ของโฮสต์

สำหรับรันไทม์ให้ทำสิ่งนี้ในบรรทัดคำสั่งของโฮสต์เซิร์ฟเวอร์:

 sudo sysctl -w net.ipv4.conf.default.rp_filter=0
 sudo sysctl -w net.ipv4.conf.all.rp_filter=0

เพื่อความอยู่รอดของการบูทให้เพิ่มบรรทัดต่อไปนี้ลงใน/etc/sysctl.conf:

 net.ipv4.conf.default.rp_filter=0
 net.ipv4.conf.all.rp_filter=0

จากความคิดเห็นใน/etc/sysctl.conf(เปลี่ยนไปเล็กน้อย):

rp_filter: เปิดใช้งานการป้องกัน Spoof (ตัวกรอง reverse-path)

การตรวจสอบที่อยู่ต้นทางในอินเทอร์เฟซทั้งหมดเพื่อป้องกันการโจมตีปลอมแปลง


ฉันรู้ว่าคำถามคือเก่า ...
Rui Ribeiro F

0

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

PS: การซ่อนคอมพิวเตอร์จาก ping ในเครือข่ายท้องถิ่นโดยเฉพาะฉันคิดว่าเป็นไปไม่ได้ แต่มันดูคุ้มค่า


เป็นไปได้ที่จะซ่อนคอมพิวเตอร์จากการส่ง Ping ICMP คุณปิดการใช้งานฟังก์ชันในเคอร์เนลหรือสร้างกฎไฟร์วอลล์เพื่อบล็อก ฉันมี Xen และ bhyve โฮสต์ในโหมดบริดจ์และทำงานได้ดี
Rui F Ribeiro
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.