開機啟動 No-IP 服務
對於只有浮動 IP (沒有固定 IP) 的機器,有時候我會想把他當成 server 來用的話,
我習慣用 No-IP 的動態 DNS 服務。
以我使用 Ubuntu/Debian 的情況,安裝方式非常簡單,
只要參考官網給的資訊,一步一步設定就可以了。
但我常常會在設定完成後,忘記設定讓 No-IP 的程式開機啟動,所以在這裡記錄一下。
首先要在新增一個檔案 noip2
在 /etc/init.d/
下,完整的路徑是 /etc/init.d/noip2
。
我們可以直接編輯 noip2
這個檔案,並加入以下內容:
#! /bin/sh
# /etc/init.d/noip2
# Supplied by no-ip.com
# Modified for Debian GNU/Linux by Eivind L. Rygge <eivind@rygge.org>
# Updated by David Courtney to not use pidfile 130130 for Debian 6.
# Updated again by David Courtney to "LSBize" the script for Debian 7.
### BEGIN INIT INFO
# Provides: noip2
# Required-Start: networking
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start noip2 at boot time
# Description: Start noip2 at boot time
### END INIT INFO
# . /etc/rc.d/init.d/functions # uncomment/modify for your killproc
DAEMON=/usr/local/bin/noip2
NAME=noip2
test -x $DAEMON || exit 0
case "$1" in
start)
echo -n "Starting dynamic address update: "
start-stop-daemon --start --exec $DAEMON
echo "noip2."
;;
stop)
echo -n "Shutting down dynamic address update:"
start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
echo "noip2."
;;
restart)
echo -n "Restarting dynamic address update: "
start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
start-stop-daemon --start --exec $DAEMON
echo "noip2."
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
讓 noip2
成為可執行檔,並執行 update-rc.d
。
sudo chmod a+x /etc/init.d/noip2
sudo update-rc.d noip2 defaults
最後設定 systemctl
讓他開機執行。
sudo systemctl enable noip2
在找資料的時候,發現有些網友在上面這個步驟會出現這一類的 error :
update-rc.d: error: xxxx contains no runlevels, aborting.
看回文是說,在 noip2
這個檔案裡,### BEGIN INIT INFO
跟 ### END INIT INFO
裡的文字不能省略?
這個沒遇過,先記錄一下。