首先:请原谅我对英语的不良使用。
几年来,我遇到了“全面磨合(no-df)”规则的问题。 我找不到这里发生了什么事。
我会尽量清楚和简单。 这个论坛张贴pf.conf已经非常缩短了。
这是我的pf.conf:
set skip on lo0 match in all scrub (no-df) block all block in quick from urpf-failed pass in on em0 proto tcp from any to 213.125.xxx.xxx port 80 synproxy state pass in on em0 proto tcp from any to 213.125.xxx.xxx port 443 synproxy state pass out on em0 from 213.125.xxx.xxx to any modulate state
HTTP和HTTPS工作正常。 直到法国客户(Wanadoo DSL)无法查看HTTPS页面为止! 我责怪他的提供者,并没有对这个问题进行调查。
但后来…我买了Android三星Galaxy SII(沃达丰)来监视我的服务器。 我走出电话店的几个小时后:在我的服务器上没有HTTPS连接! 我以为我的服务器瘫痪了,赶回了办公室。 但他们起来了。
我发现禁用规则
match in all scrub (no-df)
解决了这个问题。 Android手机(Vodafone NL)和Wanadoo DSL FR现在可以在HTTPS上运行。
但现在我没有任何擦洗了。 这不是我想要的。
有人在这里明白发生了什么事吗? 我不。 启用清理会导致HTTPS网页无法在某些ISP上加载,但不是全部。
在systat中,我奇怪地看到一个状态创build和从这些ISP接收的数据包…
仍然困惑。 我使用的是OpenBSD 5.1 / amd64和OpenBSD 5.0 / i386。 我在办公室有两个ISP(一个DSL和一条电缆)。 影响两者。
这可以很容易地复制。 我希望有人有这个问题的经验。
问候,
坦率
从我在pf.conf手册页上阅读的内容中,您可能需要将规则更改为:
match in all scrub (no-df random-id)
对我来说,看起来非常像阻塞ICMP,这实际上是TCP / IP的组成部分。 ICMP至less用于pathMTU发现 。 摘自FreeBSD的手册PF部分 :
ICMP协议在主机和网关之间发送和接收控制消息,主要用于向发送方反馈任何到目标主机的exception或困难情况。 路由器使用ICMP在通常称为pathMTU发现的过程中协商数据包大小和其他传输参数。
PMTU完全使用您清除的DF,除非scrub规则被删除。