我需要根据这个模式通过VPS链接两个子网:
192.168.1.0/24 -> VPN客户端-> VPS <- 192.168.2.0/24
例如,我想从192.168.1.0/24达到192.168.2.2,反之亦然。我创建了两个OpenVPN隧道,使得192.168.1.0/24连接到第一个隧道,192.168.2.0/24连接到第二个隧道。当然,我设置了静态路由,将192.168.2.0/24添加到第一隧道的本地网络,将192.168.1.0/24添加到第二隧道的本地网络。
问题是我无法从客户那里得到任何东西。
发布于 2019-10-14 22:19:20
我实际上使用了类似的东西来连接到我的家庭网络,从互联网。
我的家庭网络是在运营商级网络后面,所以我必须跳过所有的箍,以使用VPN。
缺点:当我们测量VPN上的带宽与原始的Internet连接时,性能非常差。
提示:我有一个300/300 Mbps的连接,但我在VPN上最多测量了17 Mbps。
我使用OpenVPN作为我的VPN服务器。主要是因为我需要一个支持TCP包的VPN服务器,因为我无法通过UDP保持VPN连接的活力。
这是如此糟糕,我需要设置我的保持活计时器为10秒或更短,否则运营商级NAT将放弃我的VPN连接从我的家庭网络到VPN服务器。:-(
所以我的建议是:如果你想要你的VPN连接的最佳性能。如果有可能,切换到UDP包。
我的VPN网络目前是不活跃的,所以下面提供的信息可能到处都有错误,但是总的想法应该是可行的。
不管怎么说。继续我的设置:

大多数魔术发生在VPN服务器上。
我的每个客户端使用唯一的客户端证书连接到我的服务器。我使用客户端证书提供的CommonName在客户端配置目录中查找进一步的设置。
我的VPN服务器托管在一个VPS托管设施(TransIP.eu)中,它位于一个与我完全不同的国家。我选择它们是因为它们很便宜,而且VPN服务器连接Internet的速度非常快(10 Gbps)。
你不需要使用我的VPS提供者。任何人都可以这样做,只要您能够自己配置OpenVPN。:-)
我的解决方案基本上是建立在这样的基础上的:
我的server.conf中的重要行:
# The actual VPN net.
# Each VPN client connected to the VPN server can ping each other
# on the 192.168.100.0/24 subnet.
server 192.168.100.0 255.255.255.0
# I can't really remember if I need to push the 192.168.100.0/24 subnet
# from the general settings to the client.
#
# All VPN clients gets an IP address from this range.
#
# Comment it out if not needed.
push "route 192.168.100.0 255.255.255.0
ifconfig-pool-persist ipp.txt
# Location of the client specific configuration files.
# It is in the 'ccd/' subfolder.
client-config-dir ccd
# Neccessary so that each VPN client can see each other (aka 'ping').
client-to-client在我的ccd子文件夹中,我有以下文件:
RasberryPi4
MyFriend文件RasberryPi4的内容:
ifconfig-push 192.168.100.2 255.255.255.0
push "route 192.168.0.0 255.255.255.0 192.168.100.3 1"
iroute 192.168.1.0 255.255.255.0文件MyFriend的内容:
ifconfig-push 192.168.100.3 255.255.255.0
push "route 192.168.1.0 255.255.255.0 192.168.100.2 1"
iroute 192.168.0.0 255.255.255.0现在假设客户端将VPN服务器与具有CommonName "RasberryPi4“的客户端证书连接,而另一个客户端证书具有CommonName "MyFriend”。
我的手机没有特殊的文件,所以当它连接到VPN服务器时,它会在192.168.100.0/24子网上分配一个可用的ip地址,但是它不能到达192.168.0.0/24或192.168.1.0/24子网。
如果我想同时访问两个子网,并且我的电话证书具有CommonName MyPhone,那么我需要在ccd子目录中的另一个文件,名为MyPhone,至少具有以下这些最小设置:
push "route 192.168.0.0 255.255.255.0 192.168.100.3 1"
push "route 192.168.0.0 255.255.255.0 192.168.100.2 1"我还扩展了上面的配置,这样我就可以将/48 IPv6子网从飓风电气中分离出来,这样我和我的朋友在家里就各自有了自己的/56 IPv6子网,每个有IPv6地址的人都可以访问这个子网。
..。但这是一个完全不同的故事。:-)
希望这能有所帮助。:-)
https://serverfault.com/questions/987967
复制相似问题