V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
crazydd
V2EX  ›  问与答

宿舍路由器检测对策

  •  
  •   crazydd · 2021-12-18 06:44:38 +08:00 · 3973 次点击
    这是一个创建于 850 天前的主题,其中的信息可能已经有所发展或是发生改变。
    万万没想到,肉身在国外,学校宿舍的物业也禁止使用路由器,禁止网络共享。说是目前在架设检测系统,要检测出来的对象负担检测费用。每个房间一个 LAN 口,学校不提供 wifi ,但毕竟很多设备,所以还是要偷偷装路由器的。

    现在的策略是路由器的 MAC 改成一台 PC 的 MAC ,然后路由器端用一个 PPTP 隧道到一台公网服务器。考虑到国外网管公司不至于直接去解 MPPE 的弱加密,是不是需要升级对应方案?(计算机网络没有好好上哭泣)
    第 1 条附言  ·  2021-12-18 11:01:20 +08:00
    谢谢大家的回复。宿舍网络和学校内网不是同一网络,管理人员也独立。
    现在的问题是,用户路由器挂了 PPTP VPN 后上级路由还能看到设备的 TTL 吗? (回复中两位老哥提到改 TTL)
    我自己的理解是 TTL 是 layer 3 的 header, PPTP 在 layer 2 作用加密,所以上级路由应该看不到我的 TTL ,所以不需要改 TTL 。学艺不精请大家指正额。
    42 条回复    2021-12-19 09:16:48 +08:00
    dangyuluo
        1
    dangyuluo  
       2021-12-18 07:06:54 +08:00
    想知道是怎么检测的,通过 NAT 后不都表现为一台主机发起的请求么?还是说检测主机名。。哪个学校呀
    dangyuluo
        2
    dangyuluo  
       2021-12-18 07:07:29 +08:00
    OR 检测机器的 MAC 地址然后和已知的路由器生产厂商比对?
    swulling
        3
    swulling  
       2021-12-18 07:17:31 +08:00 via iPhone   ❤️ 1
    深信服的专利

    https://patents.google.com/patent/CN102377620A/zh

    可以看看,然后应对
    swulling
        4
    swulling  
       2021-12-18 07:19:36 +08:00 via iPhone
    基本上检测方法都是靠分析 IP 或者 TCP 协议特征

    所以你只需要在外面找一个中转,把所有流量都包一层就行了。你用的解决方案我觉得没问题
    crazydd
        5
    crazydd  
    OP
       2021-12-18 07:21:20 +08:00
    @dangyuluo 据说 user agent 啥的,国内关键词是网络尖兵,也不知道国外这种检测的供应商是谁;某虚假的 QS Top10 学校(野鸡
    crazydd
        6
    crazydd  
    OP
       2021-12-18 07:29:45 +08:00
    @swulling 谢谢链接和分析!
    mengyx
        7
    mengyx  
       2021-12-18 08:16:20 +08:00 via Android
    一般靠检查 http 流量的 user agent 。
    一般设备连接上网络后,会发一个 http 请求到公网服务器检测是否需要登录。

    如果用的是 openwrt ,可以试试 https://github.com/CHN-beta/xmurp-ua
    delpo
        8
    delpo  
       2021-12-18 09:29:08 +08:00
    @swulling 我感觉如果只是 tcp 时间戳检测的话,直接在路由器跑个 v2ray 透明代理,出口全部 freedom 是不是就可以绕过检测了?因为这样一来所有的出站 tcp 连接都是 v2ray 建立的
    quzard
        9
    quzard  
       2021-12-18 09:43:27 +08:00 via Android
    买台 vps ,搭 ss 全局流量代理。在国外就不要 v2 了。ss➕bbr 就好,性能高
    sagaxu
        10
    sagaxu  
       2021-12-18 09:50:35 +08:00 via Android   ❤️ 1
    自己的网络自己的多个设备用也算共享?走法律途径,请律师告物业。
    lqcc
        11
    lqcc  
       2021-12-18 09:53:38 +08:00
    为什么啊?就一个网口,那多个设备怎么办?物业的目的是啥?
    wjm2038
        12
    wjm2038  
       2021-12-18 09:57:08 +08:00 via Android
    如果是学校可能是因为安全原因,你这个路由器被外部人员链接了之后就可能进入学校内网了。最好不要作死。。
    Biggoldfish
        13
    Biggoldfish  
       2021-12-18 09:59:12 +08:00
    LLaMA2
        14
    LLaMA2  
       2021-12-18 10:00:01 +08:00
    如果一个 LAN 口,且上游自动 DHCP 分配 IP 的话,接上个多口的 switch,是可以多个设备同时使用啊。
    litmxs
        15
    litmxs  
       2021-12-18 10:03:28 +08:00 via Android   ❤️ 1
    在法治国家不如试试法律手段?
    abc612008
        16
    abc612008  
       2021-12-18 10:10:11 +08:00
    啥学校 wifi 都不给啊。eduroam 也没有吗。
    Senorsen
        17
    Senorsen  
       2021-12-18 10:23:29 +08:00   ❤️ 1
    看到没人说 MTU ,想提醒下,普通路由器设备出网,MTU 会减一,所以运营商很好判断。另外不同设备( Windows 128 / 其他一般 64 )也比较容易被判断。
    OpenWrt 可以在防火墙自定义规则里加个 iptables ,统一改写 MTU 为 64 这样。

    可能还会有另外的检测方法,深度包检测之类的,不过成本肯定高更多。

    “学校宿舍的物业也禁止使用路由器,禁止网络共享。说是目前在架设检测系统,要检测出来的对象负担检测费用” 不知道是哪个国家,这条是写在协议里的吗,真的合法吗?运营商给你提供网络,顶多有“个人自用”的合约要求吧,在物理上不突破运营商限速限额的情况下正常使用,不应该有其他的限制条件。。
    Senorsen
        18
    Senorsen  
       2021-12-18 10:24:33 +08:00
    哦我傻了,上边想说的是 TTL ,不是 MTU ……
    上边已经有兄弟说过 TTL 了,那无视我吧
    crazydd
        19
    crazydd  
    OP
       2021-12-18 10:30:21 +08:00
    @sagaxu 宿舍租赁合约里包含不允许私搭网络(network)就很离谱,找律师应该无效。
    crazydd
        20
    crazydd  
    OP
       2021-12-18 10:30:58 +08:00
    @wjm2038 宿舍网络与学校内网不是一个网络。网管也不是一套人马。
    crazydd
        21
    crazydd  
    OP
       2021-12-18 10:31:22 +08:00
    @abc612008 宿舍,独立物业,非学校直接管理。
    crazydd
        22
    crazydd  
    OP
       2021-12-18 10:32:15 +08:00
    @lqcc 我也不理解,可能宿舍网络设计之初就有缺陷。
    crazydd
        23
    crazydd  
    OP
       2021-12-18 10:32:32 +08:00
    @Biggoldfish 谢谢老板
    crazydd
        24
    crazydd  
    OP
       2021-12-18 10:36:49 +08:00
    @Biggoldfish 用户路由器挂了 PPTP VPN 后上级路由还能看到设备的 TTL 吗?
    Rheinmetal
        25
    Rheinmetal  
       2021-12-18 10:52:29 +08:00
    宿舍有 4g 么?
    Rheinmetal
        26
    Rheinmetal  
       2021-12-18 10:55:43 +08:00
    或者一步到位 starlink 卫星锅
    JensenQian
        27
    JensenQian  
       2021-12-18 11:17:52 +08:00 via Android
    或者换个思路,自己 vps 不用买,整个 openwrt 路由器,然后再去上面放 cloudflare warp,warp 内地用不了,海外用的了
    IvanLi127
        28
    IvanLi127  
       2021-12-18 11:20:41 +08:00
    我感觉楼主的方案好像有点不对劲,你的 PPTP 服务器不应该放在宿舍里嘛?
    learningman
        29
    learningman  
       2021-12-18 11:27:12 +08:00
    User-Agent 识别的话,试试 https://github.com/Zxilly/UA2F
    jiangyang123
        30
    jiangyang123  
       2021-12-18 12:44:03 +08:00
    为啥不直接接个交换机?
    crazydd
        31
    crazydd  
    OP
       2021-12-18 13:08:07 +08:00
    @jiangyang123 那上级设备岂不是就看到这个物理 port 上接着多个 MAC 地址-->罚款
    Buges
        32
    Buges  
       2021-12-18 13:17:08 +08:00 via Android
    nat 设备可以随意 mangle 包,理论上没有可靠的方式检测。
    最简单的方法还是开个四层代理,并且把其他流量都 drop 掉。
    swulling
        33
    swulling  
       2021-12-18 14:53:33 +08:00
    @delpo 和 lz 的方案是一样的,就是用 VPN 做隧道,v2ray 、ss 等都一样,只要加密不让解密就行了
    jiangyang123
        34
    jiangyang123  
       2021-12-18 14:58:25 +08:00
    @crazydd #31 不会吧 这宿舍也太小气了
    jiangyang123
        35
    jiangyang123  
       2021-12-18 14:58:54 +08:00
    直接问问管理方,你有两台电脑怎么办好了
    delpo
        36
    delpo  
       2021-12-18 15:18:31 +08:00
    @swulling 我的意思不是用 VPN 加密流量,而是所有流量都由一个进程发出,大概就是下图的意思

    <a href="https://sm.ms/image/w6zpgscuOETjMFX" target="_blank"><img src="https://s2.loli.net/2021/12/18/w6zpgscuOETjMFX.png" ></a>

    之所以说要用 v2ray 是因为好像只有这个支持透明代理+流量直接出站,有点类似于 ssh 的-D 模式

    这样一来好处就是所有出站的 tcp 连接都是 v2ray 发出的,应该不会对外暴露出传输层及以下层的多设备特征

    坏处就是没法对应用层程序行为进行隐藏,比如说如果有 http 的 UA 检测就不能用这个方法进行绕过
    yankebupt
        37
    yankebupt  
       2021-12-18 18:48:21 +08:00
    连 ipv6 都没有,好惨......
    一人一个上网身份 id 的监视出国么...
    除了必须的 bulk 流量,视频什么的,其他的直接 sim 卡啊......
    swulling
        38
    swulling  
       2021-12-18 22:03:14 +08:00 via iPhone
    @delpo ssh -D 就是一 sockets 代理,代理流量和 VPN ,SS 有啥本质区别么?

    都是 TCP 隧道而已,外面只能看到隧道
    swulling
        39
    swulling  
       2021-12-18 22:05:03 +08:00 via iPhone
    @delpo 你说的应该是类似于不需要公网其他服务器,仅仅搞一个透明代理。

    这个之前很多方案,运营商早就能识别了
    delpo
        40
    delpo  
       2021-12-19 08:34:28 +08:00
    @swulling 🤣想检测肯定还有很多特征的,主要是这样就不用担心带宽和延迟问题了,对检测不那么严格的运营商感觉可以试试
    SunBK201
        41
    SunBK201  
       2021-12-19 09:13:10 +08:00   ❤️ 1
    https://www.notion.so/sunbk201public/OpenWrt-f59ae1a76741486092c27bc24dbadc59
    具体怎么解决,还要看 ISP 是用了什么检测手段
    SunBK201
        42
    SunBK201  
       2021-12-19 09:16:48 +08:00
    如果仅仅是 TTL 的话,直接 iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64 就可以解决
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3267 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 13:26 · PVG 21:26 · LAX 06:26 · JFK 09:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.