SEILが保持するPPPoE Globalアドレスを無理矢理引っ張って、一定間隔でDDNSへ登録するスクリプト

6月 29th, 2013 · No Comments

SEILといういわゆるインテリジェントルーターがあるのですが、そこに設定しているPPPoEのグローバルアドレス(dynamic)を一定間隔で
取得してDDNSに定期登録しちゃおう大作戦的なスクリプトを書いてみました。
# 本当はこんなものを書かなくとも、サーバーからtelnetさせればいいじゃんという話ではあるんですが、自分の家の環境ではいわゆる裏セグみたいなものを作っていて、サーバーのdefaultはそちらを向いていないので、登録作業の実行主体はあくまでもSEILである必要がありました。

SEILシリーズはmruby(組み込みruby)への取り組みがさかんですが、Turboはすでに生産停止されているものなので、そんなものに期待できるわけもなく、裏側にあるサーバー群からどうにかしてあげようという魂胆です。

#検証環境

Server:Freebsd9.0-RELEASE p3 + expect 5.43.0
SEIL: SEIL/Turbo 2.14-162
DDNS:ieserver.netさま

  • shellscript
    #!/usr/local/bin/bash
    /usr/local/bin/expect -c "
    spawn ssh -1 $1
    expect password:
    send $2\r
    expect #
    send \"telnet 61.197.187.238 80\r\"
    send \"GET /cgi-bin/dip.cgi?username=user&domain=hoge.hm&password=password&updatehost=1 HTTP/1.0\r\r\"
    interact timeout 1 exit
  • 引数1にSEILLan側アドレス(sshアクセスするアドレス)を記載、引数2にsshパスワードを指定し、cronで回します。
  • スクリプト内のget引数は環境に応じて変更してください。
  • 登録されるのは、telnetアクセスに利用したglobalIPアドレスになります。

Tags: スクリプト · 技術ログ · 更新

0 responses so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

Leave a Comment