6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

YAMAHA RTX1200のL2TP/IPSEC機能を使ってオンプレミスのサーバをIPアドレス変更なしにOCIへ移行してみた

Last updated at Posted at 2019-10-31

■検証概要

オンプレミスからクラウドへの移行にあたり、クライアント及び移行対象の変更を極力少なくするために
移行対象のIPアドレスを変更したくない場合があると思います。

但し、オラクルクラウドを含むほとんどのパブリッククラウドサービスでは
L2延伸をサポートしていないため、オンプレミスと異なるサブネットをクラウド上に割り当てて
それに合わせて送信元クライアントにおけるアクセス先IPアドレスと移行対象のIPアドレス設計を
変更するのが一般的だと思います。

IPアドレスを引き継ぐことだけが要件なのであればL2TP/IPSECで満たせるのでは?と思い、検証してみました。

■クラウド化のシナリオ

①通信要件

  • 既存のOn-Premises上にある「Client#1」から「Server#1」へは同セグメント(192.168.100.0/24)間での通信を
    行っているが、「Server#1」をクラウド(OCI)上に移行する計画である。
    その際、「Client#1」における通信先のIPアドレス変更及び移行対象「Server#1」のIPアドレス変更が発生しない
    ネットワーク構成にしたい。

②検証構成について

  • 既存のOn-Premises環境にあるインターネット接続ルータ(RTX1200)のL2TP/IPSECを利用、VPNサーバ化する。
  • OCI上にOn-Premisesと同じPublic Subnetを作成、「Server#1」の移行先となるインスタンスにも
    On-Premisesと同じIPアドレスを割り当てる。また移行先インスタンスにはインターネット間通信時に利用するPublic IP(固定)を割り当てる。
  • OCI上に作成したインスタンスはWindows標準機能(L2TP/IPSEC接続)を利用、VPNクライアントとする。

③動作について(「Server#1」移行後を想定)

  • VPNサーバ(RTX1200)はサーバ上のL2TPサーバ設定情報をもとにクライアント認証を行う。
    認証に成功したクライアントに対しては認証情報に基づき、決められた固定IPアドレスを払い出す。
  • 認証成功後はVPNクライアントにはL2TP/IPSEC通信用の仮想NICが生成され、VPNサーバから払い出されたIPアドレスが設定される。
  • VPN接続後のVPNクライアントは2つのルーティングポイント(Default Gateway)を持つようになり、Windowsでは仮想NIC側のDefault Gateway(VPNサーバ)が優先的に使われる(Metric値による制御)。
  • VPNサーバ(RTX1200)を経由して「Client#1」⇔OCI上の「Server#1」間の通信が可能になる。
    ※「Client#1」のARP RequestにVPNサーバが代理応答(Proxy-ARP)する仕組み

image.png

■VPNサーバ(RTX1200)コンフィグ

以下のURL記載情報をもとに作成しています
https://network.yamaha.com/setting/router_firewall/vpn/vpn_client/vpn-smartphone-setup_rtx1200

 [ゲートウェイの設定]
ip route default gateway pp 1

[LANインターフェースの設定]
ip lan1 address 192.168.100.251/24
ip lan1 proxyarp on

[L2TP接続を受け入れるための設定]
pp select 4
 pp bind tunnel3
 pp auth request chap-pap
 pp auth username ocitest3 password3
 ppp ipcp ipaddress on
 ppp ipcp msext on
 ip pp remote address 192.168.100.203
 ip pp mtu 1258
 pp enable 4

[L2TP接続で使用するトンネルの設定]
tunnel select 3
 tunnel encapsulation l2tp
 tunnel endpoint address x.x.x.x
 ipsec tunnel 103
  ipsec sa policy 103 3 esp aes-cbc sha-hmac
  ipsec ike keepalive use 3 off
  ipsec ike local address 3 192.168.100.251
  ipsec ike nat-traversal 3 on
  ipsec ike pre-shared-key 3 text vpn3
  ipsec ike remote address 3 x.x.x.x
 l2tp tunnel disconnect time off
 l2tp keepalive use on 10 3
 l2tp keepalive log on
 l2tp syslog on
 ip tunnel tcp mss limit auto
 tunnel enable 3

[NATの設定]
nat descriptor type 1 masquerade
nat descriptor address outer 1 ipcp
nat descriptor address inner 1 auto
nat descriptor masquerade static 1 1 192.168.100.251 esp
nat descriptor masquerade static 1 2 192.168.100.251 udp 500
nat descriptor masquerade static 1 3 192.168.100.251 udp 4500

[IPsecのトランスポートモード設定]
ipsec auto refresh on
ipsec transport 3 103 udp 1701

[DNSの設定]
dns server 8.8.8.8
dns private address spoof on

[L2TPの設定]
l2tp service on

■VPNクライアント「Server#1」VPN設定

以下のURL記載情報をもとに作成しています
https://support.microsoft.com/ja-jp/help/20510/windows-10-connect-to-vpn

  • [Control Panel] - [Network and Internet] - [Network and Sharing Center]に移動
    OCIインスタンス_VPN設定①-1_20191031.png

OCIインスタンス_VPN設定②-1_20191031.png

OCIインスタンス_VPN設定③-1_20191031.png

  • VPNサーバ(RTX1200)のPublic IPを入力
    OCIインスタンス_VPN設定④-1_20191031.png

  • 仮想NICを選択して右クリック、[Properties]を開く
    OCIインスタンス_VPN設定⑥-1_20191031.png

  • [Type of VPN]及び[Authentication]の設定を以下の通りに変更後、[Advanced settings]をクリック
    OCIインスタンス_VPN設定⑦-1_20191031.png

  • L2TPの認証方法を選択後、[Key]にPreShared keyを入力したらVPN設定が完了します
    設定完了後は[Control Panel] - [Network and Internet] - [Network Connections]の画面に戻り仮想NICを右クリック、
    [Connect/Disconnect]を選択して認証を行いVPN接続。
    OCIインスタンス_VPN設定⑧-1_20191031.png

■VPNクライアント「Server#1」確認ログ

  • ipconfig/all(VPN接続前)※一部編集
Ethernet adapter Ethernet 3: ★VPNクライアントの標準VNIC

   Connection-specific DNS Suffix  . : -
   Description . . . . . . . . . . . : Oracle VirtIO Ethernet Adapter #2
   Physical Address. . . . . . . . . : -
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : -
   IPv4 Address. . . . . . . . . . . : 192.168.100.201(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Thursday, October 31, 2019 1:13:07 AM
   Lease Expires . . . . . . . . . . : Friday, November 1, 2019 1:13:07 AM
   Default Gateway . . . . . . . . . : 192.168.100.1 ★VPNクライアントが配置されているSubnetのDefaultGW(Oracle管理)
   DHCP Server . . . . . . . . . . . : 169.254.169.254
   DHCPv6 IAID . . . . . . . . . . . : -
   DHCPv6 Client DUID. . . . . . . . : -
   DNS Servers . . . . . . . . . . . : 169.254.169.254
   NetBIOS over Tcpip. . . . . . . . : Enabled

C:\Users\opc>
  • ipconfig/all(VPN接続後)※一部編集
PPP adapter oci: ★VPN接続後に生成された仮想NIC

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : oci
   Physical Address. . . . . . . . . :
   DHCP Enabled. . . . . . . . . . . : No
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : -
   IPv4 Address. . . . . . . . . . . : 192.168.100.203(Preferred) ★認証情報をもとにVPNサーバから払い出されたIPアドレス
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . : 0.0.0.0
   DHCPv6 IAID . . . . . . . . . . . : 469893143
   DHCPv6 Client DUID. . . . . . . . : -
   DNS Servers . . . . . . . . . . . : 192.168.100.251
                                       8.8.8.8
   NetBIOS over Tcpip. . . . . . . . : Enabled

Ethernet adapter Ethernet 3:

   Connection-specific DNS Suffix  . : -
   Description . . . . . . . . . . . : Oracle VirtIO Ethernet Adapter #2
   Physical Address. . . . . . . . . : -
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : -
   IPv4 Address. . . . . . . . . . . : 192.168.100.201(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Thursday, October 31, 2019 1:13:07 AM
   Lease Expires . . . . . . . . . . : Friday, November 1, 2019 1:13:07 AM
   Default Gateway . . . . . . . . . : 192.168.100.1
   DHCP Server . . . . . . . . . . . : 169.254.169.254
   DHCPv6 IAID . . . . . . . . . . . : 151126039
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-25-4B-ED-1D-02-00-17-06-FC-AC
   DNS Servers . . . . . . . . . . . : 169.254.169.254
   NetBIOS over Tcpip. . . . . . . . : Enabled

C:\Users\opc>
  • route print(VPN接続前)※一部編集
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.100.1  192.168.100.201     15 ★Oracle管理のDefaultGWが使われている
        127.0.0.0        255.0.0.0         On-link         127.0.0.1    331
        127.0.0.1  255.255.255.255         On-link         127.0.0.1    331
  127.255.255.255  255.255.255.255         On-link         127.0.0.1    331
      169.254.0.0      255.255.0.0         On-link   192.168.100.201     16
  169.254.169.254  255.255.255.255    192.168.100.1  192.168.100.201     16
  169.254.255.255  255.255.255.255         On-link   192.168.100.201    271
    192.168.100.0    255.255.255.0         On-link   192.168.100.201    271
  192.168.100.201  255.255.255.255         On-link   192.168.100.201    271
  192.168.100.255  255.255.255.255         On-link   192.168.100.201    271
       202.45.0.0      255.255.0.0    192.168.100.1  192.168.100.201     16
        224.0.0.0        240.0.0.0         On-link         127.0.0.1    331
        224.0.0.0        240.0.0.0         On-link   192.168.100.201    271
  255.255.255.255  255.255.255.255         On-link         127.0.0.1    331
  255.255.255.255  255.255.255.255         On-link   192.168.100.201    271
===========================================================================
Persistent Routes:
  None

C:\Users\opc>
  • route print(VPN接続後)※一部編集
IPv4 Route Table
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.100.1  192.168.100.201   4240
          0.0.0.0          0.0.0.0         On-link   192.168.100.203     26 ★VPNサーバがDefaultGWとして追加されている
        127.0.0.0        255.0.0.0         On-link         127.0.0.1   4556  Oracle管理GW向けのDefault Routeより
        127.0.0.1  255.255.255.255         On-link         127.0.0.1   4556  小さいMetric値になっているため、外部NWとの
  127.255.255.255  255.255.255.255         On-link         127.0.0.1   4556  通信時はこちらのルーティングが優先的に
      169.254.0.0      255.255.0.0         On-link   192.168.100.201   4241  使われることになる
  169.254.169.254  255.255.255.255    192.168.100.1  192.168.100.201   4241
  169.254.255.255  255.255.255.255         On-link   192.168.100.201   4496
    192.168.100.0    255.255.255.0         On-link   192.168.100.201   4496
  192.168.100.201  255.255.255.255         On-link   192.168.100.201   4496
  192.168.100.203  255.255.255.255         On-link   192.168.100.203    281
  192.168.100.255  255.255.255.255         On-link   192.168.100.201   4496
       202.45.0.0      255.255.0.0    192.168.100.1  192.168.100.201   4241
  210.156.169.138  255.255.255.255    192.168.100.1  192.168.100.201   4241
        224.0.0.0        240.0.0.0         On-link         127.0.0.1   4556
        224.0.0.0        240.0.0.0         On-link   192.168.100.201   4496
        224.0.0.0        240.0.0.0         On-link   192.168.100.203     26
  255.255.255.255  255.255.255.255         On-link         127.0.0.1   4556
  255.255.255.255  255.255.255.255         On-link   192.168.100.201   4496
  255.255.255.255  255.255.255.255         On-link   192.168.100.203    281
===========================================================================
Persistent Routes:
  None

C:\Users\opc>

■「Client#1」疎通確認ログ

  • pingによる疎通確認

※インターネット環境にLTEを使用したため応答速度が遅いです。

ping 192.168.100.203

192.168.100.203 に ping を送信しています 32 バイトのデータ:
192.168.100.203 からの応答: バイト数 =32 時間 =92ms TTL=127
192.168.100.203 からの応答: バイト数 =32 時間 =148ms TTL=127
192.168.100.203 からの応答: バイト数 =32 時間 =53ms TTL=127
192.168.100.203 からの応答: バイト数 =32 時間 =54ms TTL=127

192.168.100.203 の ping 統計:
    パケット数: 送信 = 4、受信 = 4、損失 = 0 (0% の損失)、
ラウンド トリップの概算時間 (ミリ秒):
    最小 = 53ms、最大 = 148ms、平均 = 86ms
  • arp確認

arp -a

インターフェイス: 192.168.100.253 --- 0xc
  インターネット アドレス 物理アドレス           種類
  192.168.100.203       00-a0-de-6b-37-b6     動的 ★VPNサーバ(192.168.100.251)が「Server#1」へのARPリクエストに
  192.168.100.251       00-a0-de-6b-37-b6     動的   代理応答(Proxy ARP)しているため「Server#1」のARPアドレスが
  192.168.100.255       ff-ff-ff-ff-ff-ff     静的  VPNサーバのものと同じになっている
  224.0.0.22            01-00-5e-00-00-16     静的
  224.0.0.251           01-00-5e-00-00-fb     静的
  224.0.0.252           01-00-5e-00-00-fc     静的
  239.255.255.250       01-00-5e-7f-ff-fa     静的
  • Remote Desktop接続

コメント 2019-10-31 193142.png

■VPNサーバ「RTX1200」確認ログ(Client接続後)

※一部編集あり


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

sa   sgw isakmp connection   dir  life[s] remote-id
-----------------------------------------------------------------------------
1     3    -    isakmp       -    28696   x.x.x.x
2     3    1    tra[003]esp  send 3496    x.x.x.x
3     3    1    tra[003]esp  recv 3496    x.x.x.x

#
# show status l2tp
------------------- L2TP INFORMATION -------------------
L2TP情報テーブル
  L2TPトンネル数: 1, L2TPセッション数: 1
TUNNEL[3]:
  トンネルの状態: established
  バージョン: L2TPv2
  自機側トンネルID: 6424
  相手側トンネルID: 4
  自機側IPアドレス: 192.168.100.251
  相手側IPアドレス: x.x.x.x
  自機側送信元ポート: 1701
  相手側送信元ポート: 1701
  PPインタフェース: PP[04]
  ベンダ名: Microsoft
  ホスト名: tokyo-vcn3-pub1
  Next Transmit sequence(Ns): 13
  Next Receive sequence(Nr) : 4
  トンネル内のセッション数: 1 session
  セッション情報:
    セッションの状態: established
    自機側セッションID: 45522
    相手側セッションID: 1
    通信時間: 1分51秒
    受信: 272 パケット [92904 オクテット]
    送信: 231 パケット [72474 オクテット]
#
# show ip route
宛先ネットワーク    ゲートウェイ     インタフェース  種別  付加情報
default             -                    PP[01]    static
192.168.100.203/32  -                    PP[04]  implicit
y.y.y.y/32          -                    PP[01]  implicit
#

###■その他

  • OCI上に移行するサーバの台数が多い場合は一台ずつVPNクライアントの設定が必要になるため設定・運用が面倒になりそう。
  • 基本動作として、VPN接続後は全ての外部との通信(0.0.0.0/0)についてVPNサーバがDefaultGWになるため
    OCI上のインスタンス間の通信もVPNサーバ折り返しになってしまう。
    対策としてクラウド内の通信に関してはOCIのGW(Subnetのネットワークアドレス+1)をDefaultGWにするルーティングを追加。
  • OCI上のインスタンスの実IPアドレスとVPNクライアントとして割り当てられるIPアドレスが同じ設計になっており
    1台の仮想サーバが持つ2つのNICに同じIPアドレスが設定可能かという不安もあったが、ルーティングを注意すれば特に問題なさそう。

###■最後に

  • 本文章は個人で検証した内容の記録であり、検証方法及び結果を保証するものではないことを
    あらかじめご了承・ご理解いただけますようお願い致します。
6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?