我希望有人能帮我解决这个问题,因为这个问题让我有点困惑。基本问题是 OpenVPN 隧道两端的客户端无法相互通信。目标是他们可以/应该能够这样做。
我的设置是:
AWS pfSense:
WAN = 10.0.5.145
(同时附加一个公共 IP)
服务器配置:
dev ovpns1
verb 1
dev-type tun
dev-node /dev/tun1
writepid /var/run/openvpn_server1.pid
#user nobody
#group nobody
script-security 3
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
proto udp4
cipher AES-128-CBC
auth SHA256
up /usr/local/sbin/ovpn-linkup
down /usr/local/sbin/ovpn-linkdown
local 10.0.5.145
ifconfig 172.26.44.1 172.26.44.2
lport 1194
management /var/etc/openvpn/server1.sock unix
max-clients 20
route 10.50.2.0 255.255.255.0
secret /var/etc/openvpn/server1.secret
Netgate SG-1100:
WAN:( 10.50.1.101/24
由于硬件可用,因此必须进行双重 NAT)
LAN:10.50.2.1/24
客户端配置:
dev ovpnc2
verb 1
dev-type tun
dev-node /dev/tun2
writepid /var/run/openvpn_client2.pid
#user nobody
#group nobody
script-security 3
daemon
keepalive 10 60
ping-timer-rem
persist-tun
persist-key
proto udp4
cipher AES-128-CBC
auth SHA256
up /usr/local/sbin/ovpn-linkup
down /usr/local/sbin/ovpn-linkdown
local 10.50.1.101
lport 0
management /var/etc/openvpn/client2.sock unix
remote REDACTED 1194
ifconfig 172.26.44.2 172.26.44.1
route 10.0.4.0 255.255.252.0
secret /var/etc/openvpn/client2.secret
resolv-retry infinite
我是能够建立隧道,并且从客户端的笔记本电脑(10.50.2.100
),我可以 ping 客户端 LAN IP(10.50.2.1
)以及服务器的“本地”IP(10.0.5.145
)。客户端笔记本电脑有 SG-1100 的 GW,当我执行 时,route print
它显示0.0.0.0/0
指向10.50.2.1
,但没有指向 AWS IP 范围(10.0.4.0/22
)的具体内容。我不能连接到 AWS 范围内的任何内容,甚至是其 SG 中明确设置为“允许来自所有来源的所有端口”的实例。
从 SG-1100 WebGUI,我能只要我在执行此操作时选择“OpenVPN”接口,即可 ping/trace/telnet 到任何 AWS 实例/端口。LAN 和 WAN 接口失败。
从 AWS 中的任何实例,我不是无法连接到 SG-1100 的 LAN 接口,也无法连接到客户端笔记本电脑,但是是能够从 WebGUI ping/trace/telnet,只要我在执行这些操作时选择“OpenVPN”界面。
AWS VM 和 SG-1100 中的防火墙规则都是全面“允许所有”(在“OpenVPN”规则中),并且两处路由都显示对面的网络通过隧道 IP 范围(172.26.44.0/24
)。
我有点不知所措,希望有人能帮助/指导我正确的方向。如果我遗漏了任何需要的关键细节,请告诉我。
非常感谢您的帮助!