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

Linux 编译环境 如何更好实现全局科学?

  •  
  •   levenwindy · 2022-11-27 18:13:42 +08:00 · 3264 次点击
    这是一个创建于 759 天前的主题,其中的信息可能已经有所发展或是发生改变。
    PVE+Debian 编译
    最近在编译黑群,万分感谢 gfw !
    debian+clash 全局+ export http/s ,可是子 shell 不能代理,只能在别人的脚本里 export http_proxy
    脚本里还有 docker ,然后还得改 docker -e HTTP_PROXY ,反正就很烦!搞 1~2 个钟

    开个 VPS 3~5 分钟就编译好了!真的太恶心了



    想着 macvlan 弄个 docker1 openwrt 旁路由,docker2 debain 用来编译,docker2 debain 网关指向 docker1 openwrt ,这样行得通吗?
    30 条回复    2022-12-09 11:17:48 +08:00
    cwzsquare
        1
    cwzsquare  
       2022-11-27 18:16:58 +08:00
    levenwindy
        2
    levenwindy  
    OP
       2022-11-27 18:21:34 +08:00
    @cwzsquare debian 里的 docker 能否跟着全局?
    cwzsquare
        3
    cwzsquare  
       2022-11-27 18:24:35 +08:00
    @levenwindy 试过没啥问题,有其他技术问题可以去 v2raya 的群讨论 aHR0cHM6Ly90Lm1lL3YycmF5YV96aA==
    waleslau
        4
    waleslau  
       2022-11-27 18:25:05 +08:00
    hsfzxjy
        5
    hsfzxjy  
       2022-11-27 19:01:12 +08:00 via Android
    proxychains4
    yaott2020
        6
    yaott2020  
       2022-11-27 19:20:33 +08:00 via Android
    proxychains4 -q bash 然后在新的 shell 里就可以全局代理
    yaott2020
        7
    yaott2020  
       2022-11-27 19:21:12 +08:00 via Android   ❤️ 1
    可以用 clash/v2ray 暴露 socks5 对接 proxychains4
    levenwindy
        8
    levenwindy  
    OP
       2022-11-27 19:30:14 +08:00
    @yaott2020 wget 不支持 socks 也可以吗?
    neroxps
        9
    neroxps  
       2022-11-27 19:39:54 +08:00 via iPhone
    哥 tun 模式即可
    neroxps
        10
    neroxps  
       2022-11-27 19:40:49 +08:00 via iPhone
    哦 不是不一定 tun output redir 到代理端口即可 dns 也要处理下。
    wuruxu
        11
    wuruxu  
       2022-11-27 20:10:59 +08:00
    路由器 openwrt 全局科学上网
    JohnBull
        12
    JohnBull  
       2022-11-27 20:30:37 +08:00
    tsocks bash
    whitegerry
        13
    whitegerry  
       2022-11-27 20:43:54 +08:00
    clash premium ,启用 tun 模式,自动全局。
    hsfzxjy
        14
    hsfzxjy  
       2022-11-27 20:46:54 +08:00 via Android
    @levenwindy #8 可以的
    geekyouth
        15
    geekyouth  
       2022-11-27 20:50:09 +08:00
    docker/物理机 /虚拟机 /私有云 /边缘云 /树莓派

    部署 旁路由:shellclash

    然后在需要科学上网的工作机器上配置网关为旁路由 ip
    geekyouth
        16
    geekyouth  
       2022-11-27 20:51:17 +08:00
    还有一种方式:sstap 安装到本机,可以虚拟出一块科学上网能力的网卡
    ns09005264
        17
    ns09005264  
       2022-11-27 21:36:20 +08:00   ❤️ 1
    clash 原版内核就自带 tun 模式,可以实现全局代理。这里提供一个配置片段供参考
    ```
    dns:
    enable: true
    listen: 0.0.0.0:53
    fake-ip-range: 198.18.0.1/16
    enhanced-mode: fake-ip
    nameserver:
    - 8.8.8.8 # default value
    - 114.114.114.114 # default value
    tun:
    enable: true
    stack: system
    dns-hijack:
    - udp://8.8.8.8:53
    - tcp://8.8.8.8:53
    - tcp://114.114.114.114:53
    - udp://114.114.114.114:53
    auto-route: true
    auto-detect-interface: true
    ```
    唯一有点问题的是:firefox > network setting > Enable DNS over HTTPS 需要启用这个选项,并设置 DNS 服务为自定义的 0.0.0.0 服务器。如果没有启用的话,使用 FIrefox 浏览网页域名解析会有问题,无法走规则。
    jinliming2
        18
    jinliming2  
       2022-11-27 22:30:47 +08:00   ❤️ 1
    用 iptables/nftables ,管他本地还是 docker ,全都接管。自己配个 ipv4 保留地址列表和国内 IP 地址列表(网上有)去绕过就行。

    参考我用的 nftables 规则(已删减):

    define Reserved_IPv4 = {
    0.0.0.0/8,
    10.0.0.0/8,
    # .............省略
    }

    table ip proxy {
    chain proxy {
    ip daddr $Reserved_IPv4 return
    ip daddr $China_IPv4_Range return

    ip protocol tcp redirect to :10086
    }
    chain prerouting {
    type nat hook prerouting priority 100; policy accept;
    iifname != { "docker0" } return
    goto proxy
    }
    chain output {
    type nat hook output priority 100; policy accept;
    goto proxy
    }
    }
    yuKiZh
        19
    yuKiZh  
       2022-11-28 02:41:57 +08:00 via Android
    写一个 proxy 的 set/unset 脚本,在.bashrc 里写入 set 的对应语句
    yaott2020
        20
    yaott2020  
       2022-11-28 08:10:05 +08:00 via Android
    proxychains 相比之下更简单,tun 自动路由会阻止入站,需要自己再配置一下,tproxy 透明代理需要动到 iptables/nftables
    libook
        21
    libook  
       2022-11-28 09:50:15 +08:00
    我用过题主说的方案,是可行的。可以网上搜 docker 旁路网关 。

    小范围使用应该没问题,如果家庭网络内大范围应用的话,这样对 docker 宿主机的侵入性比较大,而且 docker openwrt 的容器不好维护,以及网关和服务器之间没有故障隔离,所以后来我索性搞了个单独的软路由做主路由 /主网关了。
    newmlp
        22
    newmlp  
       2022-11-28 10:17:57 +08:00
    clash 不是有个 tun 模式么
    lookingmoon
        23
    lookingmoon  
       2022-11-28 11:36:09 +08:00
    路由器 ssh 直接装个 shellclash 浏览器访问 clash 面板管理 完事 多简单的
    chrisqin
        24
    chrisqin  
       2022-11-28 14:02:55 +08:00 via iPhone
    路由表加 tun 不就可以了
    lijiangang886
        25
    lijiangang886  
       2022-11-28 16:47:32 +08:00
    >可是子 shell 不能代理
    https://zhuanlan.zhihu.com/p/47819029
    shell 的配置文件真的是乱七八糟
    chrisqin
        26
    chrisqin  
       2022-11-28 19:58:42 +08:00 via iPhone
    或者你需要迷雾通 geph.io
    Ipsum
        27
    Ipsum  
       2022-11-28 21:47:45 +08:00
    pve 加个 openwrt 然后路由器翻墙
    Hardrain
        28
    Hardrain  
       2022-12-02 19:31:53 +08:00
    https://www.v2fly.org/en_US/config/protocols/dokodemo.html

    其他 proxy 工具可考虑用 redsocks+IPTABLES rule
    levenwindy
        29
    levenwindy  
    OP
       2022-12-09 11:06:01 +08:00
    期中总结一下
    由于对 Clash 比较熟,目前两种方案
    1.PVE+LXC(Debian)+Clash(tun)模式 ,PVE 需要对 LXC 开启 tun ,export http_proxy
    如果设置旁路网关,非常繁琐,掌握 iptables (不同版本命令也不有差别)
    2.
    levenwindy
        30
    levenwindy  
    OP
       2022-12-09 11:17:48 +08:00
    第二种比较适合小白,也不会“污染”开发环境,操作更方便
    2.群晖 /PVE+docker [openwrt(基于 macvlan 网卡混杂 )+openclash 插件(全局设置-旁路由模式✔)] ,推荐这个镜像 sulinggg/openwrt,已集成 openclash
    开发机只要在 网关 /dns 填上 192.168.1.254(举例 openwrt 的 ip),就可实现全局科学
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3177 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:29 · PVG 19:29 · LAX 03:29 · JFK 06:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.