1. はじめに
VoIPシステムを用いて、拠点間を内線で結べば通信コストを削減できます。一般的には、拠点をVPNで結ぶ必要がありますが、ここで紹介する方法を用いることで、拠点の内線接続を電話機のみで実現できます。
そこで今回は、VPN機能(L2TP・OpenVPN)を持った IP電話端末「ATCOM社製 AT-620」を利用し、安価な内線システムを構築する手順を紹介します。本社側にVPNサーバがあり、ネットワークがつながっている拠点であれば、この電話機1台で拠点間の内線が実現できます。
2. 構成
本手順で実現した構成図は以下のとおりです。
「Office B」に設置したAT-620から、OpenVPN で pfSenseに構築したOpenVPNサーバに接続します。
その後、「Office B」に設置してあるAsteriskにレジストができ、「Office A」IP電話との内線通話ができることを確認します。
以下の機器/フォームウェアで動作確認を行っています。
1) IP電話端末 ATCOM社製 AT-620
OpenVPN機能を使用するためには専用のファームウェアを適用する必要があります。
現時点(2011/09/16現在)で、OpenVPN対応の最新ファームウェア「V1.7.190.109」で動作確認を行いました。
2) Asteriskサーバ ATCOM社製 IP04
ファーム 「ATCOM_IP04-atcom-1123」で動作確認を行いました。
ATCOM社 サイト
3) OpenVPNサーバ pfSense
ファーム 「2.0 RC1」 で動作確認を行いました。
pfSense公式サイト
3. pfSense OpenVPNサーバの構築
pfSenseのWebGUIにログインします。Webブラウザから、設定したIPアドレスにhttp接続をします。
デフォルトのユーザー/パスワードは、「admin/pfsense」になります。
1) OpenVPN Client Export Utility の導入
pfSenseに登録したユーザのOpenVPNクライアント接続用ファイルを自動生成するプラグインを導入します。
[System]→[Packages]→[Available Packages]タブ より、下図の「+」アイコンをクリックします。
2) ユーザの作成
OpenVPNクライアント用ユーザを作成します。本手順ではユーザ名/パスワードを以下とします。
- ユーザ名 : at620-01
- パスワード : at620-01
[System]→[User Manager]→ 表 [admin]欄右下の「+」アイコンをクリックすると下図「System:User Manager」が表示されます。
青枠で囲まれている各設定値に以下を入力して、[Save]をクリックします。
- Username : at620-01
- Password : at620-01
- Full Name : at620-01
- Certificate : チェックする
- Autorized keys : チェックする
3) OpenVPNサーバの設定
OpenVPNサーバを設定します。
[VPN]→[OpenVPN]→[Wizard]タブをクリックすると、「OpenVPN Remote Access Server Setup Wizard」が表示されます。
「Tyep of Service」に「Local User Access」を選択して、[Nect]をクリックします。
[Add new CA]をクリックします。
CA認証局を作成します。
青枠で囲まれている各設定値を入力して、[Add new CA]をクリックします。本手順では以下に設定しています。
- Descriptive name : pfsense-ca
- Country Code : JP
- State of Province : Yamanashi
- City : Kofu
- Organization : itdo
- E-mail : itod@itdo.jp
[Add new Certificate]をクリックします。
サーバ証明書を作成します。
青枠で囲まれている各設定値を入力して、[Add new Certificate]をクリックします。本手順では以下に設定しています。
- Descriptive name : openvpn
- Country Code : JP
- State of Province : Yamanashi
- City : Kofu
- Organization : itdo
- E-mail : itod@itdo.jp
OpenVPNの設定をします。
青枠で囲まれている各設定値を入力します。本手順では以下に設定しています。
- Interface : WAN
- Protocol : TCP
- Description : for AT-620
- Tunnel Network : 10.0.8.0/24
- Local Network : 192.168.1.0/24
- Compression : チェックする
各設定値を入力後、[Next]をクリックします。
OpenVPNで使用するポートを開放するルールをファイアウォールに追加します。
以下を設定して、[Next]をクリックする。
- Firewall Rule : チェックする
- OpenVPN rules : チェックする
以上で、OpenVPNの設定は終了です。次画面で[Finish]をクリックして、ウィザードを終了します。
4) OpenVPNクライアント接続用ファイルのエクスポート
OpenVPNクライアント接続用のファイルをエクスポートします。
[VPN]→[OpenVPN]→ [Client Export]タブをクリックします。
「Host Name Resolution」に「Other」を選択し、グローバルIPを入力します。
入力後、表「at620-01」欄の「Configuration Archive」をクリックして、ファイルをダウンロードします。
pfSenseでの設定は以上です。 次にAT-620の設定をします。
3. AT-620 の設定
1) アップロード用ファイルの作成
ATCOMサイトの以下のURLから、アップロードファイル作成用のモジュールをダウンロードします。
ダウンロードしたファイルを展開して、不要な以下のファイルを削除します。
- \cert\openvpnConfig.bin
- \cert\config\以下の文字化けしているディレクトリ
「\cert\openconfig.bat」を以下に修正します。
if “%1″==”” goto end cd %1 :end mkromfs -q -n -o openvpnConfig.bin config bintoarray openvpnConfig.bin ← 削除する |
「\cert\config\passwd.txt」をpfSenseで設定したOpenVPN接続用ユーザ名/パスワードに変更します。
630026 → at620-01 に修正する wuchuan → at620-01 に修正する |
pfSenseからエクスポートした、OpenVPNクライアント接続用ファイルを展開して、「\cert\config\」以下に保存します。
また、「pfsense-tcp-1194.ovpn」を編集します。
dev tun persist-tun persist-key proto udp cipher AES-128-CBC tls-client client resolv-retry infinite remote xxx.xxx.xxx.xxx 1194 auth-user-pass → auth-user-pass passwd.txt に修正する pkcs12 pfsense-tcp-1194.p12 tls-auth pfsense-tcp-1194-tls.key 1 comp-lzo |
上記設定が終了したら、「\cert\openconfig.bat」を実行します。実行後にアップロード用ファイル「\cert\openConfig.bin」が生成されます。
2) OpenVPN クライアントの設定
AT-620 のWebGUIにログインします。Webブラウザから、設定したIPアドレスにhttp接続をします。
初期ユーザー/パスワードは、「admin/admin」になります。
上部メニュー[Advanced]→左側メニュー[VPN]をクリックします。以下の画面が表示されることを確認します。
※上図の青枠で囲まれた箇所のOpenVPN設定項目が表示されない場合、適用しているファームウェアが違います。
以下のサイトから対応するファームウェアをダウンロードして適用します。
本手順では以下のファームウェアを使用しています。
青枠で囲まれている各設定値を以下に設定して、[APPLY]をクリックします。
- VPNの種類 : OpenVPN
- VPN機能の有効 : チェックする
次画面で中央に表示される「Return」をクリックします。再度以下の画面が表示されます。
[ファイルを選択]をクリックして、作成したアップロード用ファイル「openCponfig.bin」を選択し、[Apply]をクリックします。
[Apply]クリック後、AT-620の再起動が行われます。
再起動終了後、VPN設定画面の上段「VPN IP」欄に、VPN IPアドレスが表示されているのを確認します。
3) IP04 IAX2ユーザの作成
IP04 で AT-620で使用するIAX2ユーザを作成します。IP04でIAX2ユーザをデフォルト値で作成すると、AT-620とのコーデック違反で着呼ができません。
本手順ではコーデックを以下にて確認を行いました。
- Codec Preference First : u-law
- Codec Preference Second : a-law
4) AT-620 IAX2ユーザの設定
上部メニュー[VOIP]→左側メニュー[IAX2]をクリックします。
青枠で囲まれている各設定値に以下を入力して、[APPLY]をクリックします。
- IAX2 Server Addr : AsteriskサーバのIPアドレス
- Account Name : IAX2 アカウント名
- Account Password : IAX2 アカウントのパスワード
- Phone Number : IAX2 アカウントの内線番号
- Enable Register : チェックする
上記設定後、「Register Status」が「Registered」になっていれば、正常に Asteriskサーバにレジストできています。
以上で設定は終了となります。
AT-620 から Office A に設置してある端末と内線通話ができるか試験を行いましょう。
4. まとめ
試験を行った結果、音声的には遅延も途切れも確認されず、特に問題は見当たりませんでした。
ただし、今回は拠点のAT-620 を1台としており、また、OpenVPNサーバについてもAlixにインストールしたpfSenseということもあるので、複数台の通話を実現できるか負荷試験を行う必要がありそうです。
本検証構成と同様のシステム構成で音声に問題があった場合は、OpenVPNをL2TPVPNにする、またはTCPをUDPに変更することでサーバ負荷を軽減できます。