V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
levenwindy
V2EX  ›  Linux

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

  •  
  •   levenwindy · Nov 27, 2022 · 4684 views
    This topic created in 1247 days ago, the information mentioned may be changed or developed.
    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 replies    2022-12-09 11:17:48 +08:00
    cwzsquare
        1
    cwzsquare  
       Nov 27, 2022
    levenwindy
        2
    levenwindy  
    OP
       Nov 27, 2022
    @cwzsquare debian 里的 docker 能否跟着全局?
    cwzsquare
        3
    cwzsquare  
       Nov 27, 2022
    @levenwindy 试过没啥问题,有其他技术问题可以去 v2raya 的群讨论 aHR0cHM6Ly90Lm1lL3YycmF5YV96aA==
    waleslau
        4
    waleslau  
       Nov 27, 2022
    hsfzxjy
        5
    hsfzxjy  
       Nov 27, 2022 via Android
    proxychains4
    yaott2020
        6
    yaott2020  
       Nov 27, 2022 via Android
    proxychains4 -q bash 然后在新的 shell 里就可以全局代理
    yaott2020
        7
    yaott2020  
       Nov 27, 2022 via Android   ❤️ 1
    可以用 clash/v2ray 暴露 socks5 对接 proxychains4
    levenwindy
        8
    levenwindy  
    OP
       Nov 27, 2022
    @yaott2020 wget 不支持 socks 也可以吗?
    neroxps
        9
    neroxps  
       Nov 27, 2022 via iPhone
    哥 tun 模式即可
    neroxps
        10
    neroxps  
       Nov 27, 2022 via iPhone
    哦 不是不一定 tun output redir 到代理端口即可 dns 也要处理下。
    wuruxu
        11
    wuruxu  
       Nov 27, 2022
    路由器 openwrt 全局科学上网
    JohnBull
        12
    JohnBull  
       Nov 27, 2022
    tsocks bash
    whitegerry
        13
    whitegerry  
       Nov 27, 2022
    clash premium ,启用 tun 模式,自动全局。
    hsfzxjy
        14
    hsfzxjy  
       Nov 27, 2022 via Android
    @levenwindy #8 可以的
    geekyouth
        15
    geekyouth  
       Nov 27, 2022
    docker/物理机 /虚拟机 /私有云 /边缘云 /树莓派

    部署 旁路由:shellclash

    然后在需要科学上网的工作机器上配置网关为旁路由 ip
    geekyouth
        16
    geekyouth  
       Nov 27, 2022
    还有一种方式:sstap 安装到本机,可以虚拟出一块科学上网能力的网卡
    Fatinora
        17
    Fatinora  
       Nov 27, 2022   ❤️ 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  
       Nov 27, 2022   ❤️ 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  
       Nov 28, 2022 via Android
    写一个 proxy 的 set/unset 脚本,在.bashrc 里写入 set 的对应语句
    yaott2020
        20
    yaott2020  
       Nov 28, 2022 via Android
    proxychains 相比之下更简单,tun 自动路由会阻止入站,需要自己再配置一下,tproxy 透明代理需要动到 iptables/nftables
    libook
        21
    libook  
       Nov 28, 2022
    我用过题主说的方案,是可行的。可以网上搜 docker 旁路网关 。

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

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