Centos

將子網路由到 OpenVPN 客戶端(tcpdump 顯示沒有 icmp)

  • November 1, 2016

我有一個 OpenVPN 伺服器,網路為 172.24.24.0/29(IP:172.24.24.1)。Raspberry (172.24.24.2) 連接到此 OpenVPN 伺服器。

Raspberry 可以訪問我的本地網路 192.168.2.0/24,並且應該允許 OpenVPN 伺服器通過 NAT 訪問該網路。

兩者都啟用了核心轉發。

  • 從 OpenVPN 伺服器 ping 到 Raspberry,反之亦然
  • 從 Raspberry Ping 到本地 LAN 的工作反之亦然
  • 從 OpenVPN 伺服器 Ping 到本地 LAN 不起作用

OpenVPN 伺服器:

[root@openvpn ~]# ip route
172.24.24.0/29 dev tun1  proto kernel  scope link  src 172.24.24.1
192.168.2.0/24 via 172.24.24.2 dev tun1

[root@openvpn ~]# ip route get 192.168.2.101
192.168.2.101 via 172.24.24.2 dev tun1  src 172.24.24.1

從 OpenVPN 伺服器 Ping 192.168.2.101。然而,在 Raspberry 上,沒有數據包顯示在帶有tcpdump. 但tcpdump顯示傳出數據包:

[root@openvpn ~]# tcpdump -ni tun1 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun1, link-type RAW (Raw IP), capture size 65535 bytes
20:10:00.610156 IP 172.24.24.1 > 192.168.2.101: ICMP echo request, id 3413, seq 1, length 64
20:10:01.616216 IP 172.24.24.1 > 192.168.2.101: ICMP echo request, id 3413, seq 2, length 64

覆盆子

  • VPN-IP: 172.24.24.2 (tun0)
  • 本地區域網路:192.168.2.101 (eth0)

iptables:(所有鏈的策略接受)

-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 172.24.24.0/29 -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -j ACCEPT
-A POSTROUTING -o eth0 -j MASQUERADE

路由表

default via 192.168.2.1 dev eth0
172.24.24.0/29 dev tun0  proto kernel  scope link  src 172.24.24.2
192.168.2.0/24 dev eth0  proto kernel  scope link  src 192.168.2.101

我最初認為這是由於 iptables 規則或 NAT。沒有包到達樹莓的 tun0 介面,我覺得很不尋常,我猜是錯誤所在。

此設置中的錯誤可能在哪裡?我非常感謝您能提供的任何幫助。

我在德國 Synology 論壇中找到了解決方案。

需要在 OpenVPN 伺服器上進行進一步設置。可以在此處找到配置:“使用路由 VPN (dev tun) 時在客戶端包括多台機器”

引用自:https://serverfault.com/questions/811740