ニフクラ ブログ

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

YAMAHA RTX1210 で単一拠点 IPsec VPN(L3 VPN)

こんにちは。まほろば工房の浅間です。このエントリーでは YAMAHA RTX1210 というルータを使ってニフティクラウドと IPsec VPN 接続をする方法について紹介していきたいと思います。

このエントリーで紹介するネットワークは以下の図のような感じになります。 002_01

オンプレミスと書かれた部分が拠点側です。会社であったり自宅であったりのプライベートなネットワークを想像してください。これを IPsec VPN でニフティクラウド上のプライベートネットワークと接続します。今回の例ではオンプレ側が 192.168.1.0/24 というネットワークで、ニフティクラウド上のプライベートネットワークが 172.16.1.0/24 というネットワークの場合を例に説明していきます。

またオンプレ側は NTT さんのフレッツサービスのような PPPoE でインターネット接続をする方法を例に紹介していきます。また固定グローバル IP アドレスを持っていることを前提とします。

VPN ゲートウェイの設定

まずは VPN ゲートウェイの設定からはじめましょう。ニフティクラウドのコパネを開き、メニューから “ネットワーク” をクリックします。

プライベート LAN を作成します。プライベート LAN とはニフティクラウド上のプライベートなネットワークです。プライベート LAN を作成し、そこにサーバーを接続することでプライベートなネットワークを作ることができます。 “プライベート LAN” タブをクリックして “プライベート LAN 作成” ボタンをクリックします。

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

“プライベート LAN 名” はなんでもオッケーです。もし用途が決まっているのであればそれと分かる名前を設定しておいたほうが良いかもです。

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

“IP アドレス帯” にはニフティクラウド側のネットワークを設定します。今回の例では 172.16.1.0/24 をニフティクラウド側のネットワークとして設定するので 172.16.1.0/24 を指定しています。

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

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

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

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

002_03

“VPN ゲートウェイ名” もなんでもオッケーです。ここではとりあえず “VPNGWL3″ という名前にしました。これもプライベート LAN 名と同様、もし用途が決まっているのであればそれとわかるような名前の方が良いかもです。

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

“タイプ” は VPN ゲートウェイの大きさのようなものです。 small では 1 拠点しか接続できませんが、 large では 8 拠点まで接続できます。当然、タイプによって金額が変わってくるので、接続する拠点数に応じて適切なタイプを選択します。ちなみにニフティの日下部さんがブログでタイプごとのベンチマーク結果を公開されていますが、タイプの違いで性能が(そんなに)変わるようなことはなさそうなので、タイプは単純に拠点数で決めてしまって大丈夫そうです。

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

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

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

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

002_04

まずこの VPN ゲートウェイに適用するファイアウォールをどうするか選べるのですが、今回は新しくファイアウォールのルールを作成してそのルールを適用したいと思います。 “適用するファイアウォールを設定します。” のしたのチェックボックスのうち “ファイアウォールを新規作成” を選択します。

“ファイアウォールを新規作成します。” のしたの “グループ名” には作成するファイアウォールの名前を入力します。ただの名前なのでなんでもオッケーなのですが、とりあえず今回は VPN ゲートウェイの名前と同じ VPNGWL3 にしてみました。

“許可する通信条件を設定します。” の下にこのファイアウォールのルールを定義します。条件を埋め、右側にある追加を押すことで定義していきます。最低限、『(1) 対向 VPN 装置(今回の例では YAMAHA RTX1210)のグローバル IP アドレスとの通信』、『(2) ニフティクラウドのプライベート側ネットワークからの通信』、の 2 つは許可する必要があります。 (1) についてはなんとなく理解できると思うのですが (2) も必要です。ニフティクラウド上の端末が VPN ゲートウェイを経由してオンプレ側の端末と通信する際、ファイアウォール的にはニフティクラウド上の端末から VPN ゲートウェイへ通信するようにみえるため、この設定をしないと VPN ゲートウェイにパケットが届かないことになってしまうためです。ということで以下の 2 つを許可するよう設定しました。

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

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

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

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

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

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

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

“対向機器 LAN 側 IP アドレス帯” にはオンプレ側のプライベートネットワークのネットワークアドレスを入力します。今回の例では YAMAHA RTX1210 のプラベート側のアドレスが 192.168.1.1/24 なので 192.168.1.0/24 を入力します。

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

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

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

“対向機器 LAN 側 IP アドレス” には YAMAHA RTX1210 のプライベート側の IP アドレスを入力します。上の補足にもあるとおりこの設定は YAMAHA 社製ルータでのみ必要となるようです。今回は YAMAHA RTX1210 なのでプライベート側の IP アドレス 192.168.1.1 を入力します。

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

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

002_06

下のほうに 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

まず、プライベートアドレスが今回設定しようとしているものと違うので、プライベート側アドレスから変えましょう。また DHCP で配る IP アドレスも違うので変えておきます。コンソールから以下のようにコマンドを実行します。

# ip lan1 address 192.168.1.1/24
# dhcp scope 1 192.168.1.101-192.168.1.200/24

これでプライベート側インターフェースである lan1 の IP アドレスが 192.168.1.1/24 に変更され、 DHCP で配る IP アドレスのレンジが 192.168.1.101 から 192.168.1.200 までになりました。

次に 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 シリーズ用の設定をコピペします。

# tunnel select 1
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.1
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# tunnel enable 1
tunnel1# no tunnel select
# ipsec auto refresh on
# ip route 172.16.1.0/24 gateway tunnel 1
# ip lan2 nat descriptor 1
# nat descriptor masquerade static 1 1 192.168.1.1 udp 500
# nat descriptor masquerade static 1 2 192.168.1.1 udp 4500
# nat descriptor masquerade static 1 3 192.168.1.1 esp

簡単ですね。ちゃんと接続できれば show ipsec sa コマンドを実行するとこんな感じになります。

# show ipsec sa
Total: isakmp:2 send:1 recv:1

sa    sgw isakmp connection    dir  life[s] remote-id
----------------------------------------------------------------------------
1     1    -     isakmp        -    28719   198.51.100.123
2     1    -     isakmp        -    28753   198.51.100.123
3     1    2     tun[0001]esp  send 3553    198.51.100.123
4     1    2     tun[0001]esp  recv 3553    198.51.100.123

この状態で YAMAHA RTX1210 のプライベート側にパソコンをつなぐと DHCP でアドレスが設定され、ニフティクラウドのプライベート側(172.16.1.xxx)と通信することができるはずです。

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

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

まとめ

YAMAHA RTX1210 とニフティクラウドを IPsec VPN でつないでみました。 YAMAHA RT シリーズ用のコマンドを生成してくれるので設定も簡単でした。

今回は IPsec で接続してみましたが次回、第 3 回目の記事では L2TPv3/IPsec で接続してみます。お楽しみに。