如何利用centos 7自带的service创建自启服务。
动机
我的梯子是自建的,用了v2ray+KCPTUN+udp2raw。其中v2ray是梯子的核心,没有使用奇奇怪怪的混淆。KCPTUN通过将KCP报文包裹在UDP中,并进行多倍发包以降低延迟和提高稳定性(因为UDP不需要握手),在晚高峰时效果拔群,代价就是流量多倍消耗,不过自建梯子的瓶颈通常都不是流量。
但是不少地方的运营商会对UDP数据包进行QOS(尤其是手机网络),当运营商间歇性QOS时,我的梯子也会间歇性抽风。因此我又在外面套了一层udp2raw,这个项目可以将UDP包伪装成TCP包,从而避免QOS。
这也是我为什么不使用v2的混淆的原因,就算真如某些小道消息所说,GFW能识别v2流量了,我也不觉得GFW能识别出UDP化再TCP化的v2流量,尤其是这么干的人非常少。
但是有一个问题,v2和KCPTUN都有现成的一键脚本,但是udp2raw偏小众,没有一键脚本,只能用shell运行,参数需要自己用 -XX、-XX的方式附加,自启也得自己搞定。我就是个linux菜鸡,只能去查cento 7的自启怎么配自启。
网上的教程一堆搬运来搬运去的洗稿教程,给我看麻了(尤其是CSDN)。centos 7的自启动服务管理方式和centos 6不一样,很多洗的稿根本没法用。另外,因为udp2raw的需要靠命令行在启动的时候附加参数(端口、模式、密码等),所以并不是简单地实现自启就行了。
最后还是自己搞定了,写一个教程备忘。
实现
通过centos 7自带的service创建一个启动服务即可,创建服务文件:
1 | vim /etc/systemd/system/udp2raw.service |
然后写入如下内容:
1 | [Unit] |
保存之后刷新服务,并将其添加为自启动:
1 | 重新加载service依赖 |
一些其他的指令:
1 | 停止服务 |
相关资料
关于服务创建的其他参数,可以去参考官方文档(以下链接不是centos的,但足够全):