*************************************************************** ieServerダイナミックDNSサービス dip.jp 自動更新手順 for RaspberryPi jessie/stretch 2016 05/22 01版 2017 07/16 02版 stretch確認 2018 02/05 03版 log保存場所変更 cron 実行確認注意記載 本手順書によりトラブルが発生しても責任は負えません。  自己責任でお願いします。 by JG3EBB *************************************************************** ddns dip.jp 自動更新perlスクリプトを作成する sudo nano /usr/local/bin/ddns-update.pl --------------------------ddns-update.pl------------------------------------------------ #!/usr/bin/perl # 1.setting IP adress workfile $CURRENT_IP_FILE = "/var/log/current_ip"; # 2.setting log file $LOG_FILE = "/var/log/ip_update.log"; # netIP kakunin pageURL $REMOTE_ADDR_CHK = "http://ieserver.net/ipcheck.shtml"; # DDNS koushin pageURL # cgi-page $DDNS_UPDATE = "http://ieserver.net/cgi-bin/dip.cgi"; # ieServer.Net acount(domain) $ACCOUNT = "xxxxxxx"; # acount(domain name) $DOMAIN = "dip.jp"; # domain $PASSWORD = "????????"; # password if(!open(FILE,"$CURRENT_IP_FILE")) { $CURRENT_IP = '0.0.0.0'; } else { $CURRENT_IP = ; close FILE; } $NEW_IP = '0.0.0.0'; $NEW_IP = `wget -q -O - $REMOTE_ADDR_CHK`; if ($NEW_IP ne "0.0.0.0" and $CURRENT_IP ne $NEW_IP) { $STATUS = `wget -q -O - '$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1'`; if ($STATUS =~ m/$NEW_IP/) { open (FILE ,">$CURRENT_IP_FILE"); print FILE $NEW_IP; close FILE; $TIME = localtime; open (FILE ,">>$LOG_FILE"); print FILE "$TIME $ACCOUNT.$DOMAIN Updated $CURRENT_IP to $NEW_IP\n"; close FILE; } else { $TIME = localtime; open (FILE ,">>$LOG_FILE"); print FILE "$TIME $ACCOUNT.$DOMAIN Update aborted $CURRENT_IP to $NEW_IP\n"; close FILE; } } exit; --------------------------end off file---------------------------------------------------------- 上記の$ACCOUNTの "xxxxxxx"及び$PASSWORDの "????????"は登録した自身のアカウント/パスワードを入力。 実行権限をつける。 sudo chmod 755 /usr/local/bin/ddns-update.pl 実行してみる。 sudo /usr/local/bin/ddns-update.pl ホームディレクトリ上にcurrent_ipとip_update.logが出来ていればOK cronへの登録 sudo nano /etc/crontab crontabの最終行に以下の内容を書き足す。 */10 * * * * root /usr/local/bin/ddns-update.pl 上記の場合10分毎にグローバルIPをチェックします。 20分毎の場合は*/10の所を*/20にします。 cron を再起動する。 sudo /etc/init.d/cron restart 自動起動されると /var/log/ にcurrent_ipとip_update.logが作成されます。 /var/log/にcurrent_ipとip_update.logが見えれば自動起動OKです。 <注意> 更新間隔(上記のcronでは10分)以上経過後logを確認の事 以上