V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mikewang  ›  全部回复第 4 页 / 共 36 页
回复总数  713
1  2  3  4  5  6  7  8  9  10 ... 36  
@dizhang #124 pppoe-wan 只会是一条线路,如果接其他线路,可能是 pppoe-wan2 或者其他名字。
可以在命令的末尾加上 -s ,表示安静模式( slient ),只会在报错时显示,正常运作不再打日志。
另外 -d 表示后台运行。
@shiyunjin #105 可以啊,这就加上。预计在 v0.9.14 支持这种做法。
@Lentin #101 v0.9.13 支持识别局域网主机咯

@jousca #102 是没问题,但是如果你想跑 PT ,xray 就不行,FakeHTTP 就可以。
@Lentin #67
更新一下,因为默认值 512 与 mwan3 的默认掩码冲突了(当时没发现),v0.9.5 之后,默认值改为 0x8000 ,65 楼回答作废,更新为 -j MARK --set-mark 0x8000 ,谢谢~

@colinzhao #88
理论上不应和任何其他工具发生冲突。如果出现报错或者其他问题,欢迎汇报。
@chord #84 FakeHTTP 基于 NFQUEUE 编写,是和 Linux 内核高度绑定的。
#81 @a9k1n9 connbytes 是我最近才加上的,其实不重要,后面我打算直接忽略报错。

#82 @shiyunjin 会加上的。(其实如果谁会用 iptables-translate 工具翻译一下,帮我提个 PR 就好了)最近先修 bug ,修完加上 nft 和 ipv6
@jja #78 已经支持。
@jja #76
我不确定容器下的 iptables 能否正常工作,试了才知道。
需要的权限是:CAP_NET_RAW + CAP_NET_ADMIN
--net=host 肯定是没问题的。
#71 @chord
不可以的,详见 16 楼。这里没有涉及转发,并且插入的 TCP 报文是特殊构造的,可以被中途丢弃且不影响原有 TCP 连接。
你可以简单理解为 FakeHTTP 工作在旁路(但实际上是队列处理的)。
@bfdh #68

查了一下,`-w` 是在 v1.4.20 支持的,已经是十多年前了。已更新采用 `-w` 选项,感谢建议。
@bfdh #68

1 )往返的路径不一定是同一条,估算容易出问题。虽然大多数情况是差不多的,但是没有 100%把握就需要容我考虑一下。
2 )-w 参数在旧版 iptables 不支持,会直接报错,因此考虑兼容性我没有写上。
#60 @yyysuo
FakeHTTP 会新增一个优先级最高的规则,但是只匹配第一个 SYN-ACK / ACK 。因此我觉得不太会影响别的组件。
kmod 用 opkg 能装的上,就是能用的,不然安装时就会报错。

#62 @yyysuo
你这种情况相当尴尬,ttl=3 意味着半径为 3 以内的公网 IP 主机都没法正常通信( FakeHTTP 做了局域网 IP 排除,但是你很不幸地被 NAT 成公网了)
你把匹配的数据包 -j MARK --set-mark 512 吧(默认值,或者是你设定的-m 值),匹配这个值的数据包不会被 FakeHTTP 处理。暂时没想到别的办法。
@fengyaochen #57
有可能只是晚高峰正常拥堵,线路不好。FakeHTTP 只能解决对基于 HTTP 域名(不)限速的场景。

@freedomNet #58
因为直接 kill ,将不给 FakeHTTP 机会去清除它加的 iptables 规则,导致队列阻塞(没有 fakehttp 进程去消化这些 SYN-ACK/ACK 数据包了)。
这个问题其实挺重要的,今天晚上的版本会解决这个问题。
#53 @microka
目前可以通过 nohup 命令在后台运行(可以网上查一下它的用法)。

以后的版本可以通过 `-d` 命令后台运行。
FakeHTTP 目前还是 beta 公测状态,在 v1.0 之前还有不少功能需要完善( IPv6/输出日志到文件/后台运行/支持多网络接口/...),以及 bug 修复。

#54 @microka
感觉是短时间建立了大量的 TCP 连接,然后你的路由器来不及处理了🤦‍♂️ 可以把日志发到 GitHub issue 上面(可码掉 IP 地址),然后我看一下怎么改进。
#50 @opengg
不需要。HTTP 特征由于 TTL 值很低,被半路丢弃,目标服务器收不到,所以不需要任何处理。
#34 @NewYear
没错,TTL 是关键。不支持 NAT 是因为我写的 iptables 规则有点问题,不应在 PREROUTING 链处理。最新版本已修复。

#35 @qwvy2g
TTL 值也可以自行修改 `-t` 调大,如果你觉得不够用。当然设置太大了,被服务器收到就有问题了。服务器多半会回给你一个 RST 。

#38 @ioooou
看起来是你正使用 iptables-nft ,但是是不是有 Docker 或者其他程序在使用 iptables-legacy 导致冲突。
试试 sudo update-alternatives --config iptables ,切换为 iptables-legacy 。

#39 @microka
IPv6 还没有适配,将来会考虑。

#44 @zjsxwc
可以大致这样理解。不过 HTTP 特征的数据包和后续真正的数据包是共用同一个 TCP Sequence 的。
HTTP 特征由于 TTL 值很低,被半路丢弃,目标服务器收不到。
@Rokaki #31 对方收不到的。详见上文 [一些说明] 第三条解释。
@dizhang #20 根据你描述这种情况来看,FakeHTTP 就能解决这个问题。把 -h 参数指定为测速网站域名就好。
爱快是 Linux 内核,但估计也是精简掉 nfqueue 功能了。可以试试,不行还是得装内核扩展。
像 Debian / Ubuntu / Fedora 等 Linux 发行版肯定是没问题的,开箱即用。

@igamebox #21 大概率是没退干净,用 ps 命令或者 pgrep fakehttp 看下进程号
@Terminl #13
可能是你误解了其中的原理。FakeHTTP 只插入,不转发。

SYN -- SYN-ACK -- ACK -*- 数据 1 -- 数据 2 ...

FakeHTTP 在 [ ACK -*- 数据 1 ] 之间,直接对外发送含有 HTTP 特征的 TCP 报文,不涉及任何转发。

nfqueue 的作用是:1. 截取通信中的数据包 2. 拦截 TCP 栈处理流程,将 HTTP 特征在 [数据 1] 前发送出去。

转发全部流量是消耗资源且会带来延迟的,FakeHTTP 不会采用这种方式。
@march1993 #7
?目标端口不认识 HTTP 怎么通信
1  2  3  4  5  6  7  8  9  10 ... 36  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1349 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 13ms · UTC 16:54 · PVG 00:54 · LAX 08:54 · JFK 11:54
♥ Do have faith in what you're doing.