再次更新:
我又试了7个配置文件。似乎有点眉目了。
其中3个,server部分填的是ip,另外4个填的是域名。
结果是填ip的都启动了,而填域名的都没有。
-----
参考wiki上这里以守护进程形式运行客户端,
输入命令 sudo systemctl enable shadowsocks-libev@config-xxx,
输出:
Created symlink /etc/systemd/system/multi-user.target.wants/shadowsocks-libev@config-xxx.service → /usr/lib/systemd/system/shadowsocks-libev@.service.
然后查看上面输出提到的/etc/.../multi-user.target.wants/shadowsocks-libev@config-xxx.service文件。
[Unit]
Description=Shadowsocks-Libev Client Service
After=network-online.target
[Service]
Type=simple
User=nobody
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/ss-local -c /etc/shadowsocks/%i.json
[Install]
WantedBy=multi-user.target
使用systemctl status命令输出如下:
shadowsocks-libev@config-xxx.service - Shadowsocks-Libev Client Service
Loaded: loaded (/usr/lib/systemd/system/shadowsocks-libev@.service; enabled; vendor preset: disabled)
可以看到有enabled。
还试了 Pcap_DNSProxy 这个软件,systemctl enable 命令对 Pcap_DNSProxy 对它是有用的,开机会自启。
但是,ss-libev则并不会自启。不知道该如何查错?
update:
忘了说了,`systemctl start`命令对ss-libev是有效的,我现在就是用的这个来启动。
最近编辑记录 azuki (2019-05-24 14:58:12)
离线
是不是设置了network-online.target依赖后 如果是systemd-networkd管理网络的话 则需要启用systemd-networkd-wait-online.service, netctl管理网络的话,启用netctl-wait-online.service
Arch Linux User
离线
@wxg4net
似乎和ss-libev的配置有关,填域名就不行。难道需要先获得地址,而不是有请求来的时候再获得?
但是也说不通,在我断网的时候,依然可以用systemctl start来启动那些填域名的配置啊……
离线
看了一下日志,显示不能解析hostname然后退出:
shadowsocks-libev@config-xxx.service: Failed with result 'exit-code'.
shadowsocks-libev@config-xxx.service: Main process exited, code=exited, status=255
2019-05-24 11:55:26 ERROR: getaddrinfo: Name or service not known
2019-05-24 11:55:26 ERROR: failed to resolve the provided hostname
pppoe自动连接是在5秒之后(11:55:31)
11:55:31 NetworkManager[520]: <info> [1558670131.2373] policy: auto-activating connection 'DSL 连接 1'
然后我根据错误信息找到了github上的这个issue。他也是用arch。
但是我没有尝试他提到的方法,因为他提到的/usr/lib/systemd/system/shadowsocks-libev@.service在我这里本来就有Wants=network-online.target那一行。问题还是没有解决。
ps:出错的都是server填域名的配置,server填ip的配置都可以在pppoe连接之前启动。(时间也是11:55:26)
为什么After=network-online.target对它们无效呢?
===============
顺便,我又试了一下wifi连接,什么问题都没有。wifi先激活,然后ss-libev启动是2秒之后:
12:13:50 NetworkManager[525]: <info> [1558671230.8461] policy: auto-activating connection 'wifi'
12:13:52 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg='unit=shadowsocks-libev@config-xxx
唔……又有了新的问题,为什么wifi正常,而pppoe连接却在ss-libev之后呢?
离线
启动 network-online.target 的程序没能处理好。推荐我的 wait-online 程序(AUR / cn 源 wait-online-git 包)
离线
感谢依云!使用 wait-online 果然没问题了。
离线