OpenWrt上でのDnsmasqの設定

ステップ2まで完了したところ。バッファロールーター に繋いでいた外付けUSB HDDを繋いでみたが、意外なことにXFSファイルシステムにNASが対応してない模様なので一旦外した。

ステップ2まで完了したところ。バッファロールーターWZR-HP-AG300Hに繋いでいた外付けUSB HDDを繋いでみたが、意外なことにXFSファイルシステムにNASが対応してない模様なので一旦外した。

自宅内LANの整理 ” 計画をちびちびと進めている。ステップ2のNASを自宅LAN内に導入するところまでは順当に進んだが(写真)、バッファロー無線LANルーターWZR-HP-AG300Hに繋いでいた外付けUSB HDDの内容をNAS AS3102Tに移すのに手間取った。NASに直接そのUSB HDDを繋いで内容を移す簡単な作業だと思ったが、そのHDDで採用していたXFSファイルシステムに、意外なことにNAS AS3102Tが対応してない。Entware-ngでなんとかならないかと思ったがうまくいかず、結局Lubuntuを走らせたPCにUSB HDDをつなぎ、ネットワーク越しに移した。

ステップ3はDHCPサーバー機能をWZR-HP-AG300HからTL-WR703Nに移行すること。TL-WR703NにはOpenWrtをインストールしているが、2年以上前にBarrier Breaker RC3にアップグレードして以来、手を入れていない。単にDHCPサーバー機能を無効化や有効化するだけなら簡単だが、自宅LANではIPアドレスの固定アドレス払い出しに依存している部分があるので、その設定を移すのがポイント。TL-WR703で走っているOpenWrtはDHCPの固定払い出し設定は/etc/config/dhcpで指定する。なので当初の予定通り、WZR-HP-AG300HのWeb UI画面から固定払い出し設定をテキストで取り出して、テキスト・エディターでのちょっとした変換でOpenWrtの設定ファイルを作成。

LuCIによるDHCPのIPアドレス固定払い出しの設定

LuCIによるDHCPのIPアドレス固定払い出しの設定

設定ファイルのフォーマットが正しければ、OpenWrtの設定のためのWebインターフェースLuCIで該当ページを開いたときにそれが読み込まれて表示される。

図は実際にDHCPサーバーとして運用を開始した後に撮ったスクリーン・キャプチャだが、赤枠内にあるのが設定部分。ご覧の通り結構な数ある。青枠内が実際に払い出しが行われた機器とそのアドレス。

WZR-HP-AG300Hでは、DHCPによる固定アドレス払い出しの設定は、単にMACアドレスとIPアドレスのペアを指定するだけだったが、OpenWrtではホスト名も指定できるのが、まずはメモとして非常に助かる。考えがあってIPアドレスを割り振っていても、後で、え~っと、これはなんだっけ?となることが多かったからだ。

さらに、(デフォルトの設定のままなら)ホスト名.lanでその機器にアクセスできる。WZR-HP-AG300Hではできなかったことで、非常に便利。これはOpenWrtでの標準のDHCPサーバーDnsmasqがDNSサーバーでもあるからだ。この機能が使えるためには、それぞれの機器でネームサーバーがこのOpenWrtルーター(この場合TL-WR703)になっていなければならない。特になにもしなければ自動的にそうなる。

ひっかかった点が2点。1点目は、何もしないとDHCPクライアントにデフォルトゲートウェーとしてこのOpenWrtルーター(のIPアドレス)が設定されてしまうこと。DNS and DHCP configuration [OpenWrt Wiki]“の”DHCP OPTION example to set an alternative default gateway“の項“に/etc/config/dhcpでテキストで指定する方法が出ているが、LuCIでも指定できる。ただ、LANインターフェースの設定の一環として指定するのがちょっとわかりにくいかもしれない。

まず、以下の図にあるように、LANインターフェースの設定変更のためのボタンを押す。

OpenWrtのLuCI WebインターフェースでLANの設定をする

OpenWrtのLuCI WebインターフェースでLANの設定をする

すると以下のような画面が得られる。画面下部の DHCP Serverの項の、Advanced Settingsで設定できる。そもそものDHCPサーバーの有効化のため、General Setupタブの”Disable DHCP for this interface.”チェックボックスのチェックを外すことは言うまでもない。

LuCI上で別のデフォルト・ゲートウェイを設定

LuCI上で別のデフォルト・ゲートウェイを設定

ひっかかったもう1点は、これら作業の途中で、LuCIが反応しなくなってしまったこと。SSHでログインすることは問題なくできたので、opkgでLuCI関係のパッケージを強制再インストールすることでこの問題は解消した。

思ったよりずっと手間がかかったが、とにもかくにも”自宅内LANの整理 ” 計画のステップ3完了。

その後ステップ4の、PPPoE接続機能をWZR-HP-AG300HからGE-ONU PR-500MIに移すことも成功。ここで、上のTL-WR703NのDHCPサーバーの設定が生きるためには、PR-500MIのDHCPサーバー機能を切ることが肝要。これからは、LANが成立するためにはPR-500MIがきちんと動作するだけでは不十分で、それではLAN内にあるべき機器にDHCPでIPアドレスが振られずLANが破綻する。そうならないためには、TL-WR703Nもきちんと立ち上がって動作していることも要件となるので、そこは要注意。

広告

Sending Jabber/XMPP/Hangouts Messages from Asterisk Using AMI

Asterisk lets you interact with it through a simple text-baed TCP interface called Asterisk Manager Interface (AMI), designed much like SMTP. This page shows how you can use it to send Jabber/XMPP/Hangouts messages. It is assumed that you have already configured Asterisk with chan_motif and you already have a live Hangouts channel. You also have to have enabled Manager in manager.conf.

This is based on “ManagerAction_JabberSend – Asterisk Project – Asterisk Project Wiki,” but the real key is in the comment of the page; in the official documents everywhere, they say you need to use “JID:” to designate the target JID, but it actually has to be “Screenname:“.  This page is for Asterisk 1.8, but the record of a session with AMI below was taken on an OpenWrt box running Asterisk 1.1.

Boldface denotes that that part was the output from Asterisk Call Manager.

root@OpenWrt:/etc/asterisk# telnet localhost 5038
Asterisk Call Manager/1.3

Action: Login
Username: admin
Secret: blah blah blah

Response: Success
Message: Authentication accepted

Event: FullyBooted
Privilege: system,all
Status: Fully Booted

Action: JabberSend
Jabber: channel name you defined in xmpp.conf
Screenname: blahblah@gmail.com
Message: Hello!

Response: Success
Message: Attempting to send Jabber Message

Response: Success