我已经为此工作了几个星期,但似乎没有取得进展。
我有一个硬件 pfSense 作为我的互联网路由器,除了我无法连接到在 pfSense 上运行的 OpenVPN 服务器之外,一切运行正常。
在将 pfSense 设置为路由器之前,我将其放在旧路由器后面,旧路由器充当假 WAN,并测试了我的 VPN 设置 - 我能够连接。但我无法让它在我的 ISP 网络中工作。
我已经尝试过(按此顺序):
- UDP 传入端口 1195
- UDP 传入端口 1194
- TCP 传入端口 1194
- TCP 传入端口 443
似乎什么都不起作用 - tcpdump 没有显示这些端口上的任何内容:(
tcpdump -lnni igb0 port 1194 and src host xxx.76.19.66
我正在连接的远程 IP)
我在 pfSense 上的配置遵循官方指南和向导设置:
- 服务器模式为远程访问(SSL/TLS + 用户认证)
- TLS 密钥设置
- 证书测试和设置
- IPv4 隧道网络:10.0.8.0/24
- IPv4 本地网络:192.168.10.0/24
服务器的公共 IP 与在 pfSense 的 WAN 端口上检测到的 IP 不同:172.18.36.162 - 这是我 ISP 内部的本地 IP。
有什么想法可以进一步排除故障吗?我打电话给了 ISP,但他们什么都没告诉我。这是一家小型 ISP,我甚至不确定他们是否故意阻止了任何东西。
以下是 nmap 告诉我的信息:
Starting Nmap 7.70 ( https://nmap.org ) at 2019-03-24 09:34 W. Europe Standard Time
Nmap scan report for 24.347.74.101
Host is up (0.00s latency).
PORT STATE SERVICE
1194/tcp filtered openvpn
Nmap done: 1 IP address (1 host up) scanned in 0.89 seconds
(ip用随机数替换)
这应该会出现在 pfSense 的数据包捕获中,对吗?
答案1
很晚了,但还是在这里回答一下。如果你看一下运营商分配给我的 IP,就会发现:172.18.36.162
子网172.16.0.0
是私有 IP 地址块。
各种注册中心(由 ARIN 维护)。172.16.0.0/12 (172.16.0.0–172.31.255.255) 为私有网络保留(RFC 1918)。
这意味着我的运营商拥有一个内部网络(和防火墙),所有网络都通过一个公共 IP 地址进行传输。这称为 CG-NAT(运营商级 nat)。
在这样的设置下,如果不改变运营商的防火墙规则,就无法使 OpenVPN 正常工作。
我打电话给他们,他们愿意以每月 5 美元的价格为我提供一个公共静态 IP 地址。从那时起,一切都正常了。