关于近两个月河南地区强屏蔽的问题,有研究显示开启 TCP Timestamps 特性可能可以减少影响。
近段时间,河南地区增加了更多的屏蔽规则,会将许多连接至境外服务器的域名加入黑名单屏蔽,如果 SNI 在黑名单中则防火墙会对客户端发送 TCP RST 切断连接。有反馈表示即使是备案域名,连接至境外同样可能被屏蔽。
简单说就是在河南有很多境外网站打不开。
在上周的研究中发现,由于河南防火墙的一点问题,如果开启操作系统的 TCP Timestamps 特性可能可以忽略防火墙发出的 RST 包,进而保持网络连接,不被干扰。
如果你刚好在河南,又刚好访问外网困难,又刚好用的是电脑,也许可以试一试以下操作。(不保证有用)
Windows 系统:
- 按下
Win + R
按键打开运行面板,输入powershell
并点击确定开启 Powershell 命令行界面。
/ 或是直接使用系统搜索开启 Powershell,总之能打开就行了。 - 输入
netsh interface tcp show global
之后 Enter,查看当前系统 TCP 参数。
如果RFC 1323 时间戳
一栏为enabled
,则已经为开启状态,无需进行下列步骤。如果是disabled
或allowed
,请继续执行以下命令。 - 输入
netsh interface tcp set global timestamps=enabled
然后 Enter,就完成开启了。 - 再次重复第二步,确认是否已经开启。如果没有,重启电脑或百度。
如果你觉得运行命令很麻烦,还可以使用此程序一键修改:点击下载程序
安卓系统:
较新的安卓手机上应该已经默认开启此特性,就算没有,你应该也没有权限修改设置,不过看了能让你死的明白点。
如需修改设置,可能需要了解 ADB Shell 的相关知识。
- 安装 Termux / Ansole 等命令行应用并打开。
GitHub 下载链接:https://github.com/termux/termux-app/releases/download/v0.118.0/termux-app_v0.118.0+github-debug_arm64-v8a.apk - 输入
sysctl net.ipv4.tcp_timestamps
并运行,如果显示数字1
则已经开启,如果为0
则未启用。 - 尝试输入
sysctl -w net.ipv4.tcp_timestamps=1
以开启此功能。
iOS / iPadOS 系统:
据说已默认开启,如果没开你也改不了。
Linux 系统:
不会有人日常用 Linux 吧?
- 打开你的 CLI。
- 输入
cat /proc/sys/net/ipv4/tcp_timestamps
查看当前系统设置,如果显示数字1
则已经开启,如果为0
则未启用。 - 输入
sysctl -w net.ipv4.tcp_timestamps=1
以开启此功能。
macOS 系统:
据说已默认开启。不熟,百度。
如果有用,欢迎告诉我,没用也可以告诉我。
但很悲伤的是,也许经过上述一通折腾,你还是打不开很多境外网站,因为墙不止一堵,通常还伴随其他系统的屏蔽,一山更比一山高。
你还可以尝试以下方法减少干扰:
建议不使用移动,而是联通、电信,移动有自己额外的黑名单。
建议使用宽带/WiFi,而不是移动网络流量,移动网络可能亦有更多的屏蔽规则。