管理
LANDISKを外部に公開するには、外部からのリクエストがLANDISKへ届くように、 ルータを設定する必要があります。 さらには、世界中からユニークな名前でアクセスできるよう、 DynamicDNSサービス等を使用する必要があります。 本章では、その辺のTipsを記したいと思います。
http://ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード
wget -O - 'http://ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード'
landisk:/# mkdir /home/src/openssl096 landisk:/# cd /home/src/openssl096 landisk:/home/src/openssl096# apt-get build-dep openssl096 landisk:/home/src/openssl096# apt-get -b source openssl096
landisk:/home/src/openssl096# dpkg -i libssl0.9.6_0.9.6l-3_sh4.deb Selecting previously deselected package libssl0.9.6. (Reading database ... 9370 files and directories currently installed.) Unpacking libssl0.9.6 (from libssl0.9.6_0.9.6l-3_sh4.deb) ... Setting up libssl0.9.6 (0.9.6l-3) ...
landisk:/home/src/openssl096# apt-get install wget
landisk:/# wget -q -O - 'http://ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード' <html><body> <a href="/">Dynamic DO!.jp</a><br> SUCCESS: eggplant.ddo.jp <= [ 218.230.147.84 ]<br> IPアドレス更新完了.<br>※IPアドレスに変更がありませんため、パスワードはチェック しておりません。<br>
#!/bin/sh DATE=`date +"%Y/%m/%d %X"` wget -q -O - 'http://ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード' | \ awk '$0 ~ /ddo.jp/ { print date, $0;}' date="$DATE" >> /var/log/ddns.log
landisk:~# /root/bin/ddns.sh landisk:~# cat /var/log/ddns.log 2004/07/11 17:37:19 SUCCESS: eggplant.ddo.jp <= [ 218.230.147.84 ]<br>
# m h dom mon dow user command 45 * * * * root /root/bin/ddns.sh
landisk:~# /etc/init.d/cron start Starting periodic command scheduler: cron. landisk:~# ps aux | grep cron root 518 0.0 1.2 2020 764 ? S 14:11 0:00 cron root 900 0.0 1.2 2220 760 ? S 14:49 0:00 /usr/sbin/cron root 912 0.0 0.7 1472 460 ttyp1 S 14:50 0:00 grep cron
landisk:~# /etc/init.d/cron stop
192.168.0.80 landisk 192.168.0.80 eggplant.ddo.jp # (注:192.169.0.80はLANDISKのローカルアドレスを指定してください。) # (注:eggplant.ddo.jpはDDNSに登録したLANDISKの名前を指定してください。)
C:\WINDOWS\system32\drivers\etc\hosts
/private/etc/hosts
landisk:/# apt-get install gzip lynx ftp psmisc landisk:/# perl -MCPAN -e shell (初回設定時のみたくさん質問されますが、適当に答えてください。) cpan> install Bundle::LWP ←ネットワーク関係のモジュールをインストール cpan> exit
#!/usr/bin/perl use LWP::Simple; use LWP::UserAgent; ##################################### $URLFTP='ftp://user_id:passwd@ftp.geocities.co.jp/index.html'; $interval=30; # munutes $URL="http://ipdetect.dnspark.com/"; $logfile="/var/log/dummy_ddns.log"; ##################################### while(1){ ###################################### # Get Grobal IP Address ###################################### $IPADDR = get($URL); $IPADDR =~ s/\n//g; $IPADDR =~ s/^.*Address: ([0123456789\.]+).*$/$1/; ###################################### # FTP ###################################### $ua = LWP::UserAgent->new; $req = HTTP::Request->new(PUT => $URLFTP); $req->content(<<EOT); <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp"> <meta http-equiv="refresh" content="0;url=http://$IPADDR/www/"> <meta name="robots" content="noindex,nofollow"> </head> <body></body> </html> EOT $res = $ua->request($req); $status = $res->status_line; $base = $res->base; $base =~ s/^.*@//; $date = localtime(time); open(LOGFILE, ">>$logfile"); print LOGFILE "$IPADDR $status $date $base\n"; close LOGFILE; sleep 60*$interval; }
landisk:/# dummy_ddns.pl &
landisk:/# killall dummy_ddns.pl