在河南郑州除了 vpn 还有访问自建 http/https 服务的途径吗,杀疯了

2023-09-02 16:47:42 +08:00
 lanwairen123

河南郑州移动,自建的 http/https 服务不管是通过 frp 、nps 等各种映射,还是 nginx 反代,只要是通过域名访问,不管是 http 还是 https ,不管服务器在国内还是国外,不管是标准端口还是非标端口,全部 reset

换个域名顶不了两天,已经换了 3 、4 个域名了,全部 reset

通过 itdog http ping ,全国除了福建泉州和河南移动、电信、偶尔联通,其他全部都是正常访问的,关键我在郑州,有访问自建服务的需求

都是自建的一些私人服务,像是笔记应用、HA 、私人相册、网盘等服务

现在访问自己的服务只能挂梯子或者 VPN 进内网才能用

11491 次点击
所在节点    宽带症候群
121 条回复
admin13579
2023-09-04 15:47:57 +08:00
@lanwairen123 如果是路由黑洞这种墙,或者用丢包的方式来进行阻断,那肯定就没用了
但之前河南阻断大量网站时,是有省内设备只往客户端发送单向 rst 包来阻断连接,这时在客户端上丢弃入站的 rst 包,确实是可以无视阻断继续连接的。
这个方法对墙无效的原因是,一般被 GFW 墙的 vps 之类的都是直接封 IP ,丢包式阻断,所以忽视 rst 包也没用。而被墙的网站虽然都是只墙域名,但发送 RST 包是双向的,你的客户端忽略了,对方网站服务器也不会为了配合你而忽略 RST ,所以还是会被阻断。
不过这种特殊情况下,http 服务就你自己一个人用,客户端和服务端控制权都在你手里,而且只是阻断域名,阻断方式仅为 rst 的话,我觉得这种两边都忽略 RST 包的方法或许还可以一试
windrun
2023-09-04 18:02:38 +08:00
lanwairen123
2023-09-04 20:15:26 +08:00
@admin13579 您说的很有道理,我查阅了相关资料,丢掉 rst 包这种做法在刚开始有 reset 墙的时候就有人做过研究,我刚才也试了,确实是可以的,在服务器和本地分别执行 iptables -I INPUT -p tcp --tcp-flags RST RST -j DROP 丢掉 rst 包后就能正常访问了,确实是一个思路,但是这种直接丢弃所有 rst 包的行为会不会导致其他问题,正常的 rst 包也被丢弃了
lanwairen123
2023-09-04 20:16:18 +08:00
@windrun 这篇文章或类似的说法我也查到过,但是在我这边无效了,可能是墙升级了
lanwairen123
2023-09-04 20:22:09 +08:00
@admin13579 问了 claude.ai ,它这样说的:
如果完全丢弃所有 RST 包,可能会带来以下一些不良后果:
正常连接被终止时无法释放资源,从而造成资源泄漏。TCP 连接的正常终止依赖 RST 报文释放连接。
无法快速中止无效连接,资源被无效连接占用。对无效的连接请求,服务器会发送 RST 报文快速拒绝连接。
连接重置功能被破坏。RST 使得 TCP 连接立即重置,丢弃 RST 会导致错误连接状态持续存在。
防火墙和入侵检测系统功能被影响。许多防火墙和 IDS 依赖 RST 报文判断连接状态。
网络堵塞加剧。丢弃 RST 使得断开的连接持续占用网络资源,加重网络拥塞。
某些应用连接功能失效。像 FTP 被动连接需要 RST 报文正确关闭旧连接。
引发更多安全问题。攻击者可以利用丢弃 RST 来实现一些攻击行为。
所以,完全丢弃所有 RST 包会对网络功能和安全造成影响。应该根据实际需要,有针对性地处理 RST 包,不能简单地全面丢弃。同时,关键服务也需要有应对措施,避免依赖 RST 的功能被破坏。
admin13579
2023-09-05 00:33:00 +08:00
@lanwairen123 抱歉,这个我还不是很清楚。但在我一点模糊的印象中,正常场合下 RST 是用来直接关闭异常高频的 tcp 连接的,结合你问到的答案,大概就是一刀切丢掉所有 RST 包可能会使 tcp 连接不能被迅速关闭导致拥塞,同时使你无力阻止一些潜在的网络攻击。
如果不放心的话,可以暂时不采用这种比较激进的措施,改用客户端服务端都开启 tcp timestamp 验证的方法,可以精准针对丢弃运营商省内设备发的 RST 包,而不丢弃正常的。
lanwairen123
2023-09-05 07:00:55 +08:00
@admin13579 #102 提到的文章说的就是 timestamp ,但在我这并不行,可能已经升级了
YGBlvcAK
2023-09-05 07:49:28 +08:00
强制启用 sni 加密,防止域名泄露,这样呢?
lanwairen123
2023-09-05 09:37:09 +08:00
@YGBlvcAK 刚刚测试了,强制 tls 1.3 还是会阻断,我没找到 nginx 配置 esni 的方法,不过有说加密 sni 的直接一刀切,全部阻断,想想也是,墙不知道你干啥,直接阻断了事
B1acKy1in
2023-09-05 10:31:54 +08:00
@yinmin 我看云厂商备案,要求都是服务器距离到期要长于 3 天,确定可以?
vvzzxx
2023-09-05 10:50:35 +08:00
我也遇到了差不多的问题,黑群晖在老家,人在郑州,阿里云 ipv6 域名解析。这几天突然就不能域名访问了,联通电信流量都不能访问,连了一下又 ipv6 的联通 WiFi 正常,家里朋友访问就是正常。看了一下楼里 rst 的解决方法,不了解这方面,只感觉学习成本起飞。
yinmin
2023-09-05 12:26:50 +08:00
@B1acKy1in #110 不止是 3 天,是一直存在。如果不存在了,过不了几周,云服务商就会打电话给你,然后会取消备案接入。如果你的备案只有 1 个接入,接入取消后备案也被取消了。
yinmin
2023-09-05 13:00:55 +08:00
@lanwairen123 如果你采用丢弃 RST 包的方式,建议仅丢弃 443 端口的 RST 包来提升稳定性,如果能配置其它端口(例如:4443 端口),把 https 服务改成 4443 端口,然后仅丢弃 4443 端口更好,毕竟这个端口只有你 1 个人在用,仅丢弃这一个端口的 RST 包不会对服务器产生过多的压力。

iptables -I INPUT -p tcp --dport 4443 --tcp-flags RST RST -j DROP

另外,加密 SNI 的方法是不可行的。
lanwairen123
2023-09-05 13:42:31 +08:00
@yinmin 谢谢,准备试几天看看会有什么影响
cunganbu
2023-09-06 23:20:44 +08:00
我河南电信,突然发现自己境外的网站打不开了,以为是域名被墙,买了新域名 24 小时被墙,我以为是我用免费证书的问题,又买了新域名换了一家 ssl 证书 24 小时不到又被墙,我以为我服务器被盯上了,又换了服务器+新域名 24 小时不到又被墙...我才发现了问题的严重性,抓包看了一下就是楼主的情况,只要是 http/https 流量域名不是备案的+服务器不在国内,基本 24 小时内给你阻断,换了联通的网可以间歇性打开....日子越来越好了
FishHawk
2023-09-13 13:12:06 +08:00
@admin13579 说一个思路,墙的 RST 包只要你自己发它就不会发。所以可以每个 TCP 连接发一个特定 TLL 的 RST 包,刚好到墙又到不了服务器,就能破。
cyaki
264 天前
@lanwairen123 请教下, 有后续解决方案没哇 ?
lanwairen123
262 天前
@cyaki 现在没那么严重了,如果你还存在这个问题,建议参考楼上的讨论丢弃 RST 包试试。
frankilla
251 天前
没看懂,但是焦作联通,我在家里自建的服务,通过域名能访问。
param
234 天前
@FishHawk 那建站能这么搞吗?服务器主动给客户端发 RST ,怎么样可以到墙又到不了客户端。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/970368

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX