Amazon-Ec2

AWS EC2 和 OpenVPN

  • March 30, 2016

我已經嘗試了幾個小時讓 OpenVPN 與 AWS EC2 一起工作,但沒有任何運氣。它與任何人都會想到的設置相同:在伺服器上執行 Openvpn 以訪問 VPC(私有地址空間)內的資源。

我已經關閉了所有實例上的“檢查源/目標”地址,但沒有運氣。

VPN:10.9.0.0/16 VPC:172.16.0.0/16

我可以很好地連接到 VPN 並 ping 10.9.0.x。也可以在與 VPN 相同的盒子上 ping 私人地址。這兩個盒子可以相互ping通(私人或公共)就好了。

問題出在 AWS 上。我可以對此進行 NAT 以使其認為數據包來自私有地址空間嗎?

[root - openvpn]# tcpdump -i any -n icmp
01:15:00.571096 IP 10.9.0.6 > 172.31.88.99: ICMP echo request, id 56638, seq 16, length 64
01:15:00.571125 IP 10.9.0.1 > 10.9.0.6: ICMP host 172.31.88.99 unreachable - admin prohibited, length 92

您需要執行幾個步驟。

在 openvpn 伺服器上,您必須確保打開 ip 轉發

echo 1 > /proc/sys/net/ipv4/ip_forward

如果您希望目標主機看到 VPN IP,則不需要任何花哨的 NAT 或 MASQ 規則用於 openvpn(我認為您應該這樣做)

在 AWS 方面,您需要確保您的路由表設置為將 VPN CIDR (10.9.0.0/16) 路由回 openvpn 伺服器。

引用自:https://serverfault.com/questions/766924