Score:1

เซิร์ฟเวอร์ไม่ตอบสนองต่อการส่ง Ping ผ่าน VPN

ธง in

ฉันมีเซิร์ฟเวอร์และเครื่องเสมือนอยู่ ฉันกำลังโฮสต์ OpenVPN บนเซิร์ฟเวอร์นี้ เครื่องเสมือนมีสองอินเทอร์เฟซ: ens18 - สำหรับ IP สาธารณะ, ens19 - สำหรับเครือข่ายภายใน ฉันพยายาม ping 10.2.0.3 (ip เครื่องเสมือนบน ens19) ผ่าน VPN แต่มันไม่ตอบสนอง เมื่อฉันวิ่ง tcpdump -i ens19 icmp บนเครื่องเสมือน มันส่งคืนสิ่งนี้:

tcpdump: เอาต์พุต verbose ถูกระงับ ใช้ -v หรือ -vv สำหรับการถอดรหัสโปรโตคอลแบบเต็ม
กำลังฟัง ens19, ประเภทลิงก์ EN10MB (Ethernet), ขนาดการจับภาพ 262144 ไบต์
16:50:25.931910 IP 10.8.0.2 > 10.2.0.3: คำขอเสียงสะท้อน ICMP, id 1, seq 80, ความยาว 40
16:50:29.381784 IP 10.8.0.2 > 10.2.0.3: คำขอเสียงสะท้อน ICMP, id 1, seq 81, ความยาว 40

เอาต์พุตปิง:

ส่ง Ping 10.2.0.3 พร้อมข้อมูล 32 ไบต์:
คำขอหมดเวลา
คำขอหมดเวลา
คำขอหมดเวลา
คำขอหมดเวลา

เอาต์พุต tcpdump ของเครื่อง:

tcpdump: เอาต์พุต verbose ถูกระงับ ใช้ -v หรือ -vv สำหรับการถอดรหัสโปรโตคอลแบบเต็ม
กำลังฟัง tun0, RAW ประเภทลิงก์ (Raw IP), ขนาดการจับภาพ 262144 ไบต์
15:58:15.007090 IP 10.8.0.2 > 10.2.0.3: คำขอเสียงสะท้อน ICMP, id 1, seq 45, ความยาว 40

กฎ iptables ของฉัน:

Chain INPUT (นโยบายยอมรับแพ็กเก็ต 2806K, 1097M ไบต์)
 pkts bytes target prot เลือกใช้ปลายทางต้นทาง         
    0 0 ยอมรับทั้งหมด -- eth0 ทุกที่ ทุกรัฐที่เกี่ยวข้อง จัดตั้งขึ้น
 198K 27M ยอมรับ udp -- vmbr0 ได้ทุกที่ทุกที่ udp dpt: [พอร์ต openvn ของฉัน]
   40 2429 ยอมรับทั้งหมด -- tun0 ที่ไหนก็ได้            
    0 0 ยอมรับทั้งหมด -- จูน+ ที่ไหนก็ได้            
    0 0 ยอมรับทั้งหมด -- จูน+ ที่ไหนก็ได้            

เชน FORWARD (นโยบายยอมรับ 0 แพ็กเก็ต 0 ไบต์)
 pkts bytes target prot เลือกใช้ปลายทางต้นทาง         
 197K 16M ยอมรับทั้งหมด -- tun0 vmbr0 ทุกที่            
 177K 336M ยอมรับทั้งหมด -- vmbr0 tun0 ได้ทุกที่            
   45 2540 ยอมรับทั้งหมด -- tun0 ใด ๆ 10.8.0.0/24 10.2.0.3            
    2 104 ยอมรับทั้งหมด -- tun0 ใดๆ 10.8.0.0/24 10.2.0.0/24         
    0 0 ยอมรับทั้งหมด -- จูน+ ที่ไหนก็ได้            

Chain OUTPUT (นโยบายยอมรับแพ็กเก็ต 3102K, 1303M ไบต์)
 pkts bytes target prot เลือกใช้ปลายทางต้นทาง         
    0 0 ยอมรับทั้งหมด -- tun0 ใดก็ได้ทุกที่       

ตารางเส้นทางของฉัน:

เริ่มต้นผ่าน [my public ip] dev vmbr0 proto kernel onlink 
10.2.0.0/24 dev vmbr1 โปรโตเคอร์เนลขอบเขตลิงก์ src 10.2.0.1 
10.8.0.0/24 dev tun0 ลิงก์ขอบเขตเคอร์เนลโปรโต src 10.8.0.1 
[ip สาธารณะของฉัน] dev vmbr0 proto kernel scope link src [เกตเวย์ของฉัน] 

รายการกฎ IP:

0: จากการค้นหาทั้งหมดในท้องถิ่น 
32766: จากหลักการค้นหาทั้งหมด 
32767: จากค่าเริ่มต้นการค้นหาทั้งหมด 

หากคุณต้องการข้อมูลเพิ่มเติม ให้เพิ่มความคิดเห็น ขอโทษสำหรับภาษาอังกฤษที่ไม่ดีของฉัน

Karthik avatar
cn flag
คุณสามารถแก้ไขคำสั่ง `tcpdump` ด้วยคำสั่งทั้งหมดที่คุณใช้ในการจับแพ็กเก็ตได้หรือไม่
in flag
@Karthik บนเครื่อง VPN: `tcpdump -i tun0 icmp` บนเครื่องเสมือน: `tcpdump -i ens19 icmp`
Karthik avatar
cn flag
ขอบคุณ เพียงเดาคร่าวๆ `rp_filter` อาจทำให้เกิดปัญหาที่คล้ายกันเมื่อเรากำหนดเส้นทางการรับส่งข้อมูลผ่านอุโมงค์ อาจลองปิดการใช้งาน `rp_filter` และตรวจสอบปัญหาหรือไม่
in flag
@Karthik ฉันต้องปิดการใช้งานบนเครื่อง VPN หรือบนเครื่องเสมือน? และอินเทอร์เฟซสำหรับอะไร
Karthik avatar
cn flag
ลองปิดใช้งาน rp_filter สำหรับอินเทอร์เฟซ `ens19` ในเครื่องเสมือนที่มี `10.2.0.3`
in flag
@Karthik มันถูกปิดใช้งานสำหรับอินเทอร์เฟซทั้งหมดแล้ว แต่ฉันเปิดใช้งานสำหรับ ens19 แต่เครื่องเสมือนยังไม่ตอบสนอง
Karthik avatar
cn flag
หากคุณยังไม่ได้ โปรดลอง **ปิดการใช้งาน** `rp_filter` ของ `ens19` และตรวจสอบปัญหา หากยังไม่สามารถแก้ปัญหาได้ โปรดลองปิด/เปิดใช้งานอินเทอร์เฟซ `ens19`
in flag
@Karthik ใช่ ฉันได้ปิดการใช้งานแล้ว แต่ไม่มีอะไรเกิดขึ้น การปิดใช้งานและการเปิดใช้งานไม่ได้ช่วยอะไร
Tom Yan avatar
in flag
VM มีเส้นทางสำหรับ `10.8.0.0/24` (ผ่าน `10.2.0.1`) หรือไม่ นอกจากนี้ โปรดวาง `iptables-save` แทน ตรวจสอบให้แน่ใจว่าคุณมีเส้นทางที่นำทราฟฟิกสำหรับ `10.2.0.0/24` ไปยังอุโมงค์บนไคลเอนต์ VPN (หากคุณไม่ได้ใช้เส้นทาง `redirect-gateway` / `0.0.0.0/0`)
Karthik avatar
cn flag
ขอบคุณ @uQlel คุณช่วยตรวจสอบว่าการตอบสนอง ping ถูกปิดใช้งานในเคอร์เนลโดย `cat /proc/sys/net/ipv4/icmp_echo_ignore_all` หรือไม่
in flag
@Karthik ส่งคืน 0 Ping ทำงานจาก ens18 เช่นกันและ ping ทำงานจากเครื่อง vpn ไปยัง ens19 ของเครื่องเสมือน
in flag
@TomYan จะสร้างเส้นทางนี้ได้อย่างไร ฉันเป็นมือใหม่ที่เครือข่าย
Tom Yan avatar
in flag
รัน `ip r add 10.8.0.0/24 ผ่าน 10.2.0.1` บน VM สำหรับส่วน VPN ให้เพิ่ม `เส้นทาง 10.2.0.0 255.255.255.0` ไปยังไคลเอ็นต์ conf หรือเพิ่ม `พุช "เส้นทาง 10.2.0.0 255.255.255.0"` ไปยังเซิร์ฟเวอร์ conf สมมติว่าคุณกำลังใช้ `ไคลเอ็นต์` / ` ดึงคอนเฟิร์มลูกค้า โปรดทราบว่าเส้นทางเหล่านี้ไม่จำเป็น* หากทั้ง VM และไคลเอนต์ VPN ใช้เซิร์ฟเวอร์เป็นเกตเวย์เริ่มต้น
Tom Yan avatar
in flag
@uQlel Btw `sysctl net.ipv4.ip_forward` ส่งคืนอะไรบนเซิร์ฟเวอร์
Karthik avatar
cn flag
นอกจากนี้ คุณสามารถเรียกใช้ `tcpdump -ni โฮสต์ icmp ใด ๆ 10.8.0.2` และแบ่งปันผลลัพธ์ได้หรือไม่ และโปรด ping `10.2.0.3` จากภายในเครื่อง
in flag
@TomYan THX มันได้ผล!
Score:0
ธง in

โดย @TomYan

เรียกใช้ ip r เพิ่ม 10.8.0.0/24 ผ่าน 10.2.0.1 บน VM ในส่วนของ VPN เพิ่มเส้นทาง 10.2.0.0 255.255.255.0 ไปยังไคลเอนต์ conf หรือเพิ่ม กด "route 10.2.0.0 255.255.255.0" ไปที่เซิร์ฟเวอร์ conf สมมติว่าคุณ กำลังใช้ไคลเอนต์ / ดึงไคลเอนต์ conf โปรดทราบว่าเส้นทางเหล่านี้คือ ไม่จำเป็นหากทั้ง VM และไคลเอนต์ VPN ใช้เซิร์ฟเวอร์เป็น เกตเวย์เริ่มต้นของพวกเขา

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา