5 拠点間をヤマハのルータのVPN機能で常時接続する・・・拠点のIPV4設定

4 拠点間をヤマハのルータのVPN機能で常時接続する・・・NVR500のVPN設定準備その2

前回は、「4 拠点間を VPN で常時接続する NVR500 の VPN 設定準備その2」で IPV6 アドレス関連の設定をする方法を書きました。

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

今回は、拠点内の IPV4 アドレスについて書きます。ここは、いたって簡単な話だけになりますが、次の VPN 設定を説明する前に書いておかなければなりませんので、お付き合いを。

ヤマハのルーターの拠点用 IPV4 設定

拠点A、拠点のそれぞれの簡単なアドレスについて図で示します。

右の拠点は、192.168.0.0/24。クラスCのプライベートアドレスです。 IPV6 でも良いのでしょうが、ここは簡単に IPV4 で設計します。

同様に左の拠点Bは、192.168.2.0/24 です。

拠点内には、それぞれルータの NVR500 と疎通確認用にPCを用意してあります。 NVR500 のLAN1 は、4ポートのSW HUBになっていて、ここのアドレスは、アドレス部が1です。つまり、拠点Aは、192168.0.1、拠点Bは、192.168.2.1です。WAN側は、1ポートがあり、ここの IPV4 のアドレスは DHCP で受け取る設定をします。WAN ポートは SSH などで入ってコマンド設定する場合、LAN2 として扱います。WAN と言うパラメータは出てきませんので注意してください。この件でもハマったことは前にも書きましたが、再度ここでも警告しておきます。ハマりますよ~。LAN2 とか lan2 とかマニュアルで出てきたら物理の WAN ポートと読み替えてください。

PCは、ホスト部のアドレスがそれぞれ10と20で設定しています。

 

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。


NTTフレッツ光

それでは、 NVR500 の実際の設定内容を示します。たった2行です。

拠点A NVR500 A

ip lan1 address 192.168.0.1/24
ip lan2 address dhcp

拠点B NVR500 B

ip lan1 address 192.168.2.1/24
ip lan2 address dhcp

違いは、アドレスの3オクテット目が02かの違いだけです。

設定内容を確認するには、WEB管理画面で[トップ] > [詳細設定と情報] > [システム情報のレポート作成]を選択します。表示された中に次の項目があるので確認してください。拠点Bのみ掲載します。拠点Aもアドレスの違いだけですので。

【 LAN1情報 】
# show status lan1
LAN1
説明:                           
IPアドレス:                     192.168.2.1/24 
イーサネットアドレス:           00:a0:de:7f:da:f6
  :
省略
  :
【 LAN2情報 】
# show status lan2
LAN2
説明:                           
IPアドレス:                     (DHCP)

LAN1には、指定したアドレスが割り当たっています。

LAN2 には、DHCP と書かれていますが、DHCP サーバは LAN2 側にはいないので、アドレスは割り当たっていません。特に問題はありませんので、このままにします。なぜDHCPにしているかと言うと、拠点A側の HGW との関係上、拠点AではDHCPにする必要があり、それに合わせるために拠点Bも共通の設定にしています。HGW の関係の話は、また別な機会に書きます。

今回の設定は、ここまでです。いよいよ次回から VPN の設定に入ります。

6 拠点間をヤマハのルータのVPN機能で常時接続する・・・VPN トンネル設定

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。


NTTフレッツ光

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

 

6 拠点間をヤマハのルータのVPN機能で常時接続する・・・VPN トンネル設定

5 拠点間をヤマハのルータのVPN機能で常時接続する・・・拠点のIPV4設定

前回は、「5 拠点間を VPN で常時接続する 拠点の IPV4 設定」で両拠点のIPV4関連の設定をする方法を書きました。

今回は、いよいよ VPN のトンネルを設定します。

 

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。


NTTフレッツ光


アドレスのおさらい

拠点A、拠点のそれぞれのアドレスについて図でおさらいします。

右の拠点は、192.168.0.0/24。クラスCのプライベートアドレスです。

同様に左の拠点は、192.168.2.0/24 です。

また、「3 拠点間を VPN で常時接続する NVR500 の VPN 設定準備その1」で確認したLAN2(WAN ポート)の IPV6 アドレスもそれぞれ図に示しています。アドレス自体は抽象化して示しているので、実際のアドレスとは違います。

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

ヤマハのルーターのVPN 設定

VPN トンネルには、色々と種類があります。「2 拠点間を VPN で常時接続する 必要なモノは」で YAMAHAル ータの機種について書きましたが、その中に VPN/IPSEC と VPN/IPIP と言う表記があります。代表的な拠点間を接続する VPN の方式です。違いは、暗号化のあり/なしです。残念ながら NVR500 には暗号化の VPN/IPSEC を持っていないので、ここでは、 VPN/IPIP の設定について紹介します。

VPN/IPIP でもいろいろとやり方がありますが、今回の目的である NGN網から出ずに拠点間を結ぶので、 IPV6 のトンネルの外側として、内側に IPV4 のデータを流す方式で行います。

拠点A NVR500 A

### TUNNEL 2 ###

tunnel select 2
 tunnel name ToOfficeB-IPIP
 description tunnel A-Btunnel
 tunnel encapsulation ipip
 tunnel endpoint address 2400:xxxx:yyyy:zzzz:aaaa:bbbb:cccc:dddd 2422:xxxx:yyyy:zzzz:aaaa:bbbb:cccc:dddd
 ip tunnel secure filter in 200099
 ip tunnel secure filter out 200099
 ip tunnel tcp mss limit auto
 tunnel enable 2

拠点B NVR500 B

### TUNNEL 2 ###

tunnel select 2
 tunnel name ToOfficeA-IPIP
 description tunnel A-Btunnel
 tunnel encapsulation ipip
 tunnel endpoint address 2422:xxxx:yyyy:zzzz:aaaa:bbbb:cccc:dddd 2400:xxxx:yyyy:zzzz:aaaa:bbbb:cccc:dddd
 ip tunnel secure filter in 200099
 ip tunnel secure filter out 200099
 ip tunnel tcp mss limit auto
 tunnel enable 2
tunnel select none

3行目:★必須。これからトンネル2番の設定をするという宣言です。なぜ1番じゃなく2番なの?  それは、1番に試験的に VPN/IPSEC のトンネルを掘ってみたからです。結局 IPSEC では仕様上だめなので、2番の IPIP を使っていると言うわけです。深い意味はありません。

4行目:トンネル2番に名前を付けています。2番の数字2が出てきませんが、3行目以降はトンネル2番に関する設定と認識されます。この名前は、特に設定しなくても構いません。WEB 管理画面に表示されるときの名前です。

5行目:トンネルの説明です。これも特に設定しなくても構いません。

6行目:★必須。 VPN トンネルの中でもこのトンネル2番は、IPIP 方式のトンネルであると宣言/設定しています。

7行目:★必須。トンネルの入口、出口の IPV6 のアドレスを指定しています。入口が自拠点、出口が対向拠点です。よって、この設定は拠点B 側の設定なので、拠点B 拠点の並びで設定しています。

8-9行目:★必須。200099番の IPV4 フィルターをトンネルの入口に対して IN/OUT 両方向に適用しています。200099番のフィルターは、何でも通す設定なので、本当はいらないのかもしれませんが、念のため設定しています。200099番は、次のような設定です。

ip filter 200099 pass * * * * *

10行目:★必須。TCPデータのセグメントサイズの最大値を自動調整するという設定です。ここはあまり深く考えずに設定してください。

11行目:★必須。この設定をして初めてトンネル2番が動き出します。

12行目:3行目でこれからトンネル2番の設定を始めますと宣言しましたが、今度は「終わります」の宣言です。これをしないと、これに続く設定が間違ってトンネル2番にされることもあるので、注意してください。WEB管理画面で、[トップ] > [詳細設定と情報] > [本製品の全設定(config)のレポート作成]で表示した設定には、この行が入っていないので注意してください。入れなきゃ絶対ダメと言うことはないのですが、設定作業の順番によってはおかしくなります。YAMAHA さんも、この画面に入れて欲しいものです。

VPN の確認

WEB管理画面のトップ画面のプロバイダ接続のすぐ下にトンネル2番の表示が出てきます。

うまくいってますね。でも安心はまだ早い。ここで通信中と表示されててもダメなんです。これって、単にTUNNEL[02] が起動してますよみたいな感じです。つまり、受入準備は完了してますってことでしょうか。実際対向と接続できているかは別問題のようです。まあ、でもここでトンネルの設定がされているかは確認できます。

注)ちなみに、手動でコツコツと設定した場合、この画面に表示されないことがあります。なぜかはわかりません。バグだと思いますが、次に紹介するコマンドで確認すると、画面に出ないトンネル番号でも動いていることがわかります。なので、画面に出ないからと言って焦らないでください。

次にssh等に NVR500 に入ります。そこで、次のコマンドを打ちます。

# show status tunnel 2
TUNNEL[2]:
説明: A-Btunnel
  インタフェースの種類: IP over IP
  トンネルインタフェースは接続されています
  開始: 2018/05/25 13:22:36
  通信時間: 1日35分14秒
  受信: (IPv4) 1458959 パケット [129303608 オクテット]
        (IPv6) 0 パケット [0 オクテット]
  送信: (IPv4) 5011929 パケット [1709518738 オクテット]
        (IPv6) 0 パケット [0 オクテット]

これで、送受信の IPV4 が出ていればまずは一安心です。出ていないかもしれませんが、それは次の設定がまだされていないからです。

スタティックルートの登録

晴れてトンネルは掘れました。トンネルだから日が差さずに暗いから晴れてはないだろ。と思いながら、次はスタティックルートの登録です。静的経路情報ってやつです。お互いにトンネルはできたので、相手の出口側にどんなネットワークがあるのか教えなければなりません。設定は次のとおりです。

拠点A NVR500 A

ip routing on
ip route default gateway tunnel 2
ip route 123.107.190.0/24 gateway pp 2
ip route 192.168.2.0/24 gateway tunnel 2
ip route 220.210.194.0/25 gateway pp 2
ip route 220.210.198.0/26 gateway pp 2
ip icmp log on
ip keepalive 1 icmp-echo 60 10 192.168.2.1

拠点B NVR500 B

ip routing on
ip route default gateway pp 1 filter 500000 gateway pp 1
ip route 123.107.190.0/24 gateway pp 2
ip route 192.168.0.0/24 gateway tunnel 2
ip route 220.210.194.0/25 gateway pp 2
ip route 220.210.198.0/26 gateway pp 2
ip icmp log on
ip keepalive 1 icmp-echo 60 10 192.168.0.1

1行目:★必須。 IPV4 ルーティングを有効にする宣言です。

2行目:★必須。拠点Bは、 Internet に接続されています。その接続は、 PPPoE の1番で接続しているので、デフォルトルートを pp 1 にするという設定です。この設定自体は、プロバイダ1番の設定をすると勝手に入れてくれます。

これに対し、拠点の方はプロバイダ契約をしていません。していないというか、解約しました。なぜ?  拠点A の Internet アクセスは、拠点経由で可能なので、プロバイダ契約を2つする必要がないからです。それでデフォルトルートを今回作成したトンネル2番に向けています。

3、5、6行目:★必須。まだ紹介していませんが、フレッツ情報サイトにアクセスするためのルーティング情報です。特に無くてもかましませんが、入れておいてください。

4行目:★必須。ここが重要です。トンネルの向こう側のアドレスを設定しています。拠点では、拠点のアドレスを。また、拠点ではその逆です。

6行目:icmp のログを記録する設定です。ただし、デバッグログを有効にしたときのみです。無くてもかまいません。

7行目:ping を定期的に飛ばして、接続確認を行う設定です。IPIP は常時接続なので、無くても良いはずですが、念のため、石橋を叩くために入れました。60秒間隔で、10回応答がないとアウトと言う内容です。

ここまで出来たら、save して、restart かけましょう。save は、設定内容を不揮発性メモリに保存する。restart は、再起動。ついでに、設定内容をファイルに落としましょう。[トップ] > [詳細設定と情報] > [設定ファイル・ファームウェアファイルのコピー]でできます。microSD などを入れて設定すると、そこに保存可能です。設定方法は割愛しますが。また、 [トップ] > [詳細設定と情報] > [本製品の全設定(config)のレポート作成]で WEB に表示してそれを保存しても良いでしょう。

でも、ここでまたハマった話を。[トップ] > [詳細設定と情報] > [設定ファイル・ファームウェアファイルのコピー]保存したファイルから復元ができません!まいりました。なんのための保存なのか。復元すると、 NVR500 は再起動を繰り返します。バグですきっと!  結局、手動で設定し直すはめになります。YAMAHAさん、なんとかしてください!

みなさん [トップ] > [詳細設定と情報] > [本製品の全設定(config)のレポート作成]でしっかり記録しておきましょう。

疎通確認

疎通確認は、まず NVR500 間で行います。拠点 NVR500 に ssh 等で入って、ping を打ちます。

# ping -c 3 192.168.2.1
192.168.2.1から受信: シーケンス番号=0 ttl=255 時間=0.031ミリ秒
192.168.2.1から受信: シーケンス番号=1 ttl=255 時間=0.029ミリ秒
192.168.2.1から受信: シーケンス番号=2 ttl=255 時間=0.030ミリ秒

3個のパケットを送信し、3個のパケットを受信しました。0.0%パケットロス
往復遅延 最低/平均/最大 = 0.029/0.030/0.031 ミリ秒

接続されていないと、しばらくだんまりになります。その時は、Ctrl+C で中断してください。

つづいて、拠点 NVR500 から拠点の PC-へ。

# ping -c 3 192.168.2.20
192.168.2.4から受信: シーケンス番号=0 ttl=127 時間=1.725ミリ秒
192.168.2.4から受信: シーケンス番号=1 ttl=127 時間=0.329ミリ秒
192.168.2.4から受信: シーケンス番号=2 ttl=127 時間=0.334ミリ秒

3個のパケットを送信し、3個のパケットを受信しました。0.0%パケットロス
往復遅延 最低/平均/最大 = 0.329/0.796/1.725 ミリ秒

正常に接続されていれば、このように応答があります。しかし、ここでもハマりました。PC-から応答がありません。PC-側で WireShark でパケットキャプチャしてみましたが、ICMP リクエストは確かに届いているのですが、リプライを返しません。逆方向も同じ結果でした。パケットキャプチャを見ていると、ルータ-B が port unreachable を出していることがたまに見かけられました。なんだろ。しばらくして原因を思いつきました。セキュリティソフトを最近 Norton から McAfee に変えたのです。もしやと思い、McAfee のファイヤーウォールを off にすると通りました。こいつか原因は。ping くらい返してやれよって感じです。設定を変更して、拠点間の疎通確認は終わりです。

あとは、拠点A から Internet に行けるか確認ですが、まだ設定が必要なので、本日は、ここまでです。次回は、 Internet の共用です。

 

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。

NTTフレッツ光

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

7 拠点間をヤマハのルータのVPN機能で常時接続する・・・Internetアクセスの共用

 

 

4 拠点間をヤマハのルータのVPN機能で常時接続する・・・NVR500のVPN設定準備その2

3 拠点間をヤマハのルータのVPN機能で常時接続する・・・NVR500のVPN設定準備その1

前回は、「3 拠点間を VPN で常時接続する NVR500 の VPN 設定準備その1」で IPV6 アドレスを取得する方法を書きました。

今回は、それに続いて IPV6 関連の設定について書きます。

 

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。


NTTフレッツ光

ヤマハのルーターの IPV6 ルーティング設定

VPN を作成する上では、直接必要はないと思いますが、設定をします。 NVR500 はルータとして機能するので、LAN1、LAN2、および PPPoE などで接続したプロバイダと VPN トンネルを対象としてそれらを相互に IPV6 のルーティングをするかと言う設定です。設定内容は下記の1行です。

ipv6 routing on

マニュアルによると、デフォルトは on になっていますので、設定はしなくても良いかもしれませんが、明示的にしておきます。気分の問題でしょうか。

IPV6 RIP6

つづいいては RIP6 の設定です。

ipv6 rip use off

rip は、ルーティング情報を隣接する機器に流すかどうかと言う設定です。(ルーティング情報をやり取りするプロトコルは他にもあります。)これもデフォルトはoffなのですが明示的にoffにします。試行錯誤しているときに間違えて on にしたところ、対向の IPV6 アドレスへの通信がその上に構築された VPN に向いてしまい VPN がおかしくなりました。気を付けてください。

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

IPV6 フィルター設定

セキュリティの設定です。LAN2 が対外的な IPV6 の窓口として動作するので、LAN2 を生で通る IPV6 に対してフィルターをかけます。「生」で通ると書いたのは、LAN2 上は、「生」で通る以外に、 PPPoE でカプセル化されたデータや、 VPN トンネルを通るデータがあるからです。生で通してあえなければならないのは、疎通確認でicmp6、DNS サーバ取得用に DHCPV6 クライアント、 VPN の対向との通信です。この3つ以外は遮断します。まず、フィルターの定義をして、それを LAN2 に適用します。

ipv6 filter 1010 pass * * icmp6 * *
ipv6 filter 1011 pass * * udp * 546
ipv6 filter 1012 pass * * udp * 547
ipv6 filter 1013 pass 2400:xxxx:yyyy:zzzz::/64 * * * *
ipv6 filter 1014 pass * 2400:xxxx:yyyy:zzzz::/64 * * *
ipv6 filter 2000 reject * * * * *

1行目: icmp6 をすべてのアドレスから/すべてのアドレスへの通信を許可します。

2-3行目: DHCPV6 をすべてのアドレスから/すべてのアドレスへ許可します。

4行目:対向のアドレスからの通信を許可します。2400、x、y、z は実際に取得したアドレスで、ここではプレフィックスで指定します。2400:xxxx:yyyy:zzzz は、実際の対向のアドレスに書き換えてください。自拠点のアドレスではないです。プレフィックス表記にする理由もちゃんとありまして、対向の機器が壊れて交換した場合、下位の 64bit が変わってしまうからです。「いや、変わるとしても厳密にフィルターをかけるべき」と考えている方は、フルアドレス 128bit で書いてください。

5行目:対向のアドレスへの通信を許可します。

6行目:全ての通信を遮断します。

セキュリティなので、各拠点や組織のセキュリティポリシーに合わせたフィルター設計にしてください。ここでは最低限の設定を紹介しています。

IPV6 フィルター適用

フィルターの設定でけでは、何もセキュリティは働きません。フィルターをインターフェースや PPPoE などに適用して初めて機能します。 IPV6 は、LAN2 に割り当てたアドレスなので、LAN2 にフィルターも適用します。

ipv6 lan2 secure filter in 1010 1011 1012 1013 2000
ipv6 lan2 secure filter out 1010 1011 1012 1014 2000

1行目:外から入ってくるパケットに対するフィルター適用です。前述のフィルター設定で指定したフィルター番号を羅列します。マニュアルにははっきりと書かれてはいませんが、記述した順番にフィルターが働き、最後に2000番のフィルターが働きます。1010~1013 のフィルターで通らなければ、2000番のフィルターですべて遮断されることになります。

2行目:今度は外に出ていくパケットに対するフィルターです。1行目との違いは、1013番が1014番に変わっています。フィルター設定で書いたとおり対向からのパケットか、対向へのパケットかで使い分けています。

今回の設定は、ここまでです。設定内容の確認は、管理用WEBで[トップ] > [詳細設定と情報] > [本製品の全設定(config)のレポート作成]で確認できます。

#
# IPv6 configuration
#

ipv6 routing on

省略
#
# LAN configuration
#

ip lan1 address 192.168.2.1/24
ipv6 lan1 address ra-prefix@lan2::1/64
ip lan2 address dhcp
ipv6 lan2 address auto
ipv6 lan2 address dhcp
ipv6 lan2 secure filter in 1010 1011 1012 1013 2000
ipv6 lan2 secure filter out 1010 1011 1012 1014 2000
ipv6 lan2 dhcp service client ir=on
ngn type lan2 ntt

省略
#
# IPv6 filter configuration
#

ipv6 filter 1010 pass * * icmp6 * *
ipv6 filter 1011 pass * * udp * 546
ipv6 filter 1012 pass * * udp * 547
ipv6 filter 1013 pass 2400:xxxx:yyyy:zzzz::/64 * * * *
ipv6 filter 1014 pass * 2400:xxxx:yyyy:zzzz::/64 * * *
ipv6 filter 2000 reject * * * * *

ここまでで、IPV6 関連の設定は終わりです。次回は、とうとう VPN を設定といきたいところですが、拠点それぞれの LAN のセグメントの話を書きます。

 

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。


NTTフレッツ光

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

5 拠点間をヤマハのルータのVPN機能で常時接続する・・・拠点のIPV4設定

 

 

3 拠点間をヤマハのルータのVPN機能で常時接続する・・・NVR500のVPN設定準備その1

2 拠点間をヤマハのルータのVPN機能で常時接続する・・・必要なモノは

前回は、「2 拠点間を VPN で常時接続する 必要なモノ」を書きました。

今回は、具体的に VPN をどう構築するかを順を追って書きますが、その中でまずは NGN IPV6 に接続して自拠点の IPV6 アドレスをどう知るかを書きます。

拠点間の VPN を構築( VPN を張るなんて言ったりします)するには、どこと接続するのかを設定する必要がります。相手の住所を知る必要があると言うことです。

 

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。


NTTフレッツ光

フレッツ光ネクストの IPV6 アドレスの割り当てについて

NGN網での住所は IPV6 になっていまして、そのアドレスは自分で決めるわけでも、NTTに申請するわけでもありません。 IPV6 の RA(Router Advertisement)と言う仕組みを使って割り当てられます。割り当てられると言っても、 IPV6 のアドレス長 128bit がすべて割り当てられるのではなく、上位 64bit が割り当てられ、残り64bit は、MACアドレス(48bit)をベースに組み立てられます。ん? なんか足りない。

128bit-64bit-48bit=16bit

16bit 足りないのですが、そこは RFC でどう足りない16bit を作成するのか定義されています。ここでは詳細説明は割愛します。

とにかく、NGN網からは、RA と言う仕組みで IPV6 アドレスが接続時に動的に配布/設定されると言うことを覚えてください。

IPV6 を使いたいと言うのは、フレッツ光ネクストのオプション契約(無料)でしますが、実際のアドレスは動的に配布されます。

DNSサーバの割り当て

つづいいては DNS のお話です。自分の IPV6 アドレスはわかったとして、今度は相手のアドレスをどう知るかと言うことです。 Internet の世界であれば、ネームサービスとか DNS(Domain Name Service)とか名前解決とか言うものです。これは、NGN網の中でも同じです。今回の VPN 設定例では名前解決を必要としないのですが、NGN網の疎通確認としてDNSを使うことにします。

NGN網内の DNSサーバは、RAでも受け取る仕組みがあるのですが、 NVR500 では実装されていないと思います。たぶん。それで、DHCP で DNS サーバを受け取るこのにします。

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

実際の設定はこのようにします。

ipv6 lan2 address auto
ipv6 lan2 address dhcp
ipv6 lan2 dhcp service client ir=on
ngn type lan2 ntt

ここで横道にそれますが、lan2 と言う単語が例に出ていますが、これが悪者です YAMAHAさん!。

機器のポートには WAN と表記されているのに、機器内部のファームウェアとしては lan2 なんです。最初 lan2 は、機器の LANポート4つあるうちの2番目か3番目のポートかと勘違いしました。この業界はよくインド人ではないですが、0から番号を振ることがあるので、2は3番目を指すこともあります。それで3番目かなとも思いました。しかし、結局は、WAN ポートのことじゃないですか。紛らわしい!

本筋に戻って3行について解説します。

1行目:WANポートの IPV6 のアドレスを RA で設定するというものです。auto と書いてありますが、良きにはからえと言う意味ではありません。マニュアルを見ると「RA で取得したプレフィックスとインタフェースのMAC アドレスからIPv6 アドレスを生成することを示すキーワード」と書かれてます。ログで IPV6 アドレスがRAで設定されていることを確認できます。下のログを見てください。このログは、debug ログですので、デフォルトの設定では確認できません。

[IPv6] prefix 2400:xxxx:yyyy:zzzz::/64 (vlife: 2592000, plife: 604800) is assigned from LAN2 (RA)

管理用WEBで[トップ] > [詳細設定と情報] > [本製品のログ(Syslog)のレポート作成]と辿ってSyslogの設定をデバッグモードも出力するようにすると確認できます。2400:xxxx:yyyy:zzzz::/64はプレフィックス部分だけを示しています。x、y、zは実際には16進の値です。LAN2の実際のアドレス128bitは、先に説明したとおりMACアドレスをベースに64bitが負荷されて生成されます。実際のアドレスは、管理用WEBで[トップ] > [詳細設定と情報] > [システム情報のレポート作成]で見ることができます。表示するとこんな感じです。x~z、a~dは、16進の値が入ります。

【 IPv6情報 】
# show ipv6 address
  :
割愛
  :
LAN2 scope-id 2 [up]
 Received:    864 packets 121219 octets
 Transmitted: 6423 packets 896009 octets

 グローバル     2422:xxxx:yyyy:zzzz:aaaa:bbbb:cccc:dddd/64 (lifetime: 604628/2591828)

2行目:ipv6 lan2 address dhcp は、マニュアルによればdhcpは「DHCPv6 で取得したプレフィックスとインタフェースのMAC アドレスからIPv6 アドレスを生成することを示すキーワード」と記述されていますが、ここでは IPV6 アドレスを取得する目的では使っていません。DNSサーバを知るために設定しています。実際のDNSサーバの情報は、ssh等で NVR500 に入り、show status ipv6 dhcpコマンドで確認できます。

# show status ipv6 dhcp

DHCPv6 status

  LAN2 [client]
    state: established
    server:
      DNS server[1]: 2404:1a8:7f01:b::3
      DNS server[2]: 2404:1a8:7f01:a::3
      Domain name[1]: flets-east.jp
      Domain name[2]: iptvf.jp
      SNTP server[1]: 2404:1a8:1102::b
      SNTP server[2]: 2404:1a8:1102::a

IPV6 アドレスは、 DHCPV6 サーバから取得しないと言う話は、次の3行目になります。

3行目:ipv6 lan2 dhcp service client ir=on  これは、 DHCPV6 クライアントとして動作するときに、自アドレスの割り当て要求をしないというものです。1行目で、RAでアドレスを取得することになっているので、2行目の DHCPV6 ではアドレスを要求したくないわけです。それで、アドレス以外の情報をもらいたいという設定になります。ir=off(デフォルト)にするとアドレスも要求するようになります。

4行目:マニュアルには、この設定で「NTT 東日本またはNTT 西日本が提供するNGN 網を使用する」とあります。また、色々なサイトでひかり電話の契約がある/なしで、この設定もある/なしにするようなことが書かれていますが、正直この設定の有無で何が違うのかわかりません。今回の例では、拠点Aではひかり電話契約あり、拠点Bではひかり電話契約なしですが、両拠点ともこの設定がありでうまく行っています。

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:40時点)
感想(5件)

ここまでで、NGN網から IPV6 アドレスとDNSサーバ情報を取得設定は終わりです。本日は、ここまです。

 

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。



NTTフレッツ光

次回は、 VPN を設定といきたいところですが、 VPN を設定する前にさらに設定すべき項目について書いていきます。

 

4 拠点間をヤマハのルータのVPN機能で常時接続する・・・NVR500のVPN設定準備その2

WordPressのPHPバージョンアップでハマった

このサイトも WordPress で作成しているのですが、なんせ始めたばかり。IT 歴はそれこそ四半世紀を超えているのですが、WordPress はまだまだ歯も生えてないかな。




Apache 、PHP 、WordPress でハマった

CentOS6.3 に WordPress4.9.5 を入れたのですが、元々PHP5.3.3 が既に入っていたのです。それで、PHP7.2.5 に上げようとして、yum で上げました。全然問題なく、php -v で見ると7.2.5に上がってます。よし、これで完了と思いきや、なにやら WordPress の動きがおかしい。

  • 外観 → カスタマイズ→サイト基本情報でサイトアイコンを登録しようとしたところ、推奨サイズの 512×512 のファイルのアップロード、メディアライブラリまでは登録できるのですが、サイトアイコンとして選択してもその先に進まず。
  • 同じく、推奨サイズの 512×512 以外のメディアライブラリに登録して選択をすると、画像切り抜きの画面に変わるのですが、「画像を切り抜く際にエラーが発生しました」とエラー出る。

こんな事象に遭遇したのです。しばらく解決策がわからず見て見ぬふりをしてしまったのですが、環境をもう一度確かめようと思い、まず PHP のバージョンや php-gd が認識されているか確認するため phpinfo 関数が入った “phpinfo.php” をドキュメントルートに入れて見てみました。中身は簡単、たった3行です。1行でもいいけど。

<?php
  phpinfo();
?>

“phpinfo.php” については、↓↓↓ この記事を参照してください。

WordPress ApacheとPHPの連携確認

200×200 高速大容量レンタルサーバ10G
mixhost

そしたらなんと、PHP7.2.5 のはずが、PHP5.3.3 じゃないですか。おまけに php-gd も認識されていない。これが原因かと言うことで、再度、シェル上で php -v を打ってみても7.2.5。う~ん、なんだろう。

答えは、Apache 側の設定でした。PHP5.3.3 は削除しているんですが、Apache のモジュールとしては残っていて、設定もそのままだったんです。

 #LoadModule php5_module modules/libphp5.so
 LoadModule php7_module modules/libphp7.so

/etc/httpd/conf/httpd.conf の中の php5 の行をコメントアウトして、php7 を追加。httpd を再起動して phpinfo.php で確認したところ、PHP7.2.5 が表示され、php-gd も無事認識されました。そして、2つの不具合も解消したわけです。

や~ハマった1週間。





2 拠点間をヤマハのルータのVPN機能で常時接続する・・・必要なモノは

1 拠点間をヤマハのルータのVPN機能で常時接続する

前回は、「1 拠点間を VPN で常時接続する」の最初の記事を書きました。

今回は、具体的に VPN をどう構築するかを順を追って書いて行きます。

1 必要な契約  フレッツ光ネクストまたは ひかり電話

フレッツ光ネクストまたはひかり電話

NTT(正確に言うとNTT東日本です)のフレッツ光ネクスト系の契約です。フレッツ光ネクストだけ契約するというのはたぶん無いと思います。下記の2パターンだと思います。

A  ひかり電話 + フレッツ光ネクスト

フレッツ光ネクスト+ Internet プロバイダー

ひかり電話を契約すると、フレッツ光ネクストはもれなく付いてきます。

Internet をフレッツ光ネクスト経由で接続する(している)場合は、 IPV6 オプション契約(無料)も必要です。最近の契約であれば、漏れなくこのオプションは付いているようです。

ひかり電話自体も IPV6 の技術を使っているので、このオプションは初めから付いているようです。

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。


NTTフレッツ光

今回構築した例では、拠点AがAパターン、拠点Bパターンの契約をしています。Bの方は、NTT東日本と直接契約したのではなく、OCN光を契約しました。OCN光も結局回線は、NTT のNGN網を使っているので、問題なく使えます。その他プロバイダとフレッツ光ネクストがセットになった光コラボレーションモデルでも大丈夫だと思います。

ケーブルTVの Internet や、モバイル WiFi などは使えません。

2 必要なモノ   ヤマハのルータ

ネットワーク概念図には色々とモノが描かれていますが、 VPN に的を絞って必要なモノを洗い出すと、 VPN を実現するためのルーターです。今回の例では、YAMAHAの  NVR500  を使いました。YAMAHAのルータは、半プロ向きというか、素人にはちょっと難しい面もありますが、機能がとにかくてんこ盛りなんです。てんこ盛りと言っても機種によって微妙に機能のある/なしがあるので選定には検討が必要です。

現在(2018/5)販売されている代表的なルータの特徴を書きます。

RTX830
◎ VPN/IPSEC 対20拠点
◎ VPN/IPIP 対20拠点
×アナログ電話接続
×ファイルサーバ
×WiFi親機

ヤマハ RTX830 ギガアクセスVPNルーター

価格:53,244円
(2018/5/29 13:36時点)
感想(0件)

NVR700W
◎ VPN/IPSEC 対20拠点
◎ VPN/IPIP 対20拠点
◎アナログ電話接続
×ファイルサーバ
◎WiFi親機

YAMAHA/ヤマハ LTEアクセスVoIPルーター NVR700W

価格:103,800円
(2018/5/29 13:37時点)
感想(0件)

<ahref=”https://network.yamaha.com/products/routers/nvr510/index” target=”_blank” rel=”noopener”>NVR510
× VPN/IPSEC
〇 VPN/IPIP 対4拠点
◎アナログ電話接続
×ファイルサーバ
×WiFi親機

【送料無料】 ヤマハ ギガアクセスVoIPルーター NVR510

価格:39,880円
(2018/5/29 13:38時点)
感想(0件)

RTX810
〇 VPN/IPSEC 対6拠点
〇 VPN/IPIP 対6拠点
×アナログ電話接続
×ファイルサーバ
×WiFi親機

ヤマハ RTX810 Giga対応 VPNルーター

価格:45,700円
(2018/5/29 13:39時点)
感想(5件)

NVR500
× VPN/IPSEC
〇 VPN/IPIP 対4拠点
◎アナログ電話接続
〇ファイルサーバ SMB V1.0
×WiFi親機

【送料無料】YAMAHA ブロードバンドVoIPルーター NVR500

価格:39,353円
(2018/5/29 13:31時点)
感想(5件)

VPN に主眼を置くなら、IPSEC か IPIP かどちらを選ぶかと言うことになります。IPSEC は、通信の暗号化を行いますが、IPIP は暗号化無しです。この違いが値段にも反映されているのかなと憶測する次第です。この記事の例では、一番安い  NVR500  を例に構築しています。

〇と◎の違いは、キャパシティの違いだったり、ファイルサーバに関して言えば SMB V1.0 しかサポートしていないとか、FAT32 しかサポートしていないので、◎ではなく〇にしています。

どこに重きを置くかによって選択する機種は違ってきます。V暗号化VPNに重きを置くなら RTX830。無線LANも必要と言うなら NVR700W になります。

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。


NTTフレッツ光

次回は、 NVR500  の設定や動作確認方法について順を追って書いていきます。

3 拠点間をヤマハのルータのVPN機能で常時接続する・・・NVR500のVPN設定準備その1

 

AI ことはじめ(スパムメール判定)

ただいま2018年。ここ数年で世の中 AI ブームが起きています。ブームに乗らないわけにはいかないのでとりあえず乗ってみましょう。

SONY の Neural Network Console に乗っかる?

Python だの Chainer、TensorFlow だの敷居が高そうなものはたくさんあります。そんな中で、ふと目に入ったのがSONY の Neural Network Console(以後 NNConsole と書きます)です。コーディング不要でビジュアルにAIができるみたいなキャッチですっかりそれに傾倒しました。しかも無料とくれば試すしかありません。ただいま2018年ですが、これに乗っかたのは2017年8月からです。

NNConsole に乗っかって何する?

宝くじでも予想させるか、競馬の予想させるか。頭の中は煩悩でいっぱいですが、そこはぐっとこらえてスパムメールを AI で判定させてみみることに決定。たまに Loto だのBIG だのに寄り道しましたが、スパムメール判定に成功しました。そこまでの道のりをご紹介します。

スパムメールの学習はどうやってするのか

AIなんだから、メールをファイルに落として読み込ませりゃ学習してくれるんでしょ? と思ったあなた。それは甘いです。NNConsole が学習データとして受け入れてくれるのは、2つ。

  • CSVファイル
  • 画像ファイル

これだけです。

メールなので、とりあえず画像として学習させるにはちょっと無理があります。CSVで学習させるしかないのです。メールを CSV に変換してそれを学習させるのです。ここまでの話だと、メールがどう CSV に化けるのかわかりませんね。その話は、また次回。

AI メール to CSV

どうでしょうか、AI や 人口知能に興味はわいてきましたでしょうか。



1 拠点間をヤマハのルータのVPN機能で常時接続する

拠点間をヤマハのルータでVPN LAN間接続

今回、東京都内に2か所目の事務所をオープンするにあたり、事務所間を VPN で接続し、データの共用などしたいなと考えました。その際、電話もひかり電話にしようかなとあれこれ調べてみると、ひかり電話の HGW(ホームゲートウェイ)の下にSIPクライアントというか、VoIP クライアントをぶら下げることができることがわかりました。であれば、構想/妄想はふくれあがり、以下の機能を実現しようと考えたわけです。

  1. 2か所の事務所を VPN で接続する
  2. 電話番号を2か所の事務所で共用する
  3. ファイルサーバを2か所の事務所で共用する

これらの構想/妄想を現実にするまでをご紹介します。

まずは、1つ目の「2か所の事務所を VPN で接続する」です。 VPN とは、Virtual Private Network のことで、仮想私的網とでも中国語では書くのでしょうか。物理的に離れた拠点のネットワークを接続して、ネットワークを一体化すると言うものです。

今回キーとなるのは、その接続方法です。 Internet が発達した世の中なので、 Internet さえ接続できたら、2か所のネットワーク接続なんて簡単?にできます。しかし、今回は、 Internet 接続無しで VPN を構築します。正確には、 Internet を通さずにと言ったほうが良いでしょう。まずはネットワーク概念図を見てください。

2か所の事務所をそれぞれ拠点A、拠点Bとして描いています。それぞれの拠点は、フレッツ 光ネクスト系の回線を契約しています。フレッツ 光ネクスト系と’系’と書いたのは、NTT のサービス品目にマンションだの戸建てだの色々とあるからです。ここで使えるのは、”ネクスト”と付いているサービス品目です。NTT のひかり電話であれば、NGN網に接続しているはずです。これらのサービスは、NGN(Next Generation Network)網に接続します。フレッツ光ネクストの”ネクスト”とは、NGN の先頭の Next のことだったんですね。NGN網は、NTT が提供している閉鎖網で直接 Internet には接続していません。このNGN網だけを通して2拠点間を VPN で 接続します。ただし、NTT東日本と NTT西日本では相互に繋がっていないようです。NGN網だけで VPN を構築するメリットは次のとおりです。

フレッツ光ネクストは高速である

拠点から NGN網に接続するのは光ケーブルによる 1Gbpsの回線です。また、NGN網は、世界に誇る? NTT さんが構築している Next Generation Network=次世代ネットワークと言うことで、内部は相当高速&高効率&高信頼なのです。具体的には NTT さんに聞いてください。

今回の事例では、FTP での転送速度が 220 Mbps程度出ました。やはり速いです。Internet 経由だと、上りが数 Mbps とか絞られるので、こうはいかないでしょう。

フレッツ光ネクストは閉鎖網であるので安全性が高い

NGN網は、 IPV6 による閉鎖網なんです。 IPV6 ってワールドワイドで統一されていると思ったのですが、NGN網内はNTTのプライベートネットワークのような扱いです。それで Internet にはデータが流れないので、安全性が高いわけです。

 

これらの利点は、先に述べましたが NTT東日本と NTT西日本の間では相互に繋がっていないようですので注意してください。

フレッツ光ネクストの乗換や新規申し込みは ↓↓↓ こちらからどうぞ。



NTTフレッツ光


次回は、具体的に VPN をどう構築するのか、それに必要な契約やモノについて書きます。

2 拠点間をヤマハのルータのVPN機能で常時接続する・・・必要なモノは

 

 

日付/時刻のゼロサプレス

対象:csh、tcsh

Cシェルの日付計算ジ時の0の扱い

dateコマンドで日付や時刻を取得した場合、ゼロ付きというかゼロで先頭を埋めて返ってくるものがあります。man dateを見てください。

       %H     hour (00..23)

       %I     hour (01..12)

       %j     day of year (001..366)

       %k     hour ( 0..23)

       %l     hour ( 1..12)

       %m     month (01..12)

       %M     minute (00..59)

       %S     second (00..60)


抜粋したものを載せました。

時などは、%H の代わりに %k を使うなどすれば良いのですが、分や秒はどうしても0が付く場合があります。0が付いたままシェルの中で計算するとエラーになる場合があります。下記に例を示します。

% @ b = 8 + 1
% echo $b
9

% @ b = 08 + 1
@: 番号が正しい書式になっていません.

例では 8 と 08 で比較していますが、二桁であればうまく動いてしまいます。

そこで、先頭から続く0を考慮する必要があります。やり方としては2つあります。サンプルにあるように @を 使いたい場合と、@ をやめる方法です。

200×200 高速大容量レンタルサーバ10G
mixhost

“日付/時刻のゼロサプレス” の続きを読む

CGIのデバッグ

フォームを作ってみたはいいけど、CGIでどのようなデータが飛んでくるのか最初はよくわからないことがあります。wireshark なんかで、ダンプしてみるのも手ですが、サーバ側でダンプしてみる方法を考えました。専用の CGIを 作成して、本来の CGI と置き換えることによって、クライアントの画面にダンプデータと言うか、クライアントから POST されたデータがそのまま表示されます。


200×200 高速大容量レンタルサーバ10G
mixhost

これ ↓↓↓ がそのコードです。csh で記述しています。

#!/bin/csh -f

echo Content-type: text/html
echo ""


set save = /tmp/CGIdata$$

echo '-------------------------  DATA  ---------------------------------------' > $save
cat >> $save
printf "\n\n\n\n" >> $save


echo '-------------------------   ENV  ---------------------------------------' >> $save
env >> $save
printf "\n\n\n" >> $save


echo '-------------------------   set  ---------------------------------------' >> $save
set >> $save
printf "\n\n\n" >> $save

echo '------------------------------------------------------------------------' >> $save


echo '<TITLE>CGI raw data</TITLE>'
echo "<HTML><BODY>"
echo '<CENTER><H2>CGI raw data</H2></CENTER><PRE>'
cat $save
rm -rf $dave
echo "</PRE></BODY></HTML>"

前半で、クライアントから送られてきたデータと環境変数などをテンポラリファイルに入れています。後半は、HTMLでその中身を送り返しています。ただそれだけなんですが、簡単なCGIのデバッグには有効です。複雑なものは無理ですが。

いかがでしたか。CGI なんてもう古いかもしれませんが、ちょっとしたものに使いたくなるときがありますが、動かずに苦労することがあります。そんな時にお役に立てればと思います。