我有一个 pfSense 防火墙,它有一个带有多个公共 IP 地址的 WAN。我使用 NAT 将某些外部 IP 端口转发到内部 IP。
我可以从除同一国家/地区以外的任何地方连接。当我所在国家/地区的任何人尝试连接到任何外部 IP 地址和端口时,他们都会失败。我在 WAN 接口上捕获了数据包,并且看到它们进入。
我仔细检查了一下,确实有一条 WAN 规则允许访问的端口通过 NAT 到达我期望的服务器。我们没有地理 IP 检查或任何基于 IP 地址的规则来阻止到这些服务器的流量。
-- 我注意到了工作连接和非工作连接之间的区别
在 pfSense 上使用数据包捕获(用 ###.### 替换了一些数字,所有数字都是相同的)
Non working connection:
22:26:25.140803 IP 190.150.206.159.50852 > 190.###.###.2.80: tcp 0
22:26:25.140828 ARP, Request who-has 190.150.206.159 tell 190.###.###.3, length 28
Working Connection:
22:24:26.164293 IP 24.189.161.72.5550 > 190.###.###.2.80: tcp 0
22:24:26.164305 IP 190.###.###.2.80 > 24.189.161.72.5550: tcp 1460
来自不同端口上的 PC 的另一个连接到不同的 WAN IP 地址(相同的 PFSense)
Non Working computer
09:39:05.612067 IP 190.87.162.111.2463 > 190.###.###.4.3389: tcp 0
09:39:08.610073 IP 190.87.162.111.2463 > 190.###.###.4.3389: tcp 0
09:39:14.608856 IP 190.87.162.111.2463 > 190.###.###.4.3389: tcp 0
Working Computer
09:41:04.412975 IP 68.196.25.71.60666 > 190.###.###.4.3389: tcp 85
09:41:04.459077 IP 190.###.###.4.3389 > 68.196.25.71.60666: tcp 0
09:41:04.492887 IP 68.196.25.71.60666 > 190.###.###.4.3389: tcp 101
09:41:04.537100 IP 190.###.###.4.3389 > 68.196.25.71.60666: tcp 0
09:41:06.177903 IP 190.###.###.4.3389 > 68.196.25.71.60666: tcp 101
09:41:06.309178 IP 68.196.25.71.60666 > 190.###.###.4.3389: tcp 0
我在防火墙中看到它被允许但我不知道是什么阻止了它。
答案1
感谢@dusan.bajic 的指导。
虚拟 IP 上的子网掩码
190.###.###.6/8
190.###.###.5/8
190.###.###.4/8
190.###.###.3/8
全部改为
190.###.###.6/24
190.###.###.5/24
190.###.###.4/24
190.###.###.3/24
这更有意义。现在外部 IP 将不再被视为内部 IP,并且一切正常。