首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何让我的系统服务等待网络接口?

如何让我的系统服务等待网络接口?
EN

Ask Ubuntu用户
提问于 2015-07-11 12:11:58
回答 1查看 7K关注 0票数 1

我有一个新的脚本,我正在转换为systemd。要启动此服务,需要有特定的网络接口。

这就是我在我的暴发户脚本中使用的内容:

代码语言:javascript
运行
复制
start on (local-filesystems and net-device-added INTERFACE=tun0)

系统等效于什么?

EN

回答 1

Ask Ubuntu用户

发布于 2019-02-05 23:44:21

请参阅https://unix.stackexchange.com/questions/257888/systemd-wait-for-network-interface-to-be-up-before-running-service

您应该可以使用以下内容对新启动脚本中的内容进行稍微破坏的版本:

代码语言:javascript
运行
复制
Wants=sys-devices-virtual-net-tun0.device
After=sys-devices-virtual-net-tun0.device

systemd应该生成tun0‘设备’文件。唯一的问题是,如果openvpn没有足够快地创建tun0设备,您的服务启动将尝试“启动”sys-devices-virtual-net-tun0.device,这将导致超时失败(默认情况下,DefaultTimeoutStartSec指定为90秒,通常在/etc/systemd/system.conf中)。因此,最好要依赖openvpn,然后显式检查tun0设备,如果找不到它就重新启动:

代码语言:javascript
运行
复制
# Wait loosely on openvpn service
Wants=openvpnxxxx.service
After=openvpnxxx.service

# Make sure tun0 is up/active
ExecStartPre=/bin/bash -c "systemctl is-active sys-devices-virtual-net-tun0.device"
# Keep restarting till tun0 is up
Restart=on-failure
票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/647167

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档