数据包未通过 ec2 实例中的 openvpn 隧道路由

数据包未通过 ec2 实例中的 openvpn 隧道路由

我正在 aws ec2 实例上设置 openvpn 服务器。此实例有两个接口:

  • 一个属于私有子网 (10.10.0.0/17) 的接口
  • 一个属于公共子网 (10.10.128.0/17) 的接口

我的目标是允许来自互联网的流量通过 VPN 与私有子网中的实例进行通信。 这是一个架构

外部和公共接口之间的连接已建立良好。私有接口和私有子网中的实例之间也建立了连接。

当我尝试从外部客户端 ping 私有实例时,问题就出现了。我可以看到“初始化序列已完成”消息,但似乎没有流量通过隧道路由。实际上似乎根本找不到任何路由,即使目的地是 VPN 服务器本身:

跟踪路由到服务器 tun 接口

客户端上的连接日志

服务器上的连接日志

尽管在创建路由时似乎有错误,但它存在于内核路由表中,所以我猜问题不是出在这里:

客户端上的路由命令

这是我的客户端配置:

client
dev tun
proto udp
remote <server_ip> 1194
route 10.10.0.0 255.255.128.0
nobind
resolv-retry infinite
persist-key
persist-tun
comp-lzo 
verb 3
cipher AES-256-CBC
<ca>
-----BEGIN CERTIFICATE-----
<SNIP>
-----END CERTIFICATE-----
</ca>
<cert>
Certificate:
<SNIP>
-----BEGIN CERTIFICATE-----
<SNIP>
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
<SNIP>
-----END CERTIFICATE-----
</cert>
<key>
-----BEGIN PRIVATE KEY-----
<SNIP>
-----END PRIVATE KEY-----
</key>

服务器端:


local 0.0.0.0 

port 1194

proto udp

dev tun

ca /etc/openvpn/easy-rsa/pki/ca.crt
cert /etc/openvpn/easy-rsa/pki/issued/server.crt
key /etc/openvpn/easy-rsa/pki/private/server.key  

dh /etc/openvpn/easy-rsa/pki/dh.pem

topology subnet

server 10.10.0.0 255.255.128.0

#client-to-client communication
duplicate-cn

keepalive 10 120

cipher AES-256-CBC

comp-lzo

persist-key
persist-tun

status openvpn-status.log

verb 3

mute 10

explicit-exit-notify 1

我已经从头到尾按照 openvpn 操作指南操作了,但真的不知道我遗漏了什么。提前感谢您的帮助!

相关内容