标签: none

已有 19 条评论

  1. Robert Robert

    你好,我在加拿大,目前需要搭建一个反向翻墙的透明代理,Trojan/Socks/vmess均可,想让某个设备的全部TCP和UDP流量都发往在国内的VPS,请问如何修改config.json和iptables?我目前在Debian11以及lede-openwrt上的配置都只实现了tcp流量的透明代理。谢谢!

    1. config.json的话,只需要修改出站代理为你在用的vmess或者trojan代理了,

      只让一个设备走代理的话,那就最后3.2里面应用V2RAY链的时候只指定这台设备的Ip,假设Ip是 192.168.1.2

      iptables -t mangle -A PREROUTING -s 192.168.1.12 -j V2RAY

      1. Robert Robert

        但是你的例子里所有国内的域名和IP都是走直连, 只有国外的才走proxy, 而我的要求是所有的TCP/UDP都发给VPS, 肯定还有需要其他更改的地方, 想请教你这点。我的初步想法是干脆不设置routing, 让所有流量默认走outbound里的第一个元素主出站协议。

        我在Trojan-go使用与反馈电报群看到你的名字, 请问我可以通过电报请教你吗?

        1. 嗯,电报里是我,可以交流下

        2. 你这个需求的话,其实不如用ss,就是全部tcp,udp流量都通过代理,太合适不过

          1. Robert Robert

            我完全按照下面的文章在我本地的Debian11透明代理机上配置,公网地址敏感,我贴出来的没有用真实公网地址。如此简单的配置启动时总是报错,发现只有将"server":"152.145.104.112"改为本地IP:192.168.1.3或127.0.0.1或0.0.0.0才能正常启动,而"local_address"可以为任意地址。这显然有问题。请教如何排错?谢谢。我将具体的安装配置及报错信息通过电报发给你,如果你愿意,我可以提供远程SSH登录。由于时差关系,我可能无法及时回复,再次感谢
            https://www.gwduan.com/wiki/doku.php?id=computer:net:tproxy

            root@Debian11:~# cat /etc/shadowsocks-libev/config.json
            {

            "server":"152.145.104.112", "server_port":443, "local_address": "192.168.1.3", "local_port":10808, "password":"Mysspasswd", "timeout":86400, "method":"aes-256-gcm", "mode": "tcp_and_udp"

            }
            root@Debian11:~#
            root@Debian11:~# systemctl restart shadowsocks-libev
            root@Debian11:~#
            root@Debian11:~# systemctl status shadowsocks-libev
            ● shadowsocks-libev.service - Shadowsocks-libev Default Server Service

            Loaded: loaded (/lib/systemd/system/shadowsocks-libev.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sun 2022-10-30 12:30:36 EDT; 2s ago Docs: man:shadowsocks-libev(8) Process: 1525 ExecStart=/usr/bin/ss-server -c $CONFFILE $DAEMON_ARGS (code=exited, status=255/EXCEPTION)

            Main PID: 1525 (code=exited, status=255/EXCEPTION)

            CPU: 14ms

            Oct 30 12:30:35 Debian11 systemd[1]: Started Shadowsocks-libev Default Server Service.
            Oct 30 12:30:36 Debian11 ss-server[1525]: 2022-10-30 12:30:36 INFO: binding to outbound IPv4 addr: 192.168.1.3
            Oct 30 12:30:36 Debian11 ss-server[1525]: 2022-10-30 12:30:36 INFO: UDP relay enabled
            Oct 30 12:30:36 Debian11 ss-server[1525]: 2022-10-30 12:30:36 INFO: initializing ciphers... aes-256-gcm
            Oct 30 12:30:36 Debian11 ss-server[1525]: 2022-10-30 12:30:36 INFO: tcp server listening at 152.145.104.112:443
            Oct 30 12:30:36 Debian11 ss-server[1525]: 2022-10-30 12:30:36 ERROR: bind: Cannot assign requested address
            Oct 30 12:30:36 Debian11 ss-server[1525]: 2022-10-30 12:30:36 ERROR: failed to bind address
            Oct 30 12:30:36 Debian11 systemd[1]: shadowsocks-libev.service: Main process exited, code=exited, status=255/EXCEPTION
            Oct 30 12:30:36 Debian11 systemd[1]: shadowsocks-libev.service: Failed with result 'exit-code'.
            root@Debian11:~#

          2. 透明代理本地不是用 ss-server而是ss-redir,还有注意要以root身份启动ss-redir,因为配置文件里有配置udp

          3. https://github.com/shadowsocks/shadowsocks-libev 项目里专门有个配置透明代理的脚本,你可以参考一下,

            https://github.com/shadowsocks/shadowsocks-libev#transparent-proxy-pure-tproxy

  2. Stiwoll Stiwoll

    你好,请教如何将树莓派自己的流量也走代理呢?非常感谢用了你的规则文件后,树莓派作为旁路由(平行局域网)以及树莓派用作AP,自发热点(上行路由)都能顺利使用了。唯独树莓派自己需要定时更新分流文件(geoip.dat、geoside.dat)暂时无法进行。

    1. 你不妨试试在 mangle 表 OUTPUT 链应用这个V2RAY链规则

      iptables -t mangle -I OUTPUT -j V2RAY

      1. Stiwoll Stiwoll

        也就是在 iptables -t mangle -A PREROUTING -j V2RAY 的下方再加一行 iptables -t mangle -I OUTPUT -j V2RAY 对吧?

        1. 对的,你可以试下

          1. Stiwoll Stiwoll

            不行,报错“iptables v1.8.7 (nf_tables): RULE_INSERT failed (Invalid argument): rule in chain OUTPUT”

          2. 你V2RAY链不在了吗?不应该报这个错呀

          3. 你要么参考下这个,可能我说的也不对
            https://guide.v2fly.org/app/tproxy.html#%E9%85%8D%E7%BD%AE%E9%80%8F%E6%98%8E%E4%BB%A3%E7%90%86%E8%A7%84%E5%88%99

          4. Stiwoll Stiwoll

            你好,我结合官方的脚本已经解决了,如下:
            ipset create local_ip hash:net
            ipset add local_ip 0.0.0.0/8
            ipset add local_ip 10.0.0.0/8
            ipset add local_ip 127.0.0.0/8
            ipset add local_ip 169.254.0.0/16
            ipset add local_ip 172.16.0.0/12
            ipset add local_ip 192.168.0.0/16
            ipset add local_ip 224.0.0.0/4
            ipset add local_ip 240.0.0.0/4

            ip rule add fwmark 1 table 100
            ip route add local 0.0.0.0/0 dev lo table 100
            iptables -t mangle -N V2RAY
            iptables -t mangle -A V2RAY -p tcp -m set --match-set local_ip dst -j RETURN
            iptables -t mangle -A V2RAY -p udp -m set --match-set local_ip dst -m udp ! --dport 53 -j RETURN
            iptables -t mangle -A V2RAY -p udp -j TPROXY --on-port 12345 --tproxy-mark 1
            iptables -t mangle -A V2RAY -p tcp -j TPROXY --on-port 12345 --tproxy-mark 1
            iptables -t mangle -A PREROUTING -j V2RAY

            iptables -t mangle -N V2RAY_MASK
            iptables -t mangle -A V2RAY_MASK -p tcp -m set --match-set local_ip dst -j RETURN
            iptables -t mangle -A V2RAY_MASK -p udp -m set --match-set local_ip dst -m udp ! --dport 53 -j RETURN
            iptables -t mangle -A V2RAY_MASK -j RETURN -m mark --mark 0xff
            iptables -t mangle -A V2RAY_MASK -p udp -j MARK --set-mark 1
            iptables -t mangle -A V2RAY_MASK -p tcp -j MARK --set-mark 1
            iptables -t mangle -A OUTPUT -j V2RAY_MASK

          5. 嗯嗯

      2. Stiwoll Stiwoll

        朋友你有推特吗?或者TG。我们加个好友吧,希望能互相交流,共同进步。

        1. 有在用电报, https://t.me/hello_giant

添加新评论