设置
我在 AWS 上有一个运行良好的 OpenVPN 服务器。我团队中的每个人都可以使用它来访问 AWS 中的任何服务器。
需要
现在我有了一个新的需求。现在 AWS 中的服务器需要能够访问通过 VPN 连接的一台机器(但所有机器都可以)。从 VPN 服务器本身,我可以访问该机器(即路由器)及其网络上可以看到的所有机器。但是,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.conf:
- OpenVPN 服务器 IP:172.31.17.151
- OpenVPN 服务器客户端 CIDR:172.141.0.0/17
- openvpn.conf:
server 172.141.0.0 255.255.128.0
- openvpn.conf:
- 要联系的客户端: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/通用名称:
ifconfig-push 10.10.10.1 10.10.10.2
- ccd/通用名称:
iroute 10.10.10.0 255.255.255.0
- openvpn.conf:
- 要联系的客户端对等点: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 P-t-P: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)
答案1
将 VPN 路由通告给 AWS 中其他机器的正确位置是在子网路由表中。
要做到这一点:
- VPC > 子网 > [授予访问权限的子网] > 路由表 > [路由表名称]
- 路线 > 编辑 > 添加另一条路线
- 目的地:(
10.10.10.0/24
匹配“路由 10.10.10.0 255.255.255.0”) - 目标:(
eni-a1b2c3d4
与 172.31.17.151 关联的网络接口的 ID)
- 目的地:(
您还必须更改网络接口的“源/目标检查”。
要做到这一点:
- EC2 > 网络接口 > [与 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
这对我来说不起作用。我很想知道为什么。