corega BAR SW-4PHG の場合の設定

corega BAR SW-4PHG の場合の設定です。



corega BAR SW-4P HG の設定

ホームページとメールをインターネット公開するために corega BAR SW-4P HG を設定します。

ホームページの web は http(www)ポート(ポート番号:80)、メールは pop3ポート(ポート番号:110)、smtpポート(ポート番号:25)を使います。 これらのポート番号の通信を WAN(インターネット)から LAN 内の WEBくんに通す設定が必要です。 corega BAR SW-4P HG の「Advanced」「バーチャルサーバー」の設定で www, pop3, smtpを WEBくん(IPアドレス:192.168.1.200)に通します。

(注)UNIXでいうポート番号とはアプリケーションソフトに対応する番号と考えてよいです。









ddo.jp にADSLのグローバルIPアドレスを自動登録する

Y!BBでは 一時的に ADSL切断してもグローバルIPアドレスが変わりませんが、絶対に変わらないという保証はありません。 そこで定期的にグローバルIPアドレスが変化したかどうかをチェックして、変わっていれば ddo.jp に登録し直す設定をします。

  1. 別の開発マシンに rpm で導入した wget セットから wget を取り出し、これを WEBくんの /usr/sbin ディレクトリに入れます。

  2. /root/ddoupdate.sh スクリプトを作成します。 パーミッションは 700 にします。

    ・(rootpw) には corega BAR SW-4P HG のルートパスワードを入れます。
    ・192.168.1.1 には corega BAR SW-4P HG の IPアドレスを入れます。
    ・(user)(password) には ddo.jp に登録したユーザー名とパスワードを入れます。
    #!/bin/sh
    
    wget -qO - http://root:(rootpw)@192.168.1.1/title.htm | grep '^ <td nowrap>' | grep -v 'IP' | sed -e 's|^ <td nowrap>||' -e 's|</td>||' > /root/ip_new
    cmp /root/ip_new /root/ip_old > /dev/nul
    if [ $? != 0 ] ; then
      cp -f ip_new ip_old
      wget -O - 'http://ddo.jp/dnsupdate.php?dn=(user)&pw=(password)'
    fi
    
    このスクリプトの動作説明です。

    1. wget で corega BAR SW-4P HG の保守画面より現在のグローバルIPアドレスを抽出し /root/ip_new に保存する。
    2. cmp で以前のグローバルIPアドレス ip_old と ip_new を比較する。
    3. 比較結果が同じであれば、ここで終了。比較結果が異なると、ip_old = ip_new とし、wget で ddo.jp 登録のグローバルIPアドレスを更新する。

    構造的には、たった3ステップしかありません。 たぶん 世界一短いスクリプト です。 copyright (c) hirokun です。

  3. crontab -e で編集し、以下の行を追加します。
        10,25,40,55 * * * * /root/ddoupdate.sh > /dev/null
    
    これで毎時10,25,40,55分にこのスクリプトを実行します。

  4. グローバルIPアドレスが変わらなかったら ddo.jp へのグローバルIPアドレスを再登録しないのですが、この状態が1ヶ月以上続くと ddo.jp より(ダイナミックDNSサービスを長期に渡って使用しなかったとして)強制退会させられるようなので、crontab -e で次の行も追加しておいたほうが良いです。
        15 2 10,25 * * rm -f /root/ip_old
    
    これは、毎月10日と25日の2時15分に ip_old ファイルを消去します。 そうすると、その次の ddoupdate.sh スクリプト実行時(2時25分になります。)に強制的にグローバルIPアドレスを再登録します。