-
Notifications
You must be signed in to change notification settings - Fork 137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.8.0 mita 與 mieru 連接一段時間後,mita斷流 #171
Comments
之前的版本是否有类似的问题? 打开 mita 的 debug 日志能帮助搞清楚发生了什么。 目前猜测有两种可能的情况。第一种情况下,mieru 和 mita 之间的 TCP 连接没有成功。这大概率是因为 Linux 内核的问题导致 TCP listener accept 失败退出。第二种情况下,TCP 连接建立了但是 mieru 协议握手没有成功。这一般是由于客户端和服务器的时间差别太大导致的。当然也不能排除是墙的问题。 临时的解决办法似乎是写一个 timer 或者 cronjob 在不使用 mita 的时段重启。 |
3.7.0版本沒有這個問題,很穩定。然後我試過全UDP的配置也是一樣。MTU是1440以下 mita 開了debug後剛連接就有些報錯,不知道是否有關
我之後再試試3.8.1,看看有沒有遇到這個問題 |
这种类型的错误是目标服务器断开连接,和代理服务器关系不大。
如果用 UDP 协议可能会看到这种错误,代表网络连接有问题。TCP 协议应该不会有这种错误。 从现在的情况来看,客户端和服务器之间是可以建立连接的,但是出于一些原因连接不稳定。这个有可能和墙有关,因为不同的版本会随机选择两种数据填充方法中的一种,而填充方法可能会影响墙的行为。 |
主要是沒有經過牆的時候也是無法連接(在國外網絡mieru/nekobox->國外網絡mita) 測試這個問題的時候,服務端沒有顯示debug狀態,我用systemctl status mita查看不到更多信息
|
因为没有其他人提及类似的问题,所以现在掌握的信息比较有限。 根据最早的描述,NekoBox 无法连接之后,换成 win 客户端也无法连接。这说明问题比较大概率发生在服务器那边。服务器那边已知的问题只有 bug #173 但是那个主要影响 UDP。 我认为有这么几件事可以做:
|
測試結果來自是3.8.1,依舊是全UDP環境,這個大概斷流了一周了。
|
关于 UDP 有大量会话未被清理的问题: 现在服务器端读取 UDP 包在操作系统层面上出错的时候,会停止处理新的 UDP 包。这个逻辑需要改进一下,因为有些错误应该是可以重试的。但是因为错误是从操作系统返回的,Go 语言没有做良好的封装,应用这边也就比较难判断是应该停止还是继续。我可以参考其他代理的实现方式进行修改。 欢迎继续反馈关于 TCP 的潜在问题。 |
不知道爲什麼升級3.8.0後發現 客戶端與服務端連接一段時間後,客戶端(Nekobox)出現無流量狀況,有時候換端口可以用。但有時候直接全部端口無流量,立刻更換使用win客戶端test會無法連接測試網址(當地網絡測試)。
排除牆的原因,在當地網絡測試也一樣無流量的情況
重啓mita可以臨時恢復,但過一段時間又開始斷流
客戶端連接測試結果
服務端日誌
服務端配置
客戶端配置
The text was updated successfully, but these errors were encountered: