网络 - 如何找出我的 OpenVPN 服务器覆盖源地址的原因?

网络 - 如何找出我的 OpenVPN 服务器覆盖源地址的原因?

情况
我有一个连接到 OpenVPN 网络的服务器和一个客户端。两者都分配了虚拟 IP 地址 -10.10.1.6用于服务器和10.10.1.14客户端。服务器开始监听端口8090。客户端连接服务器并绑定到端口4444。从服务器的角度来看,我希望源 IP 和源端口为10.10.1.14:4444,但事实并非如此10.10.1.1:4444

更大的图景
有一个 IOT 设备 (RPi3) 和一个连接到 VPN 的服务器。服务器需要能够寻址 IOT 设备(这是既定事实),因此 IOT 设备会定期“ping”服务器,以便跟踪它们的地址(类似于 lwm2m 注册机制)。

附加信息

pi@raspberrypi:~/ $ ip addr
...
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none 
    inet 10.10.1.14 peer 10.10.1.13/32 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 ... /64 scope link flags 800 
       valid_lft forever preferred_lft forever
>>> ip addr # server
...
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
    link/none 
    inet 10.10.1.6 peer 10.10.1.5/32 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 ... /64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

测试源地址

pi@raspberrypi:~/ $ echo "hello" | ncat -p 4444 10.10.1.6 8090
-----------------------------------------------------------------------
>>> ncat -vvv -l -p 8090    # server
Ncat: Version 7.70 ( https://nmap.org/ncat )
Ncat: Listening on :::8090
Ncat: Listening on 0.0.0.0:8090
...
Ncat: Connection from 10.10.1.1.
...
Ncat: Connection from 10.10.1.1:4444.
...
hello
...

我有与以下相同的 OpenVPN 配置https://www.howtoforge.com/tutorial/how-to-install-openvpn-server-and-client-with-easy-rsa-3-on-centos-7/第 4 步 - 配置 OpenVPN

话虽如此,我如何“强制”OpenVPN 向我传递“真实”虚拟源地址?我是初学者,所以请耐心等待。

编辑
我尝试ncat在同一台机器上运行客户端和监听器进行测试,因此具有相同的虚拟 IP 地址,并且一切正常。

答案1

该地址是和10.10.1.1之间流量的网关路由。OpenVPN 客户端默认无法互相看到。10.10.1.610.10.1.14

添加client-to-client/etc/openvpn/server.conf问题解决。

维基百科这个答案. 另一个解决方案是“桥接”选项这里

相关内容