ฉันเชื่อมต่อผ่าน VPN ไปยังเซิร์ฟเวอร์ Ubuntu ที่ทำหน้าที่เป็นไฮเปอร์ไวเซอร์โดยใช้ 1 VM ฉันสามารถ ping VM จาก command-line บนเซิร์ฟเวอร์ แต่ฉันไม่สามารถ ping VM ผ่านการเชื่อมต่อ VPN บนคอมพิวเตอร์ของฉัน การส่งคืนทั้งหมดของ ping "พอร์ตปลายทางไม่สามารถเข้าถึงได้"
ฉันมี virbr1
อย่างนี้:
virbr1 Link encap:Ethernet HWaddr 52:54:00:cb:4d:9b
inet addr:10.0.100.1 Bcast:10.0.100.31 Mask:255.255.255.224
(สร้างโดย Libvirt)
ฉันมี 1 VM ทำงานบน hypervisor ด้วย IP 10.0.100.16
ซึ่งฉันสามารถ ping จากไฮเปอร์ไวเซอร์ แต่ไม่ใช่ผ่าน VPN
เซิร์ฟเวอร์ openvpn ของฉันมี:
server 10.0.1.0 255.255.255.240
push "route 10.0.100.0 255.255.255.224"
บนไคลเอนต์ของฉันฉันสามารถ ping 10.0.100.1
แต่ฉันไม่สามารถปิงได้ 10.0.100.16
:
PING 10.0.100.16 (10.0.100.16) 56(84) bytes of data.
From 10.0.1.1 icmp_seq=1 Destination Port Unreachable
ปรากฏว่าแทนที่จะเป็น 10.0.100.16
คำตอบ ping มี 10.0.1.1
.
เมื่อฉัน tcpdump tun1
บนไฮเปอร์ไวเซอร์ฉันเห็น:
IP 10.0.1.6 > 10.0.100.16: ICMP echo request, id 26073, seq 1, length 64
IP 10.0.1.1 > 10.0.1.6: ICMP 10.0.100.16 protocol 1 port 43991 unreachable, length 92
ด้วยเหตุผลบางอย่าง 10.0.1.1
ถูกใช้แทน 10.0.100.16
สำหรับการตอบกลับ ICMP
ความคิดใด ๆ ที่อาจผิดปกติ? การกำหนดเส้นทางไม่ถูกต้องไม่มี iptables หรือไม่