OpenVPN:将一个 IP 从客户端局域网转发到服务器

OpenVPN:将一个 IP 从客户端局域网转发到服务器

我的设置如下:

  • 具有公共 IP 地址的服务器(ubuntu 服务器)1.2.3.4充当 OpenVPN 服务器
  • RaspberryPi(raspbian)连接到 OpenVPN 服务器,地址10.8.0.6在 OpenVPN 网络中,本地地址在物理网络中192.168.178.36
  • “Lan-Client”与树莓派在同一个物理网络中,具有本地地址192.168.178.56
  • “客户端”与树莓派在同一个 OpenVPN 网络中,地址为10.8.0.10

使用我当前的设置,“客户端”和 raspberry pi 已成功连接到 openvpn 服务器并可以相互通信。现在我想使用 raspberry pi 作为路由器将“lan-client”转发到 openvpn 网络,以便连接到 openvpn 服务器的每个客户端都可以访问它。

我无法在“lan-client”上安装 OpenVPN,也无法对其进行某些端口转发或更改任何配置。

使用 OpenVPN 是否可行?如果可行,我该怎么做?我只想转发这个特定的 IP,而不是 raspberry pis 局域网中的所有客户端。

我当前的配置如下:

服务器配置文件

port  1194
proto udp
dev   tun

ca   /etc/certs/ca.crt
cert /etc/certs/server.crt
key  /etc/certs/server.key

dh   /etc/certs/dh4096.pem

cipher AES-256-CBC

server    10.8.0.0 255.255.255.0
keepalive 10 120
client-to-client

ifconfig-pool-persist /etc/openvpn/ipp.txt
client-config-dir /etc/openvpn/ccd

persist-key
persist-tun

status     /var/log/openvpn/status.log
log        /var/log/openvpn/openvpn.log
log-append /var/log/openvpn/openvpn.log

verb 3

ipp.txt(服务器)

client-rpi,10.8.0.4

ccd/客户端-rpi(服务器)

ifconfig-push 10.8.0.6 10.8.0.1

客户端配置文件(树莓派)

client
dev     tun
proto   udp
remote  1.2.3.4 1194

resolv-retry infinite
nobind
persist-key
persist-tun

ca   /etc/certs/ca.crt
cert /etc/certs/client-rpi.crt
key  /etc/certs/client-rpi.key

cipher AES-256-CBC

remote-cert-tls server

verb 3

尽管我只想路由一个 IP 地址,但我已经按照网上的一些指南来路由整个局域网。为了做到这一点,我添加了

route 192.168.178.0 255.255.255.0

服务器配置文件

iroute 192.168.178.0 255.255.255.0

ccd/客户端-rpi配置。当我尝试192.168.178.20在服务器上 ping 时,我收到 100% 的数据包丢失(无响应)。在 Raspberry Pi 上,它看起来像这样:

$ sudo tcpdump -i tun0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 262144 bytes
09:39:09.863118 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id     19467, seq 1, length 64
09:39:10.869903 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 2, length 64
09:39:11.878093 IP 10.8.0.1 > 192.168.178.20: ICMP echo request, id 19467, seq 3, length 64

当我从 Raspberry Pi(与目标位于同一物理网络中) ping 相同的地址时,一切都按预期正常工作,因此不是目标防火墙丢弃了请求。

我的猜测是,Raspberry Pi 接收 ping 请求并转发它,但目标192.168.178.20不知道如何响应。问题是,正如前面提到的,我无法更改该设备上的路由表或其他设置。我只能访问服务器和 Raspberry Pi。我的理解正确吗?有解决方案吗?还是只是我的配置错误和误解?也可能是 Raspberry Pi 的路由问题,但我不知道如何解决这个问题。

相关内容