根据这里的说法
openwrt上的luci ss有一个ipt_ext,再选项中添加
option ip_ext "--dport 21:1024"
,就可以只代理21到1024端口。
但是openwrt上的luci shadowsockr阉割了这个选项,直接在/etc/config/shadowsocksr中添加上述的代码是没有用的。
于是我们需要直接去修改ssr的启动脚本(/etc/init.d/ssr-redir.sh),手动在脚本的iptables命令后面添加参数。
找到所有含有--to $SS_REDIR_PORT
的iptables命令,比如
local subnet
for subnet in covered_subnets; do
iptables -t nat -A shadowsocksr_pre -ssubnet -p tcp -j REDIRECT --to $SS_REDIR_PORT
done
将其修改为
local subnet
for subnet in covered_subnets; do
iptables -t nat -A shadowsocksr_pre -ssubnet -p tcp -j REDIRECT --to $SS_REDIR_PORT --dport 21:1024
done
我找到的还有
case "mode" in
disable)
iptables -t nat -A shadowsocksr_pre -sip -j RETURN
;;
global)
iptables -t nat -A shadowsocksr_pre -s ip -p tcp -j REDIRECT --toSS_REDIR_PORT --dport 21:1024
iptables -t nat -A shadowsocksr_pre -s ip -j RETURN
;;
game)
iptables -t nat -A shadowsocksr_pre -p tcp -sip -m set ! --match-set china dst -j REDIRECT --to SS_REDIR_PORT
ipset add gameuserip
;;
esac
因为我自己基本不用这个访问控制所以只在全局后面加了端口限制。
那么上面的subnet应该就是除了访问控制限定的ip之外所有的内网ip。
然后保存,执行
/etc/init.d/ssr-redir.sh stop
/etc/init.d/ssr-redir.sh start
重启ssr
然后ssr就只会代理21到1024端口了!
————更新—————
看了下 github上有的luci shadowsocksr都是支持ipt_ext参数的
务必先试一试添加ipt_ext参数
3 thoughts to “在openwrt路由器上设置ssr绕过bt下载(只代理指定端口)”
看了下 github上有的luci shadowsocksr都是支持ipt_ext参数的
务必先试一试添加ipt_ext参数
那个可以支持?
https://github.com/shadowsocks/luci-app-shadowsocks/wiki/Use-UCI-system
赞美博主,最近正为此事而苦恼。