再求教一次, OpenWrt 不能自启动 ss-tunnel

2017-03-17 12:55:17 +08:00
 henryshen233
RT ,路由器重新刷了一下系统,把 ss-redir 和 ss-tunnel 都写进了 /etc/rc.local , ss-redir 开机启动正常,但是 ss-tunnel 却不会,只能 ssh 上去手动重启,求解决办法,请教,我的 /etc/rc.local 如下:

/usr/bin/ss-redir -c /etc/ss-redir.json -b 0.0.0.0 -f /var/run/ss-redir.pid
/usr/bin/ss-tunnel -c /etc/ss-tunnel.json -b 0.0.0.0 -l 5353 -L 8.8.8.8:53 -u
/etc/init.d/dnsmasq restart
exit 0
6837 次点击
所在节点    Linux
11 条回复
jsq2627
2017-03-17 12:56:48 +08:00
可以尝试一下延迟一下延迟启动
henryshen233
2017-03-17 12:57:41 +08:00
@jsq2627 请问我应该怎么操作啊,谢谢啦
henryshen233
2017-03-17 13:00:01 +08:00
@jsq2627 请问你说的是 sleep 延时吗
henryshen233
2017-03-17 13:06:02 +08:00
设置了一个 init.d 貌似好了,谢谢一楼
jsq2627
2017-03-17 13:06:43 +08:00
似乎发现问题可能是你的 ss-tunnel 没有加 -f 参数
/usr/bin/ss-tunnel -c /etc/ss-tunnel.json -b 0.0.0.0 -l 5353 -L 8.8.8.8:53 -u -f /var/run/ss-tunnel.pid
延时启动的话是这样:
sleep 5 && /usr/bin/ss-tunnel -c /etc/ss-tunnel.json -b 0.0.0.0 -l 5353 -L 8.8.8.8:53 -u -f /var/run/ss-tunnel.pid


不过既然是 openwrt ,为何不直接装 luci-app-shadowsocks 呢?

顺道分享一个自己从 openwrt-shadowsocks 提取的 init 脚本,去掉了对 UCI 的依赖
https://gist.github.com/stackia/0c83f9ca66cdc010be48840ee5b0a09c
henryshen233
2017-03-17 13:19:29 +08:00
@jsq2627 谢谢哥们!
henryshen233
2017-03-17 13:22:35 +08:00
@jsq2627 应该不是没加-f 的原因
henryshen233
2017-03-17 13:24:36 +08:00
@jsq2627 用你的命令成功了,刚才 init.d 还是失败的
riverqh
2019-07-16 12:53:53 +08:00
每个命令行后面要加个空格和&符号,这样每个命令都独立在后台执行,否则因为第一个命令是服务导致进程没有终止,也就不会再启动后续的命令行了。
riverqh
2019-07-16 12:55:05 +08:00
/usr/bin/ss-redir -c /etc/ss-redir.json -b 0.0.0.0 -f /var/run/ss-redir.pid &

/usr/bin/ss-tunnel -c /etc/ss-tunnel.json -b 0.0.0.0 -l 5353 -L 8.8.8.8:53 -u &

# 这个可以不加&
/etc/init.d/dnsmasq restart

exit 0
henryshen233
2019-07-16 13:41:58 +08:00
@riverqh 谢谢啦,现在又刷回去路由器官方的固件了😄

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348171

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX