
Ich habe einen Server und eine virtuelle Maschine darauf. Auf diesem Server hoste ich OpenVPN. Die virtuelle Maschine hat zwei Schnittstellen: ens18 – für öffentliche IP, ens19 – für ein internes Netzwerk. Ich versuche, 10.2.0.3 (IP der virtuellen Maschine auf ens19) über VPN anzupingen, aber es antwortet nicht. Wenn ich es tcpdump -i ens19 icmp
auf der virtuellen Maschine ausführe, gibt es Folgendes zurück:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens19, link-type EN10MB (Ethernet), capture size 262144 bytes
16:50:25.931910 IP 10.8.0.2 > 10.2.0.3: ICMP echo request, id 1, seq 80, length 40
16:50:29.381784 IP 10.8.0.2 > 10.2.0.3: ICMP echo request, id 1, seq 81, length 40
Ping-Ausgabe:
Pinging 10.2.0.3 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
TCPdump-Ausgabe des Computers:
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
15:58:15.007090 IP 10.8.0.2 > 10.2.0.3: ICMP echo request, id 1, seq 45, length 40
Meine iptables-Regeln:
Chain INPUT (policy ACCEPT 2806K packets, 1097M bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- eth0 any anywhere anywhere state RELATED,ESTABLISHED
198K 27M ACCEPT udp -- vmbr0 any anywhere anywhere udp dpt:[my openvn port]
40 2429 ACCEPT all -- tun0 any anywhere anywhere
0 0 ACCEPT all -- tun+ any anywhere anywhere
0 0 ACCEPT all -- tun+ any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
197K 16M ACCEPT all -- tun0 vmbr0 anywhere anywhere
177K 336M ACCEPT all -- vmbr0 tun0 anywhere anywhere
45 2540 ACCEPT all -- tun0 any 10.8.0.0/24 10.2.0.3
2 104 ACCEPT all -- tun0 any 10.8.0.0/24 10.2.0.0/24
0 0 ACCEPT all -- tun+ any anywhere anywhere
Chain OUTPUT (policy ACCEPT 3102K packets, 1303M bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- any tun0 anywhere anywhere
Meine Routentabelle:
default via [my public ip] dev vmbr0 proto kernel onlink
10.2.0.0/24 dev vmbr1 proto kernel scope link src 10.2.0.1
10.8.0.0/24 dev tun0 proto kernel scope link src 10.8.0.1
[my public ip] dev vmbr0 proto kernel scope link src [my gateway]
IP-Regelliste:
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
Wenn Sie zusätzliche Informationen benötigen, fügen Sie einen Kommentar hinzu. Entschuldigen Sie mein schlechtes Englisch
Antwort1
Von @TomYan
Führen Sie ip r add 10.8.0.0/24 via 10.2.0.1 auf der VM aus. Fügen Sie für den VPN-Teil entweder die Route 10.2.0.0 255.255.255.0 zur Client-Konfiguration hinzu oder fügen Sie push "route 10.2.0.0 255.255.255.0" zur Server-Konfiguration hinzu, vorausgesetzt, Sie verwenden client / pull auf der Client-Konfiguration. Beachten Sie, dass diese Routen nicht erforderlich sind, wenn sowohl die VM(s) als auch die VPN-Clients den Server als Standard-Gateway verwenden.