起因
v2raya不支持socks5代理,又不会写iptables规则,最后找到的解决方案就是ss-tproxy脚本。
ss-tproxy、ipt2socks、dns2tcp、chinadns-ng都是zfl9的作品,太强了!
其实阅读ss-tproxy的README已经足够了,在此只是记录一下过程,方便下一次部署。
本文凭借记忆编写,可能会有错误部分。
过程
阅读README得知ss-tproxy依赖以下程序:
- iptables
- ip6tables
- ipset
- dnsmasq
- chinadns-ng
- xt_TPROXY(内核模块)
- ip
- dns2tcp
根据自身情况,安装缺少的部分。
# 安装ipset与dnsmasq
emerge -a ipset dnsmasq
#编译并安装dns2tcp
git clone https://github.com/zfl9/dns2tcp
cd dns2tcp
make && sudo make install
#编译并安装chinadns-ng
git clone https://github.com/zfl9/chinadns-ng
cd chinadns-ng
make && sudo make install
安装ss-tproxy。
git clone https://github.com/zfl9/ss-tproxy
cd ss-tproxy
chmod +x ss-tproxy
sudo cp -af ss-tproxy /usr/local/bin
sudo mkdir -p /etc/ss-tproxy
sudo cp -af ss-tproxy.conf gfwlist* chnroute* ignlist* /etc/ss-tproxy
sudo cp -af ss-tproxy.service /etc/systemd/system # 可选,安装 service 文件
编译安装ipt2socks。
git clone https://github.com/zfl9/ipt2socks
cd ipt2socks
make && sudo make install
现在ss-tproxy和ipt2socks都安装好了,接下来开始配置。
添加proxy用户,并为ipt2socks授予权限。
useradd proxy
sudo setcap cap_net_bind_service,cap_net_admin+ep /usr/local/bin/ipt2socks
打开/etc/ss-tproxy/ss-tproxy.conf
,找到并修改以下变量。
tproxy='true'
proxy_procuser='proxy'
#此处的192.168.1.4与1080请根据自身情况填写。
proxy_startcmd='ipt2socks -u proxy -s 192.168.1.4 -p 1080 &>/dev/null&'
proxy_stopcmd='kill -9 $(pidof ipt2socks)'
保存后运行sudo ss-tproxy start
,不出意外的话应该就成功实现透明代理了。
本文由 徐艺扬 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Apr 10,2022