我が家の自宅サーバは、No-IP.com の DynamicDNSサービスのお世話になっています。今回は、IPアドレス変化時に、自動更新してくれる Dynamic Update Client というソフトのインストール方法と使い方について書きます。このソフトは No-IP.com さんのサイトでwindows 用、Mac 用、Linux・BSD・Unix 用が無料配布されていますが、我が家の FreeBSD サーバには FreeBSD の ports からインストールしました。
# cd /usr/ports/dns/noip この記事を書いた時点の最新版は、noip-2.1.1.tar.gz です。
# make install clean
でインストール完了。この後、
# make conf
のコマンドで、個々のサーバの情報を入力して設定します。
まず、
Auto configuration for FreeBSD client of no-ip.com.
Multiple network devices have been detected.
Please select the Internet interface from this list.
By typing the number associated with it.
0 ppp0
1 sl0
2 ed1
複合的なネットワークデバイスが検知されました。下のリストからそれに関連したインターネットインターフェースを番号で選んでくださいと聞かれました。今我が家ではPPPoAを使っているので、 0 と入力して Enter。
※ ここで問われる ppp0 とか、sl0 などは、サーバ機によって皆違う訳ですが、実のところこの項目の意味はあまりよく分かっていないです。
# ifconfig -a
のコマンドを叩くと、
faith0: flags=8002
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 552
ed1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.60 netmask 0xffffff00 broadcast 192.168.0.255
ether 00:00:f4:3a:f8:b3
のような情報が表示されます。試しに sl0 の 1 を入力しても上手く機能しています。
次に 登録メールアドレスを尋ねられます。
Please enter the login/email string for no-ip.com abc@abc.com
と入力。次は登録パスワードの入力。
Please enter the password for user 'abc@abc.com' ******
我が家では4つの項目を登録しているので、
4 hosts are registered to this account.
Do you wish to have them all updated?[N] (y/N) y
y を入力。お次は IP アドレスをチェックする間隔です。
Please enter an update interval:[30] 15
15分間隔に設定しました。次に更新時に何かプログラムを実行しますか?、と尋ねられます。普通ここは N で終了してもいいのですが、我が家では
Do you wish to run something at successful update?[N] (y/N) y
y イエスとし、次でそのプログラムの実行コマンド書き込み、
Please enter the script/program name /usr/local/bin/noipupdate.sh
更新をお知らせするメールをわたしのところへ送るようにしてみました。
/usr/local/bin/ に置いた noipupdate.sh の内容は、下記のようなものです。
#!/bin/sh
address="abc@abc.com"
subject="No-IP"
subject=`echo $subject`
mail -s $subject $address << HONBUN
No-IP update was successful!
HONBUN
exit
これで知らぬ間に IP アドレスが変化し、このソフトによって自動更新されますと、わたしのところに No-IP update was successful! といった内容のメールが届きます。
なお、
# /usr/local/bin/noip2 -h
とコマンドしますと色々なコマンドの一覧が表示されます。
USAGE: noip2 [ -C [ -F][ -Y][ -U #min]
[ -u username][ -p password][ -x progname]]
[ -c file][ -d][ -D pid][ -i addr][ -S][ -M][ -h]
Version FreeBSD-2.1.1
Options: -C create configuration data
-F force NAT off
-Y select all hosts/groups
-U minutes set update interval
-u username use supplied username
-p password use supplied password
-x executable use supplied executable
-c config_file use alternate data path
-d increase debug verbosity
-D processID toggle debug flag for PID
-i IPaddress use supplied address
-I interface use supplied interface
-S show configuration data
-M permit multiple instances
-K processID terminate instance PID
-h help (this text)
今どんな設定になっているかを見るには、
# /usr/local/bin/noip2 -S とコマンドを打ちます。
1 noip2 process active.
Process 1622, started as /root/noip2
Using configuration from /usr/local/etc/no-ip2.conf
Last IP Address set ***.***.***.***
Account abc@abc.com
configured for:
host abc.no-ip.com
host -.abc.com ←ワイルドカード
host ftp.abc.com
host www.abc.com
Executing /usr/local/bin/noipupdate.sh upon successful update.
Updating every 15 minutes via /dev/ppp0 with NAT enabled.
実際に今動いているので、active Process 1622 などが表示されますが、
動いていない時は、ここの部分か表示されません。
※ インストール後、# make conf で設定した noip2.conf の設定は、後で
# ps ax
で /usr/local/bin/noip2 のプロセス番号を調べ
# kill プロセス番号 とコマンドを打って noip2 を一旦止めて、
# /usr/local/bin/noip2 -C
のコマンドで設定し直すことができます。設定し直した後また、
# /usr/local/bin/noip2
のコマンドを叩いて noip2 を再び起動させることをお忘れなく。m(^^)ma