AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1123321
Accepted
mreferre
mreferre
Asked: 2023-02-20 18:51:27 +0800 CST2023-02-20 18:51:27 +0800 CST 2023-02-20 18:51:27 +0800 CST

AWS 上的 OpenVPN(在 NAT 模式下工作,但在路由模式下不起作用)

  • 772

我有一个全新的 VPC (10.0.0.0/16),有 3 个公共子网(指向一个 IGW)和 3 个私有子网(每个子网都有一个 NAT GW)。我已经在公共子网中部署了一个 OpenVPN 设备并将其配置为使用 NAT 模式(Yes, using NAT在路由配置中)。我在其中一个私有子网中也有一个测试实例。OpenVPN 实例和测试实例都具有具有“慷慨”灵活性的 SG 组(即允许进出的所有内容......用于测试目的)。10.0.0.0/16在我现场配置的 OpenVPN 上Specify the private subnets to which all clients should be given access (one per line):。

从我的 Mac(在家庭网络 192.168.178.0/24 上)我可以建立一个隧道,我可以很容易地到达测试实例。都好。

现在我想切换到路线模式。

  • 我将路由模式更改为Yes, using Routing. 我禁用了 OpenVPN 实例上的源/目标检查。
  • 我向 VPC 中的所有 4 个路由表(3 个私有子网和 1 个公共子网)添加了一个静态死记硬背,表示定向到192.168.178.0/24(我的家庭网络)的流量应该转到 OpenVPN 实例(可能这不是必需的公共子网)。
  • 除了. 192.168.178.0/24_ Specify the private subnets to which all clients should be given access (one per line):_10.0.0.0/16
  • 我已经为我用来登录的用户重新配置了用户权限Use Routing,并再次指定了上面的两个子网(10. 和 192.)。

我仍然可以建立隧道。我可以访问 OpenVPN 实例的内部 IP:

$ traceroute 10.0.4.223          
traceroute to 10.0.4.223 (10.0.4.223), 64 hops max, 52 byte packets
 1  10.0.4.223 (10.0.4.223)  178.345 ms  174.470 ms  173.680 ms
$

但我无法访问私有子网中的测试实例:

$ traceroute 10.0.165.139
traceroute to 10.0.165.139 (10.0.165.139), 64 hops max, 52 byte packets
 1  172.27.232.1 (172.27.232.1)  194.976 ms  177.014 ms  174.402 ms
 2  * * *
 3  * * *
 4  * * *
^C
$

有趣的是,如果我通过 ssh 进入我的 OpenVPN 服务器并尝试在我启动隧道的本地工作站上卷曲 NGINX,我将无法访问它。看起来工作站可以连接到 OpenVPN 服务器(请参阅上面的跟踪10.0.4.223),但 OpenVPN 服务器无法连接到工作站(出于某些原因)。

看起来从工作站发起的流程能够找到通往(和返回)OpenVPN 实例的路由。然而,路由在从工作站到测试实例(和返回)的某处中断,并且当从 OpenVPN 实例启动到工作站时它似乎也在中断(参见 curl)。

vpn
  • 1 1 个回答
  • 20 Views

1 个回答

  • Voted
  1. Best Answer
    mreferre
    2023-02-24T21:26:03+08:002023-02-24T21:26:03+08:00

    我最终发现无法将 OpenVPN 访问服务器设备配置为连接回本地子网上客户端的本机 IP。但是,可以通过 VPN 分配的隧道 IP 访问客户端。此 IP 可以基于每个用户静态配置,也可以来自设备上定义的池。

    在我的例子中,我已经配置了两者(见图)。

    在此处输入图像描述

    重要的是要知道这(这些)也是路由信息中需要使用的子网。也就是说,位于 10.0.0.0/16 网络中的 IP 可以将客户端设备连接到分配的 172.27 地址之一,因此需要在路由表中指定 172.27 网络(而不是本地本地网络)客户端设备 - 在我的示例中为 192.168.178.0/24)。

    • 0

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • 用 D-LINK DFL-CPG310 防火墙替换 Cisco Pix 防火墙

  • 最好的点对点 VPN?

  • WAN 上的 VLAN

  • 通过 VPN 连接什么是远程服务器 IP?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve