首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >到远程主机的openvpn主机到主机访问子网

问到远程主机的openvpn主机到主机访问子网
EN

Stack Overflow用户
提问于 2020-01-24 19:07:00
回答 2查看 989关注 0票数 0

我不太擅长联网,正在尝试远程控制另一个网络上的一些计算机。我已经为openvpn设置了VPN via和AWS AMI镜像设置。亚马逊网络服务机器在EC2上,有一个静态的公共IP地址。我可以将家庭计算机和远程计算机连接到此VPN,并且我可以在远程计算机上使用SSH。

我正在尝试让家庭pc与远程pc子网通信。我可以从家用pc与远程pc通话,但无法与远程pc子网中的计算机通话。

子网A实际上是10.1.6.0/24,子网B是10.1.1.0/24

我假设两端都需要一些手动路由,但我不知道该放在哪里。

另一个想法是在每台远程PC上设置开放的vpn,但如果可能的话,我想避免这种情况。

OpenVPN client A to client B subnet communication

关于同样问题的其他一些帖子,但我不能理解它们- https://serverfault.com/questions/861870/how-to-let-an-openvpn-client-access-to-another-clients-subnet ...但由于某些原因,指向stackoverflow帖子的OP链接已被删除。

https://serverfault.com/questions/480069/how-to-force-all-traffic-through-vpn

EN

回答 2

Stack Overflow用户

发布于 2020-01-26 14:56:50

我所做的是在我想要连接到其网络的客户端上运行另一台服务器。它的开销不是很大。在客户端上,您需要确保它正在使用桥,并运行以下命令(在Linux上):

代码语言:javascript
复制
brctl addif br0 tap0
ifconfig tap0 0.0.0.0 promisc up

确保在所有服务器上启用了client-to-client。我可以通过这种方式访问所有客户端的本地网络。您需要从连接的PC上安装两个TAP适配器:一个用于亚马逊OpenVPN服务器,另一个用于客户端服务器。

票数 0
EN

Stack Overflow用户

发布于 2020-01-28 18:04:57

点击此处:https://forums.openvpn.net/viewtopic.php?t=9465

作者有4个方法,其中2个和3个解决了我的用例,我省略了第4个方法,因为它相当长。

站点A本地网络为192.168.0.0/255.255.255.0。默认网关的IP地址为192.168.0.1 (通用配置)。运行OpenVPN的主机的Ip是192.168.0.A,其中A可以是2到254中的任意一个。主机具有192.168.0.x这样的IP,其中x是2到254,不同于A(OpenVPN的主机IP)。

站点B本地网络是192.168.1.0/255.255.255.0。默认网关的IP地址为192.168.1.1 (通用配置)。运行OpenVPN的主机的Ip是192.168.1.B,其中B可以是2到254之间的任何值。主机具有192.168.1.x这样的IP,其中x是2到254,不同于B(OpenVPN的主机IP)。

VPN IP来自10.8.0.0/255.255.255.0。

在讨论这件事时,哪一个站点是服务器或客户端,以及哪些IP获得了TAP接口并不重要。要解决此路由问题,有4种方法:

方法1很明显,将OpenVPN软件移到局域网的默认网关。由于在某些情况下这是不可能的(简单的路由器不能运行OpenVPN),这种方法对于将来的扩展是最好的,因为添加更多的远程站点将不会涉及返回的路由问题。

方法2将远程网络的静态路由添加到每台主机的路由表。在每个主机上,我们必须像这样添加一个路由: CODE: SELECT ALL

路由添加掩码gw例如,在来自站点A的每个主机上,我们必须添加两个路由: CODE: SELECT ALL

路由添加192.168.1.0掩码255.255.255.0 gw 192.168.0添加路由10.8.0.0掩码255.255.255.0 gw 192.168.0可以省略VPN网络10.8.0.0的路由,但不推荐。

与我们在站点B上添加路由的方式相同,以显示主机将远程站点的数据包路由到何处: CODE: SELECT ALL

路由添加192.168.0.0掩码255.255.255.0 gw 192.168.1.B路由添加10.8.0.0掩码255.255.255.0 gw 192.168.1.B如果有第三个站点,我们必须以同样的方式为新的远程网络添加另一个路由。

路由也必须添加到默认LAN的网关上。尽管如此,似乎许多路由器都能够返回响应,而无需为远程网络添加路由器。

方法3此方法意味着仅在局域网的默认网关上添加与方法2中相同的路由。因此,重定向将由路由器保持,我们不需要在每台主机上添加路由。当然,如果路由器允许修改路由表和iptable,这也是可能的。与方法2相同,我们在默认路由器上添加到远程站点的路由: CODE: SELECT ALL

路由添加掩码gw例如,在IP为192.168.0.1的站点A的默认网关上,我们必须添加两条路由: CODE: SELECT ALL

路由添加192.168.1.0掩码255.255.255.0 gw 192.168.0添加路由添加10.8.0.0掩码255.255.255.0 gw 192.168.0.A但这将仅显示向何处发送源自其自身的分组的网关。我们还需要展示如何从本地主机路由远程站点的数据包。为此,我们必须在路由器iptable中添加一个规则,该规则将告诉所有从局域网接口传入且目的地为远程站点网络的数据包都必须重定向到OpenVPN主机。大多数处理更广泛定制的路由器都有能力使用类似unix的命令"iptables“。因此,我们像这样使用iptables规则: CODE: SELECT ALL

iptables -A PREROUTING -t mangle -i -d / -j ROUTE --gw例如,在来自站点A的默认路由器上,我们将添加:代码:全选

iptables -A PREROUTING -t mangle -i -d 192.168.1.0/255.255.255.0 -j ROUTE --gw 192.168.0。A iptables -A PREROUTING -t mangle -i -d 10.8.0.0/255.255.255.0 -j ROUTE --gw 192.168.0。

如果我们添加第三个站点,那么我们将不得不以相同的方式向其他站点添加到第三个站点网络的路由。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59895209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档