UbuntuでダイナミックDNSを使う

3322 のダイナミックDNS更新には、もっと簡単な方法がある。クライアントをインストールする必要も、設定ファイルを書く必要もなく、手動で IP を調べる必要すらない。

www.3322.org のサイトで紹介されている方法は lynx(多くの Linux や BSD システムに標準で入っている)を使うものだ。

lynx -mime_header -auth=用户名:密码 "http://members.3322.net/dyndns/update?system=dyndns&hostname=域名"

Ubuntu/Debian にデフォルトで入っているのは w3m なので、コマンドは次のように変更できる。

w3m -no-cookie -dump 'http://username:password@members.3322.net/dyndns/update?system=dyndns&hostname=your_domain.f3322.org'

このコマンドをスケジュールタスク crontab に入れて 15 分ごとに実行すれば、ダイナミックDNSを定期的に更新できる。現在のユーザーの Crontab ファイルを編集するには、次を使う。

crontab -e

ユーザーが作成した Crontab ファイルは通常 /var/spool/cron に保存され、ファイル名はユーザー名と同じになる。スケジュールタスクの例は次のとおり。

*/15 * * * * w3m -no-cookie -dump 'http://username:password@members.3322.net/dyndns/update?system=dyndns&hostname=your_domain.f3322.org' >/dev/null

ついでに、w3m を使って自分のグローバル IP を調べる方法も記録しておく。

w3m -no-cookie -dump www.ip138.com | grep -o "[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"

Leave a Reply