我正在尝试noip Linux 客户端在运行 CentOS 7 的系统上启动时运行。为此,我尝试使用 /usr/lib/systemd/system/noip.service 中的以下文件为其配置服务
[Unit]
Description=Noip
User=root
[Service]
Type=forking
ExecStart=/usr/local/bin/noip2
[Install]
WantedBy=multi-user.target
我运行systemctl enable noip
并重新启动系统进行测试。运行时systemctl status sknoip
我得到以下信息:
● noip.service - Noip
Loaded: loaded (/usr/lib/systemd/system/noip.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2016-12-21 14:03:21 GMT; 1min 13s ago
Process: 853 ExecStart=/usr/local/bin/noip2 (code=exited, status=0/SUCCESS)
Main PID: 867 (noip2)
CGroup: /system.slice/noip.service
└─867 /usr/local/bin/noip2
Dec 21 14:03:20 server systemd[1]: Starting Noip...
Dec 21 14:03:20 server noip2[867]: v2.1.9 daemon started with NAT enabled
Dec 21 14:03:21 server noip2[867]: Can't gethostbyname for dynupdate.no-ip.com
Dec 21 14:03:21 server noip2[867]: Can't get our visible IP address from ip1.dynupdate.no-ip.com
Dec 21 14:03:21 server systemd[1]: Started Noip.
尽管它说正在运行,但它并没有更新 noip ip 地址,我认为这可能与访问 /usr/local/etc/no-ip2.conf 有关,但我尝试将其设置为 777,并在服务文件中设置用户并将此文件的所有者设置为该用户,但没有成功。
当我以 root 身份登录时停止并启动服务时,它可以正常启动并执行应有的操作 - 所以我猜想这与权限有关?有什么想法吗?
提前致谢,
斯图尔特
答案1
网络启动后,您需要运行服务(Noip)。
请尝试以下操作:
[Unit]
Wants=network-online.target
After=network-online.target
参考:
https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/