PCリンクスでは、パソコンの設定・修理から組込み機器の受託開発まで承ります。

 

固定IPアドレスが安いプロバイダを選ぶ

最近は、固定IPアドレスの取得も安くなりました。サーバを設置時には、できれば固定IPアドレスを取得したいものです。

固定IPアドレスを取得すると、以下のようなメリットがあります。

  • サーバ運用を楽に行うことができます。
  • VPN(Virtual Private Network)を構築することによって、低価格で専用線を実現することができます。
  • 店舗などに防犯対策用のWebカメラを設置して、遠隔地から設置先の様子を確認することができます。

詳細は、こちらの サポート – 固定IPアドレスとは?  を参照ください。

 

固定IPアドレスが安いプロバイダ

固定IPを取得時に検討したプロバイダを下表に示します。

当方は、DNSの逆引き対応を考慮して、インターリンクと契約しています。
サイトによっては、「DNSの逆引きが設定されていない、もしくは、正引き・逆引きのホスト名が一致しない場合、メールの受信を拒否する」ように設定しているサイトも存在しています。このようなサイトであっても、メールが届くように、DNSの逆引き設定を行えるプロバイダを選択しました。

外向きのDNSサーバを自前で設置する場合は、GMOとくとくBBがベストかと思われます。
月額料金も最安値であり、無料でDNSの権限委譲を行うこともでき、サポート体制もしっかりしています。

項目 インターリンク GMO とくとくBB ASAHIネット
コース名 ZOOT NEXT for フレッツ光
ファミリー・マンションタイプ
フレッツ光ファミリー
固定IP接続サービス
フレッツ光ネクスト
ファミリーコース
初期費用 0円 0円 840
月額基本料金 1,260円 1,155円 1,890円
固定IPの数 1 1 1
IPアドレス逆引き 無料(DNSの権限委譲なし)
※コントロールパネルで設定
無料(DNSの権限委譲あり)
※DNSサーバの設置が必須
-
メールアドレス なし 15個まで無料 1個まで無料
サポート メール・セルフサポート 電話・メール 電話・メール

 

インターリンクの回線速度

Bフレッツ回線の回線速度を計測してみます。プロバイダはインターリンクです。

回線速度が50Mbps以上なので、まったく問題ありません。回線速度が1Mbps以下になりますと、インターネット接続時、ファイルのダウンロード動作等が極端に遅くなりますので、PPPoEの再接続等の対応が必要となります。

BFlets SpeedTest 011 固定IPが安いプロバイダを選ぶ

回線速度が極端に遅い場合は、15分程度VPNルーターの電源をOFFして、PPPoEセッションを張りなおします。

www.interlink.or.jpへtracertコマンドを実行し、経路情報を確認しておきます。PPPoEセッションによっては、混雑した経路が選択される場合もありますので、空いている経路を把握しておきます。

詳細は、こちらの セルフサポート – 再接続の要領と接続経路確認  を参照ください。

B Flets SpeedTest.02 300x183 固定IPが安いプロバイダを選ぶ

 

 nas933.p-xxxxの表示が「nas933」は、速いようです。

 

以上で、「固定IPアドレスが安いプロバイダを選ぶ」を終了します。

 

MicroServerにGigabit対応のUSB-LANアダプタを増設

今回は、PacketiX VPN Server用に2つ目のLANをMicroServerへ追加します。この追加したLANアダプタは、PacketiX VPN Server のローカルブリッジ用の物理インタフェースとなります。

MicroServerは、1000BASE-Tに対応したLANポートを1つオンボードで搭載しています。本当は、内部のスロットへLANボードを追加したいところですが、すでに2スロットとも増設済みなので、USB-LANアダプタを増設します。

アダプタは、BUFFALO社のギガビットUSB2.0対応アダプタ “LUA3-U2-AGT” を使用します。

LUA3 U2 AGT 01 300x225 MicroServerでUSB LANを使う

 ・USB2.0 / 1.1対応

・1000Base-T / 100Base-TX / 10Base-T対応

・採用チップは、ASIX AX88178

・AX88178チップはジャンボフレーム(最大9KB)に対応
 ※Linuxではドライバが非対応ですので使用できません。

 

LUA3-U2-AGT アダプタの回路構成

ハード屋としては、基板を見ないわけには行きません。

ケースは、ネジ止めではなく、俗に言う’羽目殺し’というもので、簡単に’開腹’できます。
基板を眺めると、まじめな回路設計がなされていることが、一目で判ります。
ローコスト品(購入価格2,650円)ですが、手抜き箇所も見当たらず、良い商品だと思います。

LUA3 U2 AGT Chip 269x300 MicroServerでUSB LANを使う

 

 ・ガラエポ2層基板を採用しています。

 ・コントローラ(MACを含むASIC)は、ASIX社のAX88178

 ・PHYは、MARVELL社のGbEトランシーバの88E1111

 ・この商品が2,650円とは… 安すぎですよ。バッファローさん
 製造原価は、1,000円以下(工賃込)というところでしょうか。

 

AX88178 Linuxドライバのアップデート

USBポートにLANアダプタを挿入すれば、すぐ使えるようになるのが理想ですが、残念ながらそうは行きません!
※10/100M USB2.0対応LANアダプタ “LUA3-U2-ATX” は、CentOSで、コネクタに挿すだけで使えます。

CentOSの標準ドライバでは、バッファローの “LUA3-U2-AGT” を動作させることができませんので、下記の手順に従い、ドライバを最新版にアップデートします。

  • ASIX社のWebサイトから最新版のドライバ(ソースファイル)をダウンロードする。
  • ダウンロードしたソースファイルを修正する。
  • ソースファイルをコンパイルする。
  • 最新版のドライバをインストールする。
  • カーネルのアップデートを禁止する。

 

AX88178の最新版Linuxドライバのダウンロード

CentOS5.8のカーネルに組み込まれているドライバは古いので、チップベンダ(ASIX社)のWebサイトから最新版のドライバをダウンロードします。

最初に、ソースコード格納先へ移動して、AX88178(コントローラIC)の最新版のドライバをダウンロードします。

[root@ms01 ~]# cd /usr/local/src/
[root@ms01 src]# wget http://www.asix.com.tw/FrootAttach/driver/AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip
--2012-05-22 17:30:31--  http://www.asix.com.tw/FrootAttach/driver/AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip
Resolving www.asix.com.tw... 210.243.224.51, 113.196.140.82
Connecting to www.asix.com.tw|210.243.224.51|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 37540 (37K) [application/zip]
Saving to: AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip

100%[=========================================================================================>] 37,540      97.6K/s   in 0.4s

2012-05-22 17:30:31 (97.6 KB/s) - AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip saved [37540/37540]

ダウンロードしたファイルを展開します

[root@ms01 src]# unzip AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip
Archive:  AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip
   creating: AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source/
  inflating: AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source/asix.c
  inflating: AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source/asix.h
  inflating: AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source/axusbnet.c
  inflating: AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source/axusbnet.h
  inflating: AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source/Makefile
  inflating: AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source/readme

ファイルの展開が完了したので、ダウンロードした圧縮ファイルを削除しておきます。

[root@ms01 src]# rm -f AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source.zip

ディレクトリ名が長いので、短い名前に変更します。

[root@ms01 src]# mv AX88772B_772A_760_772_178_LINUX_Driver_v4.2.0_Source ax88178

 

ソースコード(asix.c)の修正

ソースコードをコンパイルする前に、asix.cファイルを1箇所修正し、”LUA3-U2-AGT”が使用できるようにします。

“LUA3-U2-AGT” のベンダIDとプロダクトIDを、lsusbコマンドを使用して調べます。
0411がベンダIDで、006eがデバイスIDとなります。

[root@ms01 ~]# lsusb 
Bus 001 Device 003: ID 0411:006e BUFFALO INC. (formerly MelCo., Inc.)

上記のベンダIDとデバイスIDは、asix.cに記載されていませんので、ソースコードに追加します。
-> asix.cの最後尾あたりに、”BUFFALO LUA3-U2-AGT” のベンダIDとデバイスIDを追加します。

LUA3 U2 AGT 02 MicroServerでUSB LANを使う

 

ソースコードのコンパイルとインストール

最初に、カーネルのコンパイル環境を確認します。

[root@ms01 ~]# yum -y install kernel-devel
Loaded plugins: fastestmirror, priorities, versionlock

 (中略)

Installed:
  kernel-devel.i686 0:2.6.18-308.4.1.el5

Complete!

 

ソースコードをコンパイルします。

[root@ms01 ax88178]# make
make -C /lib/modules/2.6.18-308.4.1.el5/build SUBDIRS=/usr/local/src/ax88178 modules
make[1]: Entering directory /usr/src/kernels/2.6.18-308.4.1.el5-i686
  CC [M]  /usr/local/src/ax88178/asix.o
/usr/local/src/ax88178/axusbnet.c:242: 警告: ‘axusbnet_change_mtu’ defined but not used
  Building modules, stage 2.
  MODPOST
  CC      /usr/local/src/ax88178/asix.mod.o
  LD [M]  /usr/local/src/ax88178/asix.ko
make[1]: Leaving directory /usr/src/kernels/2.6.18-308.4.1.el5-i686

新しいドライバが作成されていることを確認します。

[root@ms01 ax88178]# ll
-rw-r--r-- 1 	root root  	93604 	May 23 	09:21 	asix.c
-rw-r--r-- 1 	root root  	17065 	Jun  7 	2011 	asix.h
-rw-r--r-- 1 	root root 	325760 	May 23 	09:21 	asix.ko
(略)

インストール前に、古いドライバのタイムスタンプを確認しておきます。

[root@ms01 ax88178]# ll /lib/modules/2.6.18-308.4.1.el5/kernel/drivers/usb/net
-rwxr--r-- 1 root root 23800 Apr 18 08:48 asix.ko

新しいドライバをインストールし、タイムスタンプが更新されていることを確認します。

[root@ms01 ax88178]# make install
su -c cp -v asix.ko /lib/modules/2.6.18-308.4.1.el5/kernel/drivers/usb/net /sbin/depmod -a
`asix.ko -> /lib/modules/2.6.18-308.4.1.el5/kernel/drivers/usb/net/asix.ko

[root@ms01 ax88178]#
-rwxr--r-- 1 root root 325760 May 23 09:21 asix.ko

動作中のカーネルに、最新版のasixモジュールを組み込み(インストール)します。

[root@ms01 ~]# modprobe asix

ここで、一旦、リブートさせて、dmesgログを確認します。
※新しいドライバでLANアダプタが動作していることを確認します。

[root@ms01 ~]# cat /var/log/dmesg
PCI: Setting latency timer of device 0000:06:00.0 to 64
tg3 0000:06:00.0: eth0: eth0: Tigon3
[partno(BCM95723) rev 5784100 PHY(5784)] (PCI Express) 10/100/1000Base-T Ethernet 98:4b:e1:xx:xx:xx
tg3 0000:06:00.0: eth0: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[0] TSOcap[1]
tg3 0000:06:00.0: eth0: dma_rwctrl[76180000] dma_mask[64-bit]
piix4_smbus 0000:00:14.0: SMBus Host Controller at 0xb00, revision 0
ASIX USB Ethernet Adapter:v4.2.0 09:21:49 May 23 2012

http://www.asix.com.tw

eth%d: status ep1in, 8 bytes period 11
eth1: register 'asix' at usb-0000:00:12.2-3, ASIX AX88178 USB 2.0 Ethernet, 00:24:a5:xx:xx:xx
usbcore: registered new driver asix

 

カーネルのアップデートを禁止

カーネルをアップデートすると、今回修正したasix.koもアップデートされてしまいますので、以後はカーネルのアップデートを禁止します。kernelファイルをエディタで開き、UPDATEDEFAULT=no に変更します。

[root@ms01 ~]# pico /etc/sysconfig/kernel
# 2012.05.22 usb-lan(ax88178) driver update. so kernel is fixed.
# UPDATEDEFAULT=yes
UPDATEDEFAULT=no

 

以上で、「MicroServerにGigabit対応のUSB-LANアダプタを増設する」を終了します。

 

PacketiX VPN Server(β2)を使う

以前の記事で、ソフトイーサ社のPacketiX VPN Server(ベータ1)をサーバにインストールしてVPN接続の試験を行っています。今回は、ソフトイーサ社からリリースされたPacketiX VPN Serverベータ2をインストールします。

ベータ1の機能に不満点はなかったのですが、ベータ1の使用期限が6月末日であることも考慮して、ベータ2に置き換えました。これで2012年11月30日まで、評価を継続することができます。

詳細は、こちらの PacketiX VPN 3.0 IPsec対応ベータ版 ホームページ  を参照ください。

 

VPN接続の概要

PacketiX VPN Server ベータ1の時とは、ルーター機器の構成を変更しています。

ルーター機器の接続は、NTT東日本から支給された、”ひかり電話対応ルータ”(PR-200NE)の配下に、ヤマハのVPNルーター(RTX1100)を接続しています。
VPNの機能は、RTX1100のVPN接続機能を有効にしており、PacketiX VPN Server は停止させていました。

今回は、RTX1100のVPN(L2TP/IPsec)機能を停止させて、PacketiX VPN Server を使用するようにします。

Packetixb2 kouseizu1 300x239 PacketiX VPN Server(β2)を使う

<PacketiX VPN Serverの接続イメージ>

・RTX1100のVPN機能(L2TP/IPsec)は使用しない。

・Linux Server 上のPacketiX VPN Serverを使用する。

・携帯端末の設定は、変更する必要はなし。

PacketiX VPN Serverのインストールは、以下のような手順で設定を行います。
ここでは、サーバ(Linux)はすでに用意されているものとします。

  • PacketiX VPN Serverが使用できるように、RTX1100の設定を変更します。
  • PacketiX VPN Server(ベータ1)をサーバ上から削除します。
  • 新しいPacketiX VPN Server(ベータ2)をサーバへインストールします。
  • サーバ管理マネージャを使用して設定を行います
  • 携帯端末からVPN接続試験を行います

 

VPNルーター(RTX1100)の設定変更

現在は、ヤマハのVPNルーター(RTX1100)のVPN機能(PPTP,L2TP/IPsec)を使用しています。

今回は、ルーターの設定を変更し、Packetix VPN Serverを使用してVPN接続を実現させます。変更したルーターの設定は、config2としてセーブしておきます。こうすることで、VPNの機能を臨機応変に切替え(ヤマハのVPNルーターの機能を使用するか、または、PacketiX VPN Serverを使用するかの選択)することが可能となります。

ルーターの設定変更点は、下記の3点となります。

  • サーバ宛のL2TP/IPsecパケットを許可します。(フィルタ設定)
  • 静的IPマスカレード設定を変更し、L2TP/IPsecパケットをサーバに送るようにします。
  • L2TP/IPsecの機能を停止させます。
[RTX]# ip filter 70 pass * サーバのIPアドレス esp * *
[RTX]# ip filter 71 pass * サーバのIPアドレス udp * 500
[RTX]# ip filter 72 pass * サーバのIPアドレス udp * 1701
[RTX]# ip filter 73 pass * サーバのIPアドレス udp * 4500

[RTX]# nat descriptor masquerade static 1 5 サーバのIPアドレス esp
[RTX]# nat descriptor masquerade static 1 6 サーバのIPアドレス udp 500
[RTX]# nat descriptor masquerade static 1 7 サーバのIPアドレス udp 4500

[RTX]# l2tp service off

ルーターの設定変更が完了したら、設定をセーブします。<注意>save 2 を指定します。

[RTX]# save 2
セーブ中... CONFIG2 終了

セーブしたconfig2をデフォルト設定に指定して、ルーターを再起動させます。

[RTX]# set-default-config 2
[RTX]# restart

RTX1100が再起動したら、”show environment”コマンドを実行し、デフォルト設定ファイル: config2が選択されていることを確認します。

[RTX]# show environment
RTX1100 BootROM Rev.5.07
RTX1100 Rev.8.03.92 (Thu Feb 16 20:50:25 2012)
  main:  RTX1100 ver=c0 serial=N1A015523 MAC-Address=00:a0:de:xx:xx:xx MAC-Addr
ess=00:a0:de:xx:xx:xx MAC-Address=00:a0:de:xx:xx:xx
CPU:   3%(5sec)   5%(1min)   3%(5min)    メモリ: 33% used
実行中ファームウェア: exec0  実行中設定ファイル: config2
デフォルトファームウェア: exec0  デフォルト設定ファイル: config2
起動時刻: 2012/05/12 15:31:26 +09:00
現在の時刻: 2012/05/12 15:35:36 +09:00
起動からの経過時間: 0日 00:04:10
セキュリティクラス レベル: 1, FORGET: ON, TELNET: OFF

 

PacketiX VPN Serverベータ2のインストール(Linux版)

今回は、MicroServerのCentOS5.8上に、PacketiX VPN サーバをインストールします。
すでに、サーバ上にベータ1のPacketiX VPNサーバがインストールされていますので、ベータ1を削除します。

[root@ms02 ~]# rm -rf /usr/local/vpnserver

次に、サーバにpacketiXベータ2のソースコードをダウンロードします。

[root@ms02 ~]# cd /usr/local/src/
[root@ms02 src]# wget http://download.softether.co.jp/folder/vpn3_ipsec_beta/v3.04-7844-beta2-2012.03.18/Japanese/Linux/PacketiX%20VPN%20Server%203.0/64bit%20-%20Intel%20x64%20or%20AMD64/vpnserver-v3.04-7844-beta2-2012.03.18-ja-linux-x64-64bit.tar.gz
--2012-05-12 16:17:09--  http://download.softether.co.jp/folder/vpn3_ipsec_beta/v3.04-7844-beta2-2012.03.18/Japanese/Linux/PacketiX%20VPN%20Server%203.0/64bit%20-%20Intel%20x64%20or%20AMD64/vpnserver-v3.04-7844-beta2-2012.03.18-ja-linux-x64-64bit.tar.gz
download.softether.co.jp をDNSに問いあわせています... 49.212.63.110
download.softether.co.jp|49.212.63.110|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 6534172 (6.2M) [application/x-gzip]
vpnserver-v3.04-7844-beta2-2012.03.18-ja-linux-x64-64bit.tar.gzに保存中

100%[====================================================================================================================================>] 6,534,172    368K/s 時間 18s

2012-05-12 16:17:27 (354 KB/s) - vpnserver-v3.04-7844-beta2-2012.03.18-ja-linux-x64-64bit.tar.gzへ保存完了 [6534172/6534172]

ダウンロードした圧縮ファイルを展開します。

[root@ms02 src]# tar zxvf vpnserver-v3.04-7768-beta-2012.01.19-ja-linux-x64-64bit.tar.gz
vpnserver/
vpnserver/Makefile
vpnserver/.install.sh
vpnserver/ReadMeFirst_License_UTF8.txt
vpnserver/ReadMeFirst_License_SJIS.txt
vpnserver/ReadMeFirst_License_EUC.txt
vpnserver/ReadMeFirst_License_GB2312.txt
vpnserver/code/
vpnserver/code/vpnserver.a
vpnserver/code/vpncmd.a
vpnserver/lib/
vpnserver/lib/libcharset.a
vpnserver/lib/libcrypto.a
vpnserver/lib/libedit.a
vpnserver/lib/libiconv.a
vpnserver/lib/libncurses.a
vpnserver/lib/libssl.a
vpnserver/lib/libz.a
vpnserver/lib/License.txt
vpnserver/hamcore.se2

ソースコードの展開先へ移動します。

[root@ms02 src]# cd vpnserver

makeコマンドを実行して、ソースコードをコンパイルします。

[root@ms02 vpnserver]# make
--------------------------------------------------------------------

PacketiX VPN Server 3.0 (Ver 3.04, Build 7768, Japanese, Intel x64 / AMD64) for Linux Install Utility
Copyright (C) 2004-2010 SoftEther Corporation. All Rights Reserved.

--------------------------------------------------------------------

Do you want to read the License Agreement for this software ?

 1. Yes
 2. No

Please choose one of above number:1
	中略
VPN Tools>Check
Check コマンド - PacketiX VPN の動作が可能かどうかチェックする
---------------------------------------------------
PacketiX VPN 動作環境チェックツール

Copyright (C) 2004-2010 SoftEther Corporation.
All Rights Reserved.

この動作環境チェックツールを実行したシステムがテストに合格した場合は、PacketiX VPN ソフトウェアが動作する可能性が高いです。チェックにはしばらく時間がかかる場合があります。そのままお待ちください...

カーネル系のチェック中...
              [合格] ○
メモリ操作系のチェック中...
              [合格] ○
ANSI / Unicode 文字列処理系のチェック中...
              [合格] ○
ファイルシステムのチェック中...
              [合格] ○
スレッド処理システムのチェック中...
              [合格] ○
ネットワークシステムのチェック中...
              [合格] ○

すべてのチェックに合格しました。このシステム上で PacketiX VPN Server / Bridge が正しく動作する可能性が高いと思われます。

コマンドは正常に終了しました。

--------------------------------------------------------------------
The preparation was completed.

Please execute ./vpnserver start to run PacketiX VPN Server 3.0 Background Service.
And please execute ./vpncmd to run PacketiX VPN Command-Line Utility to configure PacketiX VPN Server 3.0.
--------------------------------------------------------------------

make[1]: ディレクトリ /usr/src/vpnserver から出ます

コンパイルが正常に完了したら、vpnserverディレクトリを/usr/local 配下に移動します。

[root@ms02 vpnserver]# cd ..
[root@ms02 src]# mv vpnserver /usr/local

/usr/localvpnserverディレクトリへ移動して、パーミッションをroot権限でなければ読み書きできないように変更します。

[root@ms02 src]# cd /usr/local/vpnserver/
[root@ms02 vpnserver]# chmod 600 *
[root@ms02 vpnserver]# chmod 700 vpncmd
[root@ms02 vpnserver]# chmod 700 vpnserver

 

ここで、動作チェックを行います。

[root@ms02 vpnserver]# ./vpncmd
vpncmd コマンド - PacketiX VPN コマンドライン管理ユーティリティ
PacketiX VPN コマンドライン管理ユーティリティ (vpncmd コマンド)
Version 3.04 Build 7768 Beta 1 (Japanese)
Compiled 2012/01/19 22:33:51 by yagi at pc25
Copyright (C) 2004-2010 SoftEther Corporation. All Rights Reserved.

vpncmd プログラムを使って以下のことができます。

1. VPN Server または VPN Bridge の管理
2. VPN Client の管理
3. VPN Tools コマンドの使用 (証明書作成や通信速度測定)

1 - 3 ?選択: 3

VPN Tools を起動しました。HELP と入力すると、使用できるコマンド一覧が表示できます。

VPN Tools> check
Check コマンド - PacketiX VPN の動作が可能かどうかチェックする
---------------------------------------------------
PacketiX VPN 動作環境チェックツール

Copyright (C) 2004-2010 SoftEther Corporation.
All Rights Reserved.

この動作環境チェックツールを実行したシステムがテストに合格した場合は、PacketiX VPN ソフトウェアが動作する可能性が高いです。チェックにはしばらく時間がかかる場合があります。そのままお待ちください...

カーネル系のチェック中...
              [合格] ○
メモリ操作系のチェック中...
              [合格] ○
文字列処理系のチェック中...
              [合格] ○
ファイルシステムのチェック中...
              [合格] ○
スレッド処理システムのチェック中...
              [合格] ○
ネットワークシステムのチェック中...
              [合格] ○

すべてのチェックに合格しました。このシステム上で PacketiX VPN Server / Bridge が正しく動作する可能性が高いと思われます。

コマンドは正常に終了しました。

VPN Tools> exit
[root@ms02 vpnserver]#

 

次に、vpnserver をデーモンプロセスとして Linux に登録するために、スタートアップスクリプトを /etc/init.d/vpnserver という名前で新規ファイルとして作成します。今回は、ベータ1のインストール時に既に作成済みなので、この手順はパスします。

[root@ms02 vpnserver]# pico /etc/init.d/vpnserver
#!/bin/sh
# chkconfig: 345 98 01
# description: PacketiX VPN Server 3.0

DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver

test -x $DAEMON || exit 0

case "$1" in
start)
$DAEMON start

touch $LOCK
;;
stop)
$DAEMON stop

rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

作成したスタートアップスクリプトファイルに実行権限を付与します。

[root@ms02 vpnserver]# chmod 755 /etc/init.d/vpnserver

最後に、「chkconfig」コマンドを使用して、上記のスタートアップスクリプトが Linux カーネル起動時に、自動的にバックグラウンドで起動するようにします。

[root@ms02 vpnserver]# chkconfig --add vpnserver
[root@ms02 vpnserver]# chkconfig vpnserver on

vpnserverを起動します。

[root@ms02 vpnserver]# service vpnserver start
PacketiX VPN Server Service Started.

 

PacketiX VPN Serverの設定

PacketiXVPNサーバは、「PacketiX VPN サーバ管理マネージャ(以後、サーバ管理マネージャ)」を使用して、ローカルのWindowsパソコンからGUIで簡単に管理することができます。

PacketiX VPN サーバのWindows版配布パッケージには、インストーラなしの”Exe-Only版”が用意されています。
Windowsサーバ版(32bit)は、こちらの VPNサーバ管理マネージャのダウンロード  からダウンロード出来ます。

この”Exe-Only”版のパッケージをダウンロードして、実行するすると、任意のディレクトリに PacketiX VPN サーバの実行ファイルが展開されます。

vpnsmgr 01 PacketiX VPN Server(β2)を使う

このファイルの中の上記の 2 つのファイル(vpnsmgr.exeとhamcore.se2)だけで、サーバ管理マネージャを実行することができます。

サーバ管理マネージャを用いて、PacketiX VPN Serverに接続し、簡易セットアップウィザードを使用して、リモートアクセス用の VPN サーバの設定を簡単に行うことができます。

Windowsパソコン上でvpnsmgr.exeを実行して、サーバ管理マネージャを起動させます。今回は、新規インストールではありませんので、前回のインストールとは、若干、手順が異なります。

サーバ管理マネージャが起動したら、[バージョン情報]をクリックして、VPN Server Managerのバージョンを確認します。

Packetixb2 001 271x300 PacketiX VPN Server(β2)を使う

 

 

 

 バージョン情報(A)をクリックします。

VPN Server Managerのバージョンが”Version 3.04 Build 7844″であることを確認します。

Packetixb2 011 300x266 PacketiX VPN Server(β2)を使う

 

 

 バージョンを確認し、OKボタンをクリックします。

サーバ管理マネージャの起動画面に戻りますので、[接続]ボタンをクリックします。
すると、「サーバ管理者パスワードを設定しますか?」と聞かれるので、[OK]ボタンを押します。

Packetixb2 021 PacketiX VPN Server(β2)を使う

サーバ管理者パスワードを変更します。

Packetixb2 031 300x135 PacketiX VPN Server(β2)を使う

 パスワードを入力して、[OK]ボタンをクリックします。

簡易セットアップを行います。

Packetixb2 042 300x220 PacketiX VPN Server(β2)を使う

 

 リモートアクセス VPNサーバにチェックを入れて、[次へ]ボタンをクリックします。

簡易セットアップで指定した内容が初期化される旨、確認画面が表示されますので、[はい]をクリックします。

Packetixb2 05 PacketiX VPN Server(β2)を使う

仮想HUB名を入力します。

Packetixb2 061 300x135 PacketiX VPN Server(β2)を使う

ユーザを作成します。

Packetixb2 071 300x288 PacketiX VPN Server(β2)を使う

 

 

 [ユーザを作成する]ボタンをクリックします。

ユーザの新規作成画面が開きますので、必要事項を記入します。

Packetixb2 081 300x209 PacketiX VPN Server(β2)を使う

 

 ユーザ名、本名、説明を入力します。

 パスワードを入力します。

 最後に、[OK]ボタンをクリックします。

ユーザを作成完了メッセージが表示されますので[OK]ボタンをクリックします。

Packetixb2 09 PacketiX VPN Server(β2)を使う

ユーザ管理画面で登録した情報の確認を行います。

Packetixb2 101 300x169 PacketiX VPN Server(β2)を使う

 

 確認が完了したら、[閉じる]ボタンをクリックします。

次に、IPsec設定を行いますか?と聞かれますので、[はい]ボタンうぃクリックします。

Packetixb2 11 PacketiX VPN Server(β2)を使う

IPsecの設定を行います。

Packetixb2 121 300x229 PacketiX VPN Server(β2)を使う

 

 [L2TPサーバ機能を有効にする]にチェックを入れます。

 IPsec事前共有鍵を入力します。

 最後に、[OK]ボタンをクリックします。

次に、ローカルブリッジを作成します。

Packetixb2 131 300x229 PacketiX VPN Server(β2)を使う

 

 [ローカルブリッジの設定]ボタンをクリックします。

ローカルブリッジを設定します。

Packetixb2 141 300x278 PacketiX VPN Server(β2)を使う

 

 [仮想HUB]を選択します。

 [LANカード]はeth0を選択します。

 最後に、[ローカルブリッジを追加]ボタンをクリックします。

確認メッセージが表示されますので[OK]ボタンをクリックします。

Packetixb2 15 PacketiX VPN Server(β2)を使う

ローカルブリッジの設定を確認します。

Packetixb2 161 300x278 PacketiX VPN Server(β2)を使う

 

 状態が”動作中”と表示されていることを確認します。

 

 以上でPacketiX VPN Serverの設定は終了です。

 

EVO3Dからの接続テスト

VPNの管理画面を表示させます。

Packetixb2 171 300x240 PacketiX VPN Server(β2)を使う

 

 [セッションの管理]ボタンをクリックします。

EVO3DからVPN接続されていることを確認します。

VPN 012 300x215 PacketiX VPN Server(β2)を使う

 

 接続中のユーザ名を確認します。

セッションの詳細を確認します。

VPN 021 300x238 PacketiX VPN Server(β2)を使う

IPアドレステーブルの詳細を確認します。ここでは、DHCPサーバがEVO3Dに払い出ししたローカルIPアドレスを確認することができます。

VPN 03 300x203 PacketiX VPN Server(β2)を使う

 

 EVO3DのローカルIPアドレスを確認します。

WindowsパソコンからEVO3Dへpingを打ちます。

RTX1100の場合と同様に、EVO3Dからの応答はありません。
auの3G網に設置されているアドレス変換を行っているコア・ルーターで、ICMPが破棄されている模様です。

VPN 041 300x169 PacketiX VPN Server(β2)を使う

 

 pingは通りませんが、通信は問題ありません。

 

RTX1100のログに “ARP: Illegal packet…..” が記録される

PacketiX VPN Serverを運用開始すると、YAMAHAのVPNルーター(RTX1100)のログに、イリーガルパケットが記録されるようになります。

無視しても問題ないのですが、精神衛生上好ましくありませんのでイリーガルパケットが記録されないように対応します。

May 13 17:14:03 192.168.0.1 [INSPECT] PP[01][out][107] UDP 192.168.xx.xx:123 > 219.123.xx.xx:123 (2012/05/13 17:13:32)
May 13 17:14:03 192.168.0.1 ARP: Illegal packet at LAN1, IP=172.31.14.132, MAC=00:ae:0d:83:51:26
May 13 17:14:08 192.168.0.1 ARP: Illegal packet at LAN1, IP=172.31.14.132, MAC=00:ae:0d:83:51:26
May 13 17:14:10 192.168.0.1 [INSPECT] PP[01][out][107] UDP 192.168.xx.xx:123 > 131.113.xx.xx:123 (2012/05/13 17:13:39)

イリーガルパケットが記録されないようにする方法は、オンラインマニュアル上に”ちゃんと”記述されています。

Packetixb2 18 PacketiX VPN Server(β2)を使う

PacketiX VPN Serevrのコンフィグレーションファイルを修正します。
この変更を実施することで、RTX1100のログにイリーガルパケットが記録されなくなります。

Packetixb2 19 300x259 PacketiX VPN Server(β2)を使う

 

1) Winidowsパソコン上へダウンロード

2) テキストエディタで該当箇所を ‘true’ に修正

3) 修正したファイルをインポートして書き込み

 

メルコ社のUSB-LANアダプタ(LUA3-U2-AGT)使用時のエラーログ

メルコ社のUSB-LANアダプタを2枚目のLAN(eth1)として追加して、eth1と仮想HUBをローカルブリッジさせてVPN接続を行うと、下記のようなエラーメッセージがログに記録されます。

2012-05-28 14:01:53.591 [HUB VPN]
セッション SID-LOCALBRIDGE-1 : エラー : 物理的な Ethernet インターフェイス eth1のMTU
は 現在 1468 です。
1640バイトのEthernetパケットを送受信するためMTUを1640に設定することに失敗しました。
この物理的なEthernetインターフェイスおよびデバイスドライバが 1,514 バイト(ペイロード部
分:1,500バイト)を超えるEthernetパケットの送受信に対応していない可能性があります。
その場合、サイズの大きなタグVLANパケットの送受信はできません。物理的なEthernetインター
フェイスの種類をJumbo Framesに対応したものに交換するか、デバイスドライバをアップデート
してみてください。
また、オペレーティングシステムやデバイスドライバの設定で、Jumbo Framesを許可してください。

このエラーは、PacketiX VPN Serverが、タグVLANを使用するためにMTUの拡大が可能かどうかをチェック時のエラーメッセージです。

「メルコ社のUSB-LANアダプタ(LUA3-U2-AGT)は、Linuxドライバが MTU の拡大に対応していない(Jumbo Framesは使用できない)」ことを意味しているだけで、タグ付き VLAN (802.1q)を使用しない場合には、動作に影響はありませんので、無視しても問題ありません。

ちなみにこのエラーメッセージは、LUA3-U2-AGT(GbE)/LUA3-U2-ATX(100M)にかかわらず、MTUの拡大ができないアダプタでは、このエラーメッセージが記録されます。

 

VPNルーターのVPN機能(L2TP/IPsec)を使用する場合

現在のVPNルーター(RTX1100)の設定は、PacketiX VPN Serverを使用するように、設定されています。PacketiX VPN Serverは、ベータ2の評価版なので、11月末日で使用できなくなります。その時は、VPNルーターの機能を使用してVPN接続することになります。

RTX1100のVPN(L2TP/IPsec)を使用して携帯端末を接続する場合は、VPNルーターの設定を変更します。PacketiX VPN Server用に変更した設定(config2)を、元の設定(config0)に切り替えするだけでOKです。

サーバにインストールしたPacketiX VPN Serverは、そのままの状態にしておき、必要に応じて、RTX1100の設定(config)を切り替えて、いつでも評価できる状態にしておきます。

config0をデフォルト設定に指定して、ルーターを再起動させます。

[RTX]# set-default-config 0
[RTX]# restart

ルーターが再起動したら、config0で起動していることを確認します。

[RTX]# show environment
RTX1100 BootROM Rev.5.07
RTX1100 Rev.8.03.92 (Thu Feb 16 20:50:25 2012)
  main:  RTX1100 ver=c0 serial=N1A015523 MAC-Address=00:a0:de:xx:xx:xx MAC-Addr
ess=00:a0:de:xx:xx:xx MAC-Address=00:a0:de:xx:xx:xx
CPU:   4%(5sec)   7%(1min)   1%(5min)    メモリ: 33% used
実行中ファームウェア: exec0  実行中設定ファイル: config0
デフォルトファームウェア: exec0  デフォルト設定ファイル: config0
起動時刻: 2012/05/19 09:10:24 +09:00
現在の時刻: 2012/05/19 09:10:51 +09:00
起動からの経過時間: 0日 00:00:27
セキュリティクラス レベル: 1, FORGET: ON, TELNET: OFF

config0の設定を確認します。

[RTX]# show config
# RTX1100 Rev.8.03.92 (Thu Feb 16 20:50:25 2012)
(略)
ip filter 70 pass * 192.168.0.1 esp * *
ip filter 71 pass * 192.168.0.1 udp * 500
ip filter 72 pass * 192.168.0.1 udp * 1701
ip filter 73 pass * 192.168.0.1 udp * 4500
(略)
nat descriptor masquerade static 1 5 192.168.0.1 esp
nat descriptor masquerade static 1 6 192.168.0.1 udp 500
nat descriptor masquerade static 1 7 192.168.0.1 udp 4500
(略)
l2tp service on

 

以上で、「PacketiX VPN Server(β2)を使う」を終了します。

 

iPhoneでRTX1100のVPN接続を使う

前回までに、ヤマハのVPNルーター ‘RTX1100′ の設定を、一通り、完了しました。

今回は、リモートアクセスVPNを利用して、外出先のスマホ(iPhone4やEVO3D)から、自宅(または職場)のひかり電話を利用します。

VPNの詳細は、こちらの VPNとは? を参照ください。

RTX1100を使用してVPN接続を実現する場合の、結線図を下図に示します。この方式は、VPNルーターを使用して完全にハードウェアのみでVPN接続を実現する方式です。ハードウェアで対応、いいですね

VPN 01 300x239 iPhoneでVPN接続(RTX1100編)

<iPhone4の接続のイメージ図>

・L2TP/IPsecでセキュリティーを確保した接続

・ローカルネットワークへ長~いケーブルで接続

・自宅のひかり電話から電話をかけられる

 

iPhone4の設定

RTX1100のVPN設定(PPPTP,L2TP/IPsec)が完了していますので、iPhone4のVPN設定を行います。PPTP接続とL2TP/IPsec接続を利用できますが、セキュリティーを考慮して、L2TP/IPsec接続を使用するようにします。当然、PPTP接続でもVPN接続は可能です。

下記の接続設定例は、iPhone4(SoftBank)ですが、auのEVO3DでもL2TP/IPsecでも正しく動作しました。

詳細はこちらの YAMAHA L2TP/IPsecドキュメントページ  を参照ください。

<PPTP接続の設定>

iPhone PPTP iPhoneでVPN接続(RTX1100編)

 

 説明         : 適当な名前を入力します。

 サーバ       : グローバルIPアドレスを入力します。

 アカウント     : アカウントを入力します。

 RSA SecurID   : オフのまま使用します。

 パスワード     : パスワードを入力します。

 暗号化のレベル : なしで使用します。

 すべての信号を送信 : ONにします。

 

<L2TP/IPsec接続の設定>

iPhone L2TP iPhoneでVPN接続(RTX1100編)

 

 説明         : 適当な名前を入力します。

 サーバ       : グローバルIPアドレスを入力します。

 アカウント     : アカウントを入力します。

 RSA SecurID   : オフのまま使用します。

 パスワード     : パスワードを入力します。

 シークレット    : 事前共有鍵を入力します。

 すべての信号を送信 : ONにします。

 

pingによる動作確認

iPhone4のVPN設定が完了しましたので、VPN接続を行います。VPN接続中は、最上部に水色のVPN表示が出ます。

iPhone Status iPhoneでVPN接続(RTX1100編)

 

 

 VPN接続時は、最上部にVPNマークが表示されます。

 VPNの状況で、割り当てられたIPアドレスが判ります。

 192.168.0.220 が割り当てられました。

iPhone4からVPNルーターとひかり電話ルーターにpingを打ち、応答があることを確認します。
※使用するアプリは、無料の”Ping Lite”をダウンロードして使用します。

Ping Lite iPhoneでVPN接続(RTX1100編)

次は、ローカルネットワーク上のWindowsパソコンからiPhone4へpingを打ち、正しく応答があることを確認します。

Ping to iPhone iPhoneでVPN接続(RTX1100編)

同様な操作をL2TP/IPsec接続したauのEVO3Dで行うと、pingに対する応答が返りません。
※auお客様サポートへ問い合わせたところ、「auの3G網で、NATを行っているため、pingがEVO3Dに届かない事象が発生しています。なお、pingは届かなくても、通信に問題はございません」との回答でした。

2011年度の改修で、IPv4のグローバルアドレスの枯渇対応として、キャリアグレードNATに対応したようで、携帯端末のアドレスは、クラスAのプライベートアドレスを割り当てするようになったようです。
しかし、同じくNATを行っているSoftBankのiPhone4では、正しくpingに応答していますので、auの3G網に設置されているコア・ルーターに問題がありそうです。サポート担当者は、”仕様”と言っていましたが…..

Ping to EVO3D1 iPhoneでVPN接続(RTX1100編)

 

iPhoneでひかり電話を使う

VPNルーター(RTX1100)を使用して、「外出先から自宅のひかり電話を使う」という目的がやっと叶いました。

余談ですが、RTX1100は、2011年9月末に生産を終了したモデルですが、2012年3月にファームウェアのアップデートを行い、L2TP/IPsecに対応してくれました。このアップデートがなければ、おそらく、RTX1100を使用することは無かったと思います。ヤマハのサポート(お客様相談センターを含め)には敬服しました。

下記の画像は、ローカルネットワーク上に設置したAsteriskサーバを利用した内線通話となります。どこにいても内線電話扱いで社内の相手と話すことができます。内線ですから電話代も”タダ”です。

当然、VPN接続したiPhone4から、自宅のひかり電話で、携帯電話への発信と着信を行なうことができました。

iPhone4からの発信でも、相手の端末に表示される着信番号は、ひかり電話の番号が表示(通知)されます。普通の電話では、会社からの電話であれば、社内からの発信となりますが、VPNを利用したひかり電話から発信では、発信者の居場所を問いません。
アメリカからでも 03-123-xxxx で電話がかけられ、料金は国内の固定電話宛なら、8.4円/3分となります。
ただ、通話の場合は音声の遅れが問題となりますので、会話が成立するかどうかは接続環境によります。

Acrobits Softphoneの設定方法は、下記の資料を参照ください。

acrobits Softphone (iPhone,iPad)での設定に関するご案内

acrobits softphone iPhoneでVPN接続(RTX1100編)

 

SoftEther PacketiX VPN サーバ vs. YAMAHA RTX1100 VPNルーター

PacketiX VPN サーバを使用してVPN接続を実現する方法と、VPNルーターを使用してVPN接続を実現する2通りの方法を試しましたが、どちらもiPhoneからひかり電話を利用することが可能でした。

どちらを採用した場合でも、設定情報を同一にすることで、携帯端末の設定を変更することなくVPN接続を利用することができます。

PacketiX VPNサーバは、サーバが設置されている環境があれば、機器構成を変更することなく導入が可能で、導入の敷居は低いと感じました。オープンソース版の”UT-VPN”の公開が楽しみです。

YAMAHAのRTX1100を採用した場合は、完全にハードウェア対応となり、「運用はこちらのほうが楽かな」と思われます。しかし、設置は、コマンドレベルでの操作が必要で、専門的な内容も多く、それなりの知識が必要です。

VPN接続を実現する手段として、ソフトウェア対応にするかハードウェア対応にするかで迷うところですが、それぞれ一長一短がありますので、ケースバイケースで選択することになろうかと思います。

いや~、便利な世の中になったものです。

 

以上で、「iPhoneでRTX1100のVPN接続を使う」を終了します。

 

VPNルーターでSNMPトラップを使う

前回の記事で、”RTX1100のsyslogをlinuxサーバで記録する”ところまで終了しました。

7回目の今回は、管理業務を楽にするために、RTX1100に異常が発生した場合、メールでお知らせする機能を実現します。
※RTX1100は、SNMP(Simple Network Management Protocol)に対応しており、サーバで遠隔監視させることができます。

今回は、RTX1100のppインタフェースを監視して、プロバイダへの”PPPoE接続”が切断されたら、指定したメールアドレスにメールが届くようにします。
SNMPを使用すると、RTX1100のCPUの稼働率のグラフなども簡単に作成することができ、ルーターの管理が楽におこなえるようになります。

trapmail 021 300x174 RTX1100でSNMPトラップを使う

SNMPによるRTX1100の監視は、以下のような手順で設定を行います。
ここでは、サーバはすでに用意されており、net-snmpがインストールされているものとします。

  • RTX1100にsnmp関係の設定を行います
  • サーバにRTX1100用のカスタムMIBをインストールします
  • snmpwalkコマンドを使用して、簡単な動作確認を行います
  • RTX1100にsnmp trap関係の設定を行います
  • snmptrapdを常駐させ、トラップ発生時メールで通知するように設定します
  • PPPoE接続が切断時、トラップが発生しメールが送られてくることを確認します
  • snmp関係のログ出力先を変更します

 

RTX1100の設定-1(snmp関係)

RTX1100にログインし、snmpでデータを入手するための設定を追加します。また、ルーター設置場所等の情報も合わせて設定します。設定コマンドは、[snmp host サーバのプライベートIPアドレス]で指定します。

[RTX]# snmp host [サーバのプライベートIPアドレス]        
[RTX]# snmp community read-only [コミニュティ名]

# PPインターフェイスの情報を取得できるようにする
[RTX]# snmp yrifppdisplayatmib2 on

# ルーター設置場所等の情報
[RTX]# snmp syscontact [担当者名]
[RTX]# snmp sysname [VPNルーターのモデル名]
[RTX]# snmp syslocation [設置場所]

 

サーバへ拡張MIBを導入

ヤマハでは、ルーター用の拡張MIBファイルを提供しています。MIBファイルには、ルーターの管理情報(データベース)がテキスト形式で記述されています。

ヤマハのWebサイトからRTX1100用のカスタムMIBをダウンロードします。

[root@ms01 ~]# wget http://www.rtpro.yamaha.co.jp/RT/docs/mib/yamaha-private-mib.tar.gz
--2012-05-02 12:28:14--  http://www.rtpro.yamaha.co.jp/RT/docs/mib/yamaha-private-mib.tar.gz
www.rtpro.yamaha.co.jp をDNSに問いあわせています... 202.218.0.99
www.rtpro.yamaha.co.jp|202.218.0.99|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 12041 (12K) [application/x-gzip]
[yamaha-private-mib.tar.gz] に保存中

100%[=================================================================================>] 12,041      --.-K/s 時間 0.02s

2012-05-02 12:28:14 (551 KB/s) - [yamaha-private-mib.tar.gz] へ保存完了 [12041/12041]

ダウンロードしたファイルを展開します。

[root@ms01 ~]# tar zxvf yamaha-private-mib.tar.gz
yamaha-private-mib/
yamaha-private-mib/yamaha-product.mib.txt
yamaha-private-mib/yamaha-rt-firmware.mib.txt
yamaha-private-mib/yamaha-rt-hardware.mib.txt
yamaha-private-mib/yamaha-rt-interfaces.mib.txt
yamaha-private-mib/yamaha-rt-ip.mib.txt
yamaha-private-mib/yamaha-rt-switch.mib.txt
yamaha-private-mib/yamaha-rt.mib.txt
yamaha-private-mib/yamaha-smi.mib.txt

/usr/share/snmp/ディレクトリへvendor_mibsディレクトリを新規に作成し、展開したファイルをコピーします。

[root@ms01 ~]# mkdir /usr/share/snmp/vendor_mibs
[root@ms01 ~]# cp yamaha-private-mib/* /usr/share/snmp/vendor_mibs

ダウンロードした圧縮ファイルと展開したファイルを削除しておきます。

[root@ms01 ~]# rm -rf yamaha-private-mib
[root@ms01 ~]# rm -f  yamaha-private-mib.tar.gz

/user//share/snmp/snmp.confファイルを新規ファイルとして作成し、以下の2行を追記します。

[root@ms01 ~]# pico /usr/share/snmp/snmp.conf
# YAMAHA RTX1100用の拡張MIBを追加
mibdirs /usr/share/snmp/mibs:/usr/share/snmp/vendor_mibs
mibs all

snmp.confファイルを追加したので、snmpdを再起動させます。

[root@ms01 ~]# service snmpd restart
snmpd を停止中:                                            [  OK  ]
snmpd を起動中:                                            [  OK  ]

 

snmpdの動作確認

MIBファイルの導入が終了しましたので、サーバ上で以下のコマンドを実行し、VPNルーターの機器情報が入手できることを確認します

[root@ms01 ~]# snmpwalk -v 1 -c [コミュニティ名] 192.168.0.1 system
RFC1213-MIB::sysDescr.0 = STRING: 'RTX1100 Rev.8.03.92 (Thu Feb 16 20:50:25 2012)'
RFC1213-MIB::sysObjectID.0 = OID: YAMAHA-PRODUCTS-MIB::rtx1100
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (3143220) 8:43:52.20
RFC1213-MIB::sysContact.0 = STRING: [担当者名]
RFC1213-MIB::sysName.0 = STRING: [VPNルーターのモデル名]
RFC1213-MIB::sysLocation.0 = STRING: [設置場所]
RFC1213-MIB::sysServices.0 = INTEGER: 12

次に、拡張MIBでサポートされているシンボルを表示させます。

YAMAHA MIB 01 RTX1100でSNMPトラップを使う

以下の様に、シンボル名を指定して、RTX1100の情報を入手することができます。下記の例はRTX1100のファームウェアバージョンとメモリの使用率を入手する場合のコマンドとなります。

[root@ms01 ~]# snmpwalk -v 1 -c [コミュニティ名] 192.168.0.1 yrfRevision.0
YAMAHA-RT-FIRMWARE::yrfRevision.0 = STRING: "RTX1100 Rev.8.03.92 (Thu Feb 16 20:50:25 2012)"
[root@ms01 ~]# snmpwalk -v 1 -c [コミュニティ名] 192.168.0.1 yrhMemoryUtil.0
YAMAHA-RT-HARDWARE::yrhMemoryUtil.0 = Gauge32: 33

 

RTX1100の設定-2(snmp trap関係)

プロバイダへの接続が切断(リンクダウン)した時、トラップ(RTX1100の状態を通知するSNMPメッセージのこと)を発生するように、RTX1100の設定を行います。

[RTX]# snmp trap host [サーバのプライベートIPアドレス]
[RTX]# snmp trap community [コミュニティ名]
[RTX]# snmp trap enable snmp all

# ppインタフェースがリンクダウン時トラップを送信する
[RTX]# snmp trap send linkdown pp 1 on

 

サーバのsnmptrapdの設定

snmptrapdを使用して、RTX1100の異常を検出してメールを受け取れるようにします。ここでは、プロバイダへの接続が切断(リンクダウン)した時に、メールを受信するようにします。

最初に、snmptrapdの稼動状態を確認します。下記は、snmptrapdが停止時のコマンドとなります。

[root@ms01 ~]# service snmptrapd status
snmptrapd は停止しています
[root@ms01 ~]# service snmptrapd start
snmptrapd を起動中:                                        [  OK  ]
[root@ms01 ~]# chkconfig snmptrapd on
[root@ms01 ~]# chkconfig snmptrapd --list
snmptrapd       0:off   1:off   2:on    3:on    4:on    5:on    6:off

snmptrapd デーモンへ、拡張MIBファイルのディレクトリパスを追加します。

[root@ms01 ~]# pico /etc/sysconfig/snmptrapd
# snmptrapdに、mibsディレクトリとvendor_mibsディレクトリを指定
OPTIONS="-Lsd -p /var/run/snmptrapd.pid -M /usr/share/snmp/mibs:/usr/share/snmp/vendor_mibs -m all"

最初に、PPインタフェースのリンクダウンをあらわすOIDを、snmptranslateコマンドを使用して調べます。

[root@ms01 ~]# snmptranslate -On YAMAHA-RT-INTERFACES::yrIfPpLinkDown
.1.3.6.1.4.1.1182.2.3.0.2

次に、snmptrapd.confファイルを新規作成し、トラップ発生時のメール送信先を設定します。
ここでは、PPPoE接続がリンクダウンした場合のみトラップメールを送信するようにOIDに[.1.3.6.1.4.1.11822.3.0.2]を指定します。

[root@ms01 ~]# pico /etc/snmp/snmptrapd.conf
# snmptrapd.confファイルを新規作成し、メール送信先を設定
authCommunity log,execute,net [コミュニティ名]
traphandle .1.3.6.1.4.1.11822.3.0.2 /usr/bin/traptoemail -s [メールサーバ名」 [送信先メールアドレス]

設定を変更したので、snmptrapdを再起動させます。

[root@ms01 ~]# /etc/init.d/snmptrapd restart
snmptrapd を停止中:                                        [  OK  ]
snmptrapd を起動中:                                        [  OK  ]

 

トラップ発生時の動作確認

RTX1100を”restart”コマンドで再起動させて、サーバのログファイルを確認します。
CentOSの標準設定では、snmptrapdのログ出力は、/var/log/messagesファイルに記録させます。

[root@ms01 ~]# cat /var/log/messages
May  6 17:29:08 ms01 snmptrapd[16234]:
2012-05-06 17:29:08 192.168.0.1(via UDP: [192.168.0.1]:161) TRAP, SNMP v1, community [コミニュティ名]
YAMAHA-PRODUCTS-MIB::rtx1100 Link Down Trap (0) Uptime: 1 day, 1:12:29.85       RFC1213-MIB::ifIndex = INTEGER: 5
May  6 17:29:08 ms01 snmptrapd[16234]:
2012-05-06 17:29:08 192.168.0.1(via UDP: [192.168.0.1]:161) TRAP, SNMP v1, community [コミニュティ名]
YAMAHA-RT::yamahaRTInterfaces Enterprise Specific Trap (YAMAHA-RT-INTERFACES::yrIfPpLinkDown) Uptime: 1day,1:12:29
.86 YAMAHA-RT-INTERFACES::yrIfPpIndex = INTEGER: 5

ppインタフェースのリンクダウンがログに記録されているので、設定が正しければ、メールが送られてきているはずなので確認します。

trapmail 011 RTX1100でSNMPトラップを使う

メールの内容が判りにくいので、snmptrapdファイルをエディタで開き、OPTIONS=行を修正します。

OPTIONS 011 RTX1100でSNMPトラップを使う

修正が完了したら、snmptrapdを再起動させます。

[root@ms01 ~]#  service snmptrapd restart
snmptrapd を停止中:                                        [  OK  ]
snmptrapd を起動中:                                        [  OK  ]

再度、RTX1100を再起動させて、トラップを発生させて、メールの記述内容がスッキリしたことを確認します。

trapmail 02 RTX1100でSNMPトラップを使う

 

ログ出力先の変更

snmpdとsnmptrapdのログ出力先をmessagesファイルからsnmp.logファイルへ変更します。

snmpdの起動スクリプトを編集し、facility (ログの分類)を local2 へ変更します。また、Priority(ログ出力のレベル)は、notice以上を記録するようにします。

OPTIONS 021 RTX1100でSNMPトラップを使う

snmptrapdの起動スクリプトを編集し、facility(ログの分類) を local2 へ変更します。

OPTIONS 031 RTX1100でSNMPトラップを使う

/etc/syslog.conf をエディタで開き、local2に分類されたログを単独のログ(snmp.log)に出力するように、変更します。この時、messagesファイルへの2重記録を防ぐための指定(local2.none)の記述を追加します。

[root@ms01 ~]# pico /etc/syslog.conf
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console
(略)
# snmpdとsnmptrapdのログをmessagesへ出力しないように変更
*.info;mail.none;authpriv.none;cron.none;kern.none;local3.none;local2.none /var/log/messages
(略)
# snmpdとsnmptrapdのログを取得する
Local2.*                                                /var/log/snmp.log

次に、/var/log/snmpd.log は、まだ存在しないので空ファイルを用意しておきます。

[root@ms01 ~]# touch /var/log/snmp.log

/etc/logrotate.d/syslogを修正して、追加したsnmp.logのローテーションを行うようにします。

[root@ms01 ~]# pico /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/spooler /var/log/boot.log /var/log/cron /var/log/rtx1100.log /var/log/snmp.log {

最後に、サーバを再起動させます。

[root@ms01 ~]# reboot

サーバで”tail -f /var.log/snmp.log”を実行し、RTX1100を再起動させて、トラップが記録されることを確認します。

[root@ms01 ~]# tail -f /var/log/snmp.log
May  6 17:38:13 ms01 snmptrapd[2771]:
2012-05-06 17:38:13 192.168.0.1(via UDP: [192.168.0.1]:161) TRAP, SNMP v1, community [コミニュティ名]
rtx1100 Link Down Trap (0) Uptime: 1 day 1:21:04.49  ifIndex = INTEGER: 5
May  6 17:38:13 ms01 snmptrapd[2771]:
2012-05-06 17:38:13 192.168.0.1(via UDP: [192.168.0.1]:161) TRAP, SNMP v1, community [コミニュティ名]
yamahaRTInterfaces Enterprise Specific Trap (yrIfPpLinkDown) Uptime: 1 day 1:21:04.49      yrIfPpIndex = INTEGER: 5

 

MRTGでRTX1100のCPU使用率をグラフ表示

SNMPの使用例として、MRTGでRTX1100のCPU使用率をグラフ表示させます。MRTGパッケージがサーバにインストールされていることが前提です。

MRTGのインストールは、 ネットワークトラフィック監視ツール導入(NET-SNMP+MRTG)  を参照ください。

MRTGでグラフ化する場合、取得したいデータをOIDで指定する必要がありますので、snmptranslateコマンドを使用して、RTX1100のCPUの使用率(1分/5分)のOIDを調べます

[root@ms01 ~]# snmptranslate -On YAMAHA-RT-HARDWARE::yrhCpuUtil1min.0
.1.3.6.1.4.1.1182.2.1.6.0  

[root@ms01 ~]# snmptranslate -On YAMAHA-RT-HARDWARE::yrhCpuUtil5min.0
.1.3.6.1.4.1.1182.2.1.7.0

mrtg.cfgファイルにRTX1100のCPU使用率を表示するための設定を追加します。

mrtg cfg 01 RTX1100でSNMPトラップを使う

RTX1100のCPU使用率の監視画面を表示させます。
当方の環境では、CPUの使用率はとても低く、通常3%程度ですので、縦軸の目盛りは20%を指定しています。
必要に応じて、CPUの使用率が閾値を越えたらトラップ(yrhCpuUtilTrap)を発生させて、メールを飛ばすことも可能です。

RTTG RTX1100 01 RTX1100でSNMPトラップを使う

 

以上で、「VPNルーターでSNMPトラップを使う」を終了します。

    
6 / 13« 先頭...567...10...最後 »