TTL 是 64 或者 128 会被认为是 PC 设备或者是通过热点上网,修改路由设备的 TTL 值可以让运营商认为流量来自于移动设备。
Linux
sudo sysctl -w net.ipv4.ip_default_ttl=65
sudo sysctl -w net.ipv6.conf.default.hop_limit=65
OpenWRT 修改所有 WAN 流量的 TTL:
iptables -t mangle -C POSTROUTING 1 -j TTL --ttl-set 65
[ ! "$?" = "0" ] && iptables -t mangle -I POSTROUTING 1 -j TTL --ttl-set 65
Nftables 版本:
chain mangle_postrouting_ttl65 {
type filter hook postrouting priority 300; policy accept;
counter ip ttl set 65
}
chain mangle_prerouting_ttl65 {
type filter hook prerouting priority 300; policy accept;
counter ip ttl set 65
}
macOS
sudo sysctl -w net.inet.ip.ttl=65
sudo sysctl -w net.inet6.ip6.hlim=65