0
0

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.

IBM Cloud: Client VPN for VPC利用時のSplit Tunnel/Full Tunnelにおけるネットワーク構成

Last updated at Posted at 2021-08-31

1. はじめに

Client VPN for VPCの概要や接続方法については、こちらの記事が参考になる。本稿では、落ち葉拾い的に、Client VPN for VPCのSplit Tunnel/Full Tunnelについて紹介したいと思う。

2. Split Tunnel/Full Tunnelとは

  • Split Tunnelは、VPNの先にあるサーバーに対して接続する時はtunnel inferface経由でVPN接続するが、それ以外のアクセスは、デフォルトのインターフェース経由で(VPNを利用しない時の経路を使って)アクセスする方法。
    イメージ的には、「default gatewayはVPNを張る前と同じで変わらない。VPN経由の通信だけtunnel interfaceを使ってstatic routeで構成される」と考えておけば良い。
  • Full tunnelは、(static routeなどの優先経路がない限りは)全ての通信はデフォルトでVPN経由にする方法。イメージ的には、「default gatewayがVPN Gatewayになる」と考えておけば良い。

以下、クライアント側(今回はMac)のルーティングテーブルを実際に確認してみる。

3. VPNに接続していない状態

  • 本環境では、192.168.1.1がdefault gatewayである。
syasuda@MacBook-Pro ~ % netstat -nr -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Netif Expire
default            192.168.1.1        UGScg          en0 
127                127.0.0.1          UCS            lo0
127.0.0.1          127.0.0.1          UH             lo0
169.254            link#10            UCS            en0      !
192.168.1          link#10            UCS            en0      !
192.168.1.1/32     link#10            UCS            en0      !
192.168.1.1        0:25:36:d3:c9:5d   UHLWIir        en0   1190
192.168.1.4/32     link#10            UCS            en0      !
192.168.1.4        3c:22:fb:53:77:45  UHLWI          lo0
192.168.1.255      ff:ff:ff:ff:ff:ff  UHLWbI         en0      !
224.0.0/4          link#10            UmCS           en0      !
224.0.0.251        1:0:5e:0:0:fb      UHmLWI         en0
239.255.255.250    1:0:5e:7f:ff:fa    UHmLWI         en0
255.255.255.255/32 link#10            UCS            en0      !
255.255.255.255    ff:ff:ff:ff:ff:ff  UHLWbI         en0      !

4. Split Tunnel構成

  • default gatewayは192.168.1.1のままである。
  • utun5というトンネルインターフェースが作成されている。VPN接続はこのトンネルインターフェース経由で行われる。
  • utun5には、10/24(10.0.0.0/24)と10.1/24(10.1.0.0/24)への経路がVPN Serverからpushされている。そのため、10.0.0.0/24宛および10.1.0.0/24宛のパケットはVPNを経由してVPCにアクセスする。

以下のVPN server routesの画面にて、VPN経由で接続したい対象のsubnetを構成しておく必要がある(構成が完了したら、VPNは再接続する必要がある)。たとえVPC上にsubnetが存在していたとしても、VPN server routesで何も設定しなければそのsubnet宛の経路はVPN Server上には構成されないため、VPN Clientにもその経路情報がpushされてこない。

image.png

syasuda@MacBook-Pro ~ % netstat -nr -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Netif Expire
default            192.168.1.1        UGScg          en0
10/24              192.168.252.1      UGSc         utun5
10.1/24            192.168.252.1      UGSc         utun5
127                127.0.0.1          UCS            lo0
127.0.0.1          127.0.0.1          UH             lo0
169.254            link#10            UCS            en0      !
192.168.1          link#10            UCS            en0      !
192.168.1.1/32     link#10            UCS            en0      !
192.168.1.1        0:25:36:d3:c9:5d   UHLWIir        en0   1200
192.168.1.4/32     link#10            UCS            en0      !
192.168.1.255      ff:ff:ff:ff:ff:ff  UHLWbI         en0      !
192.168.252/23     192.168.252.2      UGSc         utun5
192.168.252/22     192.168.252.1      UGSc         utun5
192.168.252.2      192.168.252.2      UH           utun5
224.0.0/4          link#10            UmCS           en0      !
224.0.0.251        1:0:5e:0:0:fb      UHmLWI         en0
239.255.255.250    1:0:5e:7f:ff:fa    UHmLWI         en0
255.255.255.255/32 link#10            UCS            en0      !
255.255.255.255    ff:ff:ff:ff:ff:ff  UHLWbI         en0      !

5. Full Tunnel構成

  • default gatewayは192.168.1.1のままである。しかし、
    • 0/1(=0.0.0.0/1=0.0.0.0-127.255.255.255)への経路はutun5を利用する。
    • 128.0/1(=128.0.0.0/1=128.0.0.0-255.255.255.255)への経路もutun5を利用する。
    • つまり、0/1128.0./1で、全ての経路を網羅しているのだが、default gatewayよりlongest matching(最長プレフィックス一致)とみなされてutun5が使われているのである。つまり、実質上のdefault gatewayはVPN Serverになっている。
  • VPN server routesで設定した経路は、Clientにはpushされてこない(実質上のdefault gatewayがVPN Serverになるように構成されているので不要)。ただし、VPN Serverからどのように転送するかという情報はFull Tunnelを利用していても依然として必要になるため、VPN server routesの構成が要らなくなるわけではない。
  • VPN ServerのPublic IP(この場合は162.133.xxx.xx/32)への接続までトンネルインターフェース経由になる訳には行かないので、その経路に対してのみ元のdefault gatewayが使用されるように明示的にstatic routeが追加されている。
syasuda@MacBook-Pro ~ % netstat -nr -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Netif Expire
0/1                192.168.252.1      UGScg        utun5
default            192.168.1.1        UGScg          en0
127                127.0.0.1          UCS            lo0
127.0.0.1          127.0.0.1          UH             lo0
128.0/1            192.168.252.1      UGSc         utun5
162.133.xxx.xx/32  192.168.1.1        UGSc           en0
169.254            link#10            UCS            en0      !
192.168.1          link#10            UCS            en0      !
192.168.1.1/32     link#10            UCS            en0      !
192.168.1.1        0:25:36:d3:c9:5d   UHLWIir        en0   1200
192.168.1.4/32     link#10            UCS            en0      !
192.168.1.4        3c:22:fb:53:77:45  UHLWI          lo0
192.168.252/23     192.168.252.2      UGSc         utun5
192.168.252.2      192.168.252.2      UH           utun5
224.0.0/4          link#10            UmCS           en0      !
224.0.0.251        1:0:5e:0:0:fb      UHmLWI         en0
239.255.255.250    1:0:5e:7f:ff:fa    UHmLWI         en0
255.255.255.255/32 link#10            UCS            en0      !
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?