正确的地方宣传OpenVPN路由到EC2实例?

build立

我有一个OpenVPN服务器在AWS中运行良好。 我的团队中的每个人都可以使用它来访问AWS中的任何服务器。

需要

现在我有一个新的需要。 现在,AWS中的服务器需要能够通过VPN连接到一台(但一切正常)。 从VPN服务器本身,我可以到达机器(这是一个路由器)和它可以在networking上看到的所有机器。 但是,AWS中的其他服务器都不可以。

问题

哪里是正确的地方广告(数据中心的机器)请求10.10.10.0/16(远程VPN连接站点)的请求应通过我的VPN服务器路由?

我使用VPN服务器地址上的哪个接口?

细节

  • AWS VPC CIDR:172.31.0.0/16
    • openvpn.conf: push "route 172.31.0.0 255.255.0.0"
  • OpenVPN服务器IP:172.31.17.151
  • OpenVPN服务器客户端CIDR:172.141.0.0/17
    • openvpn.conf: server 172.141.0.0 255.255.128.0
  • 客户:10.10.10.1
    • openvpn.conf: route 10.10.10.0 255.255.255.0
    • openvpn.conf: push "route 10.10.10.0 255.255.255.0"
    • ccd / commonname: ifconfig-push 10.10.10.1 10.10.10.2
    • ccd / commonname: iroute 10.10.10.0 255.255.255.0
  • 客户端:10.10.10.101

OpenVPN的ifconfig

 eth0 Link encap:Ethernet HWaddr 06:52:B7:00:71:F9 inet addr:172.31.17.151 Bcast:172.31.17.255 Mask:255.255.255.0 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:172.141.0.1 PtP:172.141.0.2 Mask:255.255.255.255 

OpenVPN的iptables

 Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:1194 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 Chain FORWARD (policy ACCEPT) num target prot opt source destination 1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 2 ACCEPT all -- 172.31.0.0/16 0.0.0.0/0 3 ACCEPT tcp -- 172.127.0.0/20 172.31.6.110 tcp dpt:22 4 REJECT tcp -- 172.127.0.0/20 0.0.0.0/0 tcp dpt:22 reject-with icmp-host-prohibited 5 ACCEPT all -- 172.127.0.0/20 0.0.0.0/0 6 ACCEPT tcp -- 172.141.0.0/17 172.31.6.110 tcp dpt:22 7 REJECT tcp -- 172.141.0.0/17 0.0.0.0/0 tcp dpt:22 reject-with icmp-host-prohibited 8 ACCEPT all -- 172.141.0.0/17 0.0.0.0/0 9 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable Chain OUTPUT (policy ACCEPT) 

在AWS中向其他机器公布VPN路由的正确位置在子网路由表中。

要做到这一点:

  • VPC>子网> [给予访问的子网]>路由表> [路由表名称]
  • 路线>编辑>添加另一条路线
    • 目的地: 10.10.10.0/24 (匹配“路线10.10.10.0 255.255.255.0”)
    • 目标: eni-a1b2c3d4 (与172.31.17.151关联的networking接口的ID)

您还必须更改networking接口的“源/目标检查”。

要做到这一点:

  • EC2>networking接口> [与VPN内部IP关联的接口]
  • 操作>更改源/目标。 检查
    • 源/目标。 检查:禁用

什么没有工作是添加到单台机器的路线。

我希望我能得到同样的效果,但在一台机器上,通过这样做:

 sudo ip addr add 172.31.17.151 dev eth0 sudo ip route add 10.10.10.0/24 via 172.31.17.151 dev eth0 

那对我没有用。 我很想知道为什么。