V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
Cormic
V2EX  ›  Linux

Tun2Socks or Socks2Tun?

  •  
  •   Cormic · 2023-04-11 16:01:10 +08:00 · 3685 次点击
    这是一个创建于 596 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近在研究怎么把 openvpn 之类的 vpn 转换成 socks5 proxy 来用,搜了一下发现几个 tun2socks 项目,包括:

    https://github.com/heiher/hev-socks5-tunnel

    https://github.com/xjasonlyu/tun2socks

    始终没有成功。看说明和配置的时候就给我看晕了,上来就是创建 tun device ,最后搜了一下 issue 区有人跟我一样的需求,不过他们的叫法是 socks2tun 。

    https://github.com/xjasonlyu/tun2socks/issues/26

    感觉这几个项目的真正的作用其实是把 socks5 代理转成 tun device?

    我真的是有点搞不懂了,如果是把 socks 代理转成 tun ,为什么他们都叫 tun2socks 而不是 socks2tun?
    12 条回复    2024-04-11 15:35:05 +08:00
    mohumohu
        1
    mohumohu  
       2023-04-11 16:24:37 +08:00   ❤️ 1
    tun2socks 是对客户端来讲没错啊,你都有 tun 了还有啥好转的,直接跑个 gost 不就行了,可以指定 interface
    Cormic
        2
    Cormic  
    OP
       2023-04-11 16:30:35 +08:00
    @mohumohu 哎,我这个脑子,怎么就没反应过来,应该随便搭个可以指定 interface 的 socks5 proxy 就行了啊。

    所以 tun2socks ,只是客户端的流量进入 tun 然后 to socks?这样似乎说得通了,非常感谢。
    shawndev
        3
    shawndev  
       2023-04-11 19:34:17 +08:00
    你都有 tun 层数据了还有啥好转的
    0o0O0o0O0o
        4
    0o0O0o0O0o  
       2023-04-11 19:46:45 +08:00   ❤️ 1
    你说的这些项目做的事情是把 socks5 转成 tun device 来实现透明代理等操作;

    我猜你需要的是把 openvpn 暴露成 socks5 以供使用。

    那么 docker compose 就够了,用 gluetun ,非常简单:

    - https://github.com/qdm12/gluetun/issues/234#issuecomment-1004311880
    - https://github.com/qdm12/gluetun/wiki/Custom-provider
    ysc3839
        5
    ysc3839  
       2023-04-11 20:09:54 +08:00 via Android   ❤️ 1
    tun2socks 是在本机设置一个虚拟网卡,进入虚拟网卡的数据走 SOCKS 出来。
    要开一个 SOCKS 服务,让其走现有的 VPN ,把 VPN 设置成默认路由,直接运行 SOCKS 服务即可。
    lysS
        6
    lysS  
       2023-04-11 23:47:17 +08:00
    tun 就是个虚拟网卡,Windows 的叫 tap ,进入虚拟网卡的 IP 数据包你可以直接从句柄里读取到的。tap 是通过驱动实现的、应该驱动的 client 里面就有一堆相关的函数
    pagxir
        7
    pagxir  
       2023-04-11 23:54:02 +08:00
    linux 根本用不着 tun2socks, 直接 iptables 就 OK 了,并且性能也比 tun2socks 性能好。
    zhangsanfeng2012
        8
    zhangsanfeng2012  
       2023-04-12 10:33:36 +08:00
    @lysS tun 和 tap 是两个概念,tun 不带二层头,tap 带二层头
    newmlp
        9
    newmlp  
       2023-04-12 12:14:26 +08:00
    socks2tun 毫无意义啊,你都有 tun 了,还要 socks 干嘛
    qbqbqbqb
        10
    qbqbqbqb  
       2023-04-12 15:36:47 +08:00
    @lysS tun 和 tap 本来都是 Linux 里先有的。前者是三层(虚拟 IP 网),后者是二层(虚拟以太网),日常使用上的最明显的区别就是 tap 支持桥接而 tun 不支持。

    Windows 里也是两个都支持,不过都需要第三方驱动,其中 tap 用的是 OpenVPN 官方维护的 TAP-Windows adapter V9 驱动,tun 用的是 WireGuard 官方维护的 wintun 驱动。
    lysS
        11
    lysS  
       2023-04-12 17:34:51 +08:00
    @qbqbqbqb 嗯,蛮详细的
    bclerdx
        12
    bclerdx  
       230 天前
    @qbqbqbqb 原来如此。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3236 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 13:02 · PVG 21:02 · LAX 05:02 · JFK 08:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.