外部より玄箱にアクセスできるよう設定してみました。
固定IPでしたら簡単なのですが、一定時間おきにグローバルIPの変わる
サービスを利用していますので、DDNSを使用します。
まずはDDNSに登録をします。登録が無料です。
free DDNS Service
--Dynamic DO!.jp
http://ddo.jp/
--wgetのインストール
#apt-get update
#apt-get install wget
--IPアドレスを登録するスクリプト
# cd /usr
# mkdir -p ddns
# vi /usr/ddns/ipchk.pl //スクリプトを下記のとおり作成
-----
#!/usr/bin/perl
$CRT_IPF = '/usr/ddns/CRT_IP.dat';
$NEW_IPF = '/usr/ddns/NEW_IP.dat';
$LOG = '/var/log/ddns.log';
open INPUT,"$CRT_IPF";
$CRT_IP=<INPUT>;
close INPUT;
system("wget -q -O $NEW_IPF 'http://info.ddo.jp/remote_addr.php'");
open(INPUT,$NEW_IPF);
$c = <INPUT>;
$stp = index($c,"REMOTE_ADDR:")+12;
$edp = length($c);
$NEW_IP = substr($c,$stp,($edp-$stp));
close(INPUT);
if ($NEW_IP ne "" and $CRT_IP ne $NEW_IP) {
open (OUTPUT ,">$CRT_IPF");
print OUTPUT $NEW_IP;
close OUTPUT;
print "IP Address update: $CRT_IP to $NEW_IP\n";
system("wget -q -O - 'http://ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード'");
$now_string = localtime;
open (OUTPUT ,">>$LOG");
print OUTPUT "$now_string DDNS IP Address Updated. $CRT_IP to $NEW_IP\n";
close OUTPUT;
}
-----
* ドメインとパスワードは自分で設定したものに書き換える
--実行権限をつける
# chmod 711 /usr/ddns/ipchk.pl
--自動実行させる
# vi /etc/crontab
-----
*/30 * * * * root perl /usr/ddns/ipchk.pl
00 4 * * 0 root rm -f /usr/ddns/CRT_IP.dat
//30分おきにIP変更を通知する
//毎週日曜日04時にデータをクリアする
GWにモデムルータを使用している場合、IPマスカレードの設定も行いましょう。
例) port 80 forward to 192.168.0.100
外部からアクセスを可能にするととても便利ですが、不正アクセスなど
脅威です。しっかりとセキュリティー対策は行いましょう!!
--参考ページ
http://miyanet.ddo.jp/~shotech/kuro-box/Vine01.htm