ニフクラ ブログ

ニフクラ/FJ Cloud-Vやクラウドの技術について、エンジニアが語るブログです。

YAMAHA RTX1210 で単一拠点 L2TPv3/IPsec VPN(L2 VPN)

こんにちは。まほろば工房の浅間です。前回に引き続き YAMAHA RTX1210 をつかってニフティクラウドとオンプレを VPN でつなぐネタです。前回は IPsec VPN(L3 VPN) でしたが、今回は L2TPv3/IPsec VPN(L2 VPN) でニフティクラウドとオンプレをつないでみたいと思います。

今回やってみる接続方法を絵にすると以下のような感じになります。

003_01

前回はオンプレ側とニフティクラウド側のネットワークが別ネットワーク(それぞれ 192.168.1.0/24 と 172.16.1.0/24)でしたが、今回はどちらも 192.168.1.0/24 で同じ L2 ネットワークになっています。たとえばオンプレ側に 192.168.1.222 というパソコンがいてニフティ側に 192.168.1.11 というサーバーがいるような構成の場合、あたかもパソコンとサーバーが同じスイッチングハブに接続されているような感じになります。

前回同様、オンプレ側は NTT さんのフレッツサービスのような PPPoE でインターネット接続をし、固定グローバル IP アドレスをもっていることを前提とします。

VPN ゲートウェイの設定

まずは VPN ゲートウェイの設定からはじめましょう。実は IPsec VPN と L2TPv3/IPsec VPN の設定で違いがでてくるのは最後のほうの VPN コネクションの作成のあたりからになります。 プライベート LAN と VPN ゲートウェイの作成については前回の IPsec VPN とほぼ同じ(設定するパラメータが微妙に違うくらい)なので、このへんの詳しい説明はちょっと省きます。

ニフティクラウドのコンパネを開き、メニューから “ネットワーク” をクリックします。

プライベート LAN を作成します。プライベート LAN の作りかたは IPsec VPN のときと同じですが、今回は IP アドレス帯に 172.16.1.0/24 ではなく 192.168.1.0/24 を指定します。 “プライベート LAN” タブをクリックして “プライベート LAN 作成” ボタンをクリックします。

“プライベート LAN 作成 基本設定” というウィンドウが表示されるので必要事項を入力します。 003_02

IPsec VPN の時と同様、 “プライベート LAN 名” はなんでもオッケーです。

“ゾーン” はお好みのゾーンを選択します。ゾーンによってはファイアウォール機能が使えたり使えなかったりといった違いもあるようなのでご注意ください。

先ほど書いた通り “IP アドレス帯” にはオンプレ側と同じネットワークアドレスを設定します。今回の例では 192.168.1.0/24 になります。

“料金コース” は月額と従量の 2 種類から選べます。お好みを選択してください。

必要な情報が入力できたら “確認へ” ボタンを押して確認画面へ進みます。確認画面が表示されたら内容を確認して “作成する” ボタンを押しましょう。作成が完了すると “プライベート LAN” の一覧に作成したプライベート LAN が表示されます。

続いて VPN ゲートウェイを作成します。 “VPN ゲートウェイ” タブをクリックし、 “VPN ゲートウェイ作成” ボタンを押します。

VPN ゲートウェイ作成 基本設定” というウィンドウが表示されるので必要事項を入力します。

003_03

VPN ゲートウェイ名” はなんでもオッケーです。例ではとりあえず “VPNGWL2″ としておきました。

“ゾーン” はプライベート LAN で選択したものと同じものを選択します。

“タイプ” は VPN ゲートウェイの大きさのようなものです。前回説明した通り大きさによって接続できる拠点数に違いがあるので何拠点とつなぐ予定かに応じて選びます。

“料金コース” は月額と従量の 2 種類から選べます。お好みを選択してください。

“ネットワーク設定を行います。” の No.2 は作成する VPN ゲートウェイのプライベート側のネットワークをどこにするかの設定です。先ほど作成したプライベート LAN が選べるはずなので選択します。

必要な情報が入力できたら “ファイアウォール設定へ” ボタンを押します。

VPN ゲートウェイ ファイアウォール設定” というウィンドウが表示されるので必要事項を入力します。

003_04

“適用するファイアウォールを設定します。” の下にあるチェックボックスのうち “ファイアウォールを新規作成” を選択します。

ファイアウォールを新規作成します。” の下にある “グループ名” には作成するファイアウォールの名前を入力します。とりあえず今回は VPN ゲートウェイの名前と同じ VPNGWL2 にしました。

“許可する通信条件を設定します。” のしたにこのファイアウォールのルールを定義します。前回の IPsec VPN の時と同様、最低限、『(1) 対向 VPN 装置(今回の例では YAMAHA RTX1210)のグローバル IP アドレスとの通信』、『(2) ニフティクラウドのプライベート側ネットワークからの通信』、の 2 つは許可する必要があります。ということで以下の 2 つを設定しました。

プロトコル 宛先ポート IN/OUT 接続元種別 IPアドレス・グループ
ANY IN IPアドレス(IPv4) 203.0.113.234
ANY IN CIDR(IPv4) 192.168.1.0/24

必要な情報が入力できたら “ファイアウォールを作成する” ボタンを押します。ファイアウォールが作成されるので “確認へ” ボタンを押します。作成する VPN ゲートウェイについての確認画面が表示されるので内容を確認し “OK” ボタンを押します。作成が完了すると “VPN ゲートウェイ” の一覧に作成した VPN ゲートウェイが表示されます。

続いて VPN コネクションを作成します。 “VPN コネクション” タブをクリックし、 “VPN コネクション作成” ボタンを押します。

VPN コネクションの作成 基本設定” というウィンドウが表示されるので必要事項を入力します。

003_05

VPN ゲートウェイ” は先ほど作成した VPN ゲートウェイを選択します。

“接続方式” は “L2TPv3/IPsec” を選択します。

“対向機器 IP アドレス” にはオンプレ側のグローバル IP アドレスを入力します。今回例として説明する環境では YAMAHA RTX1210 のグローバル IP アドレスが 203.0.113.234 なのでこのアドレスを入力します。

接続方式が L2TPv3/IPsec の場合 “対向機器 LAN 側 IP アドレス帯” にはなにも入力しません(自動的になにも入力できないようになっているはずです)。

“暗号化アルゴリズムリスト” と “認証アルゴリズムリスト” はそのままにします。

“事前共有鍵” は空のままにします。補足説明の通り、ここを空にしておくとニフティクラウドさんのほうでランダムなものを生成して設定してくれます。

“MTU サイズ” はそのままにします。

“対向機器 LAN 側 IP アドレス” には YAMAHA RTX1210 のプライベート側の IP アドレスを入力します。今回は YAMAHA RTX1210 で接続しようとしているのでプライベート側の IP アドレスである 192.168.1.254 を入力します。

これらの情報が入力できたら “トンネル設定へ” ボタンをおして次にすすみます。

L2TPv3/IPsec の場合、 “VPN コネクションの作成 トンネル設定” というウィンドウが表示され L2TPv3 の情報の入力を求められます。

003_06

“モード” は Managed を選択します。モードは Managed と Unmanaged の 2 種類があります。これらは L2TPv3 でコネクション ID とセッション ID を L2TPv3 のコントロール・チャンネルで折衝してトンネルを設定するか(これを Managed と呼んでいます)、それともコントロール・チャンネルでの折衝をせず手動でコネクション ID とセッション ID を決め打ちしてトンネルを設定するか(これを Unmanaged と呼んでいます)、のどちらかを指定するものです。機器によってはどちらかしかサポートしていない場合があるので、機器に応じてどちらかを選択します。 YAMAHA RTX1210 は Managed しかサポートしていないので Managed 以外では接続できません。

モードが Managed の場合 “カプセル化方式” は必ず UDP になります(これはおそらく VPN ゲートウェイの仕様による制約?)。L2TPv3 のカプセル化方式は UDP と IP の 2 種類があります。これは L2TPv3 のパケットを UDP データグラムとしてカプセル化するか IP パケットとしてカプセル化するかを指定するものです。こちらも機器によってサポートしていたりしていなかったりという場合があるので、(Unmanaged の場合は、ですが)機器に応じてどちらかを選択します。

以下のトンネル ID、セッション ID、ポートに関しては Managed の場合設定できないようになっているはずです。もし Unmanaged の場合はこれらを決め打ちする必要があるのですが、今回は Managed ですのでなにも指定しません。

入力が完了したら “確認へ” ボタンを押して確認画面へ進みます。確認画面が表示されたら内容を確認して “OK” ボタンを押します。 VPN コネクションの作成が完了すると “VPN コネクション” の一覧に表示されます。

VPN コネクションの一覧から作成した VPN コネクションの左側のラジオボタンを選択し、したに表示されるウィンドウの “対向機器用設定” をクリックします。プルダウンメニューで “YAMAHA RTXシリーズ Rev.10.01.53+” を選択し “表示” ボタンを押します。

003_07

下のほうに YAMAHA RT シリーズ用の設定コマンドが表示されるのでどこかにコピーしておきます。ここに表示されるコマンドは続く “YAMAHA RTX1210 の設定” で使います。

VPN ゲートウェイの設定は以上です。続いてオンプレ側の YAMAHA RTX1210 の設定に移りましょう。

YAMAHA RTX1210 の設定

工場出荷状態の YAMAHA RTX1210 は以下のような設定になっています。

# RTX1210 Rev.14.01.07 (Wed Apr 15 14:50:53 2015)
# MAC Address : 00:a0:de:xx:xx:xx, 00:a0:de:xx:xx:xx, 00:a0:de:xx:xx:xx
# Memory 256Mbytes, 3LAN, 1BRI
# main:  RTX1210 ver=00 serial=xxxxxxxxx MAC-Address=00:a0:de:xx:xx:xx MAC-Address=00:a0:de:xx:xx:xx MAC-Address=00:a0:de:xx:xx:xx
# Reporting Date: May 22 22:00:38 2015
ip lan1 address 192.168.100.1/24
dhcp service server
dhcp server rfc2131 compliant except remain-silent
dhcp scope 1 192.168.100.2-192.168.100.191/24

まず、プライベート側の設定をしたいのですが、 L2TPv3/IPsec で L2 VPN 接続をする場合、 lan1 にプライベート側 IP アドレスを設定するのではなくブリッジインターフェースを作成してそこにプライベート IP アドレスを設定し、そのブリッジに lan1 と L2TPv3 トンネルインターフェースを接続するような設定にする必要があります。また工場出荷状態では DHCP の設定もされていますが、これらの設定があるとニフティクラウド側のサーバーが YAMAHA RTX1210 の DHCP サーバーからアドレスをもらってしまってデフォルト・ルートが YAMAHA RTX1210 側に向いてしまいめんどくさいことになったりするので DHCP サーバー機能は切っておきます。ということで以下のコマンドを実行します。

# no ip lan1 address 192.168.100.1/24
# no dhcp service server
# no dhcp server rfc2131 compliant except remain-silent
# no dhcp scope 1 192.168.100.2-192.168.100.191/24

これで完全に空の設定になりました。

次に PPPoE でインターネット接続をするための設定をしましょう。以下のコマンドを実行します。実際には xxx@yyy.jp を PPPoE の接続 ID に、 zzz を PPPoE の接続パスワードに、それぞれ置き換えてください。

# pp select 1
pp1# pppoe use lan2
pp1# pp auth accept pap chap
pp1# pp auth myname xxx@yyy.jp zzz
pp1# ppp lcp mru on 1454
pp1# ppp ipcp ipaddress on
pp1# ppp ipcp msext on
pp1# ppp ccp type none
pp1# ip pp mtu 1454
pp1# pp enable 1
pp1# pp select none
# dns server pp 1
# dns private address spoof on
# ip route default gateway pp 1

これで YAMAHA RTX1210 はインターネットに接続されるはずです。念のため show status コマンドで確認してみましょう。

# show status pp 1
PP[01]:
説明:
PPPoEセッションは接続されています
接続相手: ****-****
通信時間: 47秒
受信: 13 パケット [1346 オクテット]  負荷: 0.0%
送信: 10 パケット [493 オクテット]  負荷: 0.0%
PPPオプション
    LCP Local: Magic-Number MRU, Remote: CHAP Magic-Number MRU
    IPCP Local: IP-Address Primary-DNS(xxx.xxx.xxx.xxx) Secondary-DNS(xxx.xxx.xxx.xxx), Remote: IP-Address
    PP IP Address Local: 203.0.113.234, Remote: xxx.xxx.xxx.xxx
    CCP: None

ちゃんと接続されるとこんな感じで表示されると思います。

つぎに NAPT の設定をしましょう。 YAMAHA RTX1210 はインターネットにつながっていても、内側の端末がインターネットにアクセスするためには YAMAHA RTX1210 がもっているグローバル IP アドレスを使ってアドレスとポートを変換する NAPT の設定をする必要があります。以下のコマンドを実行します。

# nat descriptor type 1 masquerade
# nat descriptor address outer 1 ipcp
# nat descriptor address inner 1 auto
# pp select 1
pp1# ip pp nat descriptor 1
pp1# pp select none

ここまで設定すればあとは終わったようなものです。 VPN ゲートウェイの設定の最後でコピーしておいた YAMAHA RT シリーズ用の設定をコピペします。

# bridge member bridge1 lan1 tunnel1
# ip bridge1 address 192.168.1.254/24
# tunnel select 1
tunnel1# tunnel encapsulation l2tpv3
tunnel1# tunnel endpoint address 192.168.1.254 198.51.100.123
tunnel1# ipsec tunnel 101
tunnel1# ipsec sa policy 101 1 esp aes-cbc sha-hmac
tunnel1# ipsec ike duration ipsec-sa 1 3600
tunnel1# ipsec ike duration ike-sa 1 28800
tunnel1# ipsec ike encryption 1 aes-cbc
tunnel1# ipsec ike group 1 modp1024
tunnel1# ipsec ike hash 1 sha
tunnel1# ipsec ike keepalive use 1 on dpd
tunnel1# ipsec ike local address 1 192.168.1.254
tunnel1# ipsec ike pfs 1 on
tunnel1# ipsec ike pre-shared-key 1 text xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
tunnel1# ipsec ike remote address 1 198.51.100.123
tunnel1# l2tp always-on on
tunnel1# l2tp hostname YAMAHA-RT1
tunnel1# l2tp tunnel auth off
tunnel1# l2tp tunnel disconnect time off
tunnel1# l2tp keepalive use on 20 3
tunnel1# l2tp keepalive log on
tunnel1# l2tp syslog on
tunnel1# l2tp local router-id 203.0.113.234
tunnel1# l2tp remote router-id 198.51.100.123
tunnel1# l2tp remote end-id vpn-0ewfh3h0
tunnel1# tunnel enable 1
tunnel1# no tunnel select
# ipsec auto refresh on
# ipsec transport 1 101 udp 1701
# l2tp service on l2tpv3
# nat descriptor masquerade static 1 1 192.168.1.254 esp
# nat descriptor masquerade static 1 2 192.168.1.254 udp 500
# nat descriptor masquerade static 1 3 192.168.1.254 udp 4500

ちゃんと接続できれば show status l2tp コマンドを実効するとこんな感じになります。

# show status l2tp
------------------- L2TP INFORMATION -------------------
L2TP情報テーブル
  L2TPトンネル数: 1, L2TPセッション数: 1
TUNNEL[1]:
  トンネルの状態: established
  バージョン: L2TPv3
  自機側トンネルID: 14434
  相手側トンネルID: 43238
  自機側IPアドレス: 192.168.1.254
  相手側IPアドレス: 198.51.100.123
  自機側送信元ポート: 1701
  相手側送信元ポート: 1701
  ベンダ名: xelerance.com
  ホスト名: xxxxxxxx-site-to-site-vpn-xxxx
  Next Transmit sequence(Ns): 4
  Next Receive sequence(Nr) : 2
  トンネル内のセッション数: 1 session
  セッション情報:
    セッションの状態: established
    自機側セッションID: 3709
    相手側セッションID: 15934
    Circuit Status 自機側:UP 相手側:UP
    通信時間: 15秒
    受信: 6 パケット [540 オクテット]
    送信: 6 パケット [703 オクテット]

この状態で YAMAHA RTX1210 のプライベート側にパソコンをつなぎ 192.168.1.0/24 のアドレスを設定するとニフティクラウド上の 192.168.1.0/24 のサーバーと通信することができるはずです。

最後に忘れずに設定を保存しましょう。

# save
セーブ中... CONFIG0 終了

まとめ

YAMAHA RTX1210 とニフティクラウドを L2TPv3/IPsec VPN でつないでみました。 IPsec VPN と同様 YAMAHA RTX 1210 側の設定はほとんどコピペで済むので簡単に設定することができました。

前回と今回ではオンプレとニフティクラウドをつなぐための 2 種類の VPN 接続方法について紹介しましたが、次回(とそのまた次回)はニフティクラウドニフティクラウドの間を VPN で接続する方法について紹介します。お楽しみに。