異機種間のフロートリンク設定(IPsec-VPN)

コンフィグ体系が異なるSEILシリーズおよびSA-Wシリーズ同士でフロートリンクによるIPsec-VPNを構成する場合の設定例。

始める前に

  • SMFv2サービスを利用しているものとします。
  • SEILシリーズおよびSA-Wシリーズの基本的なインターネット接続設定について理解しているものとします。

このタスクについて

  • フロートリンク機能を使用することで各拠点のグローバルIPアドレスを自発的に解決できます。
  • IPsec/IKEの設定機能について、SEILシリーズはSA-Wシリーズと比べて設定可能な項目が多く搭載されているため、基本的にSA-Wの搭載機能に合わせて設定します。

構成イメージ

  • 各サービスアダプタは、自身のインターネット接続アドレスをフロートリンクのネームサーバへ登録し、また、対向装置のアドレスを取得します。

機能の差異

機種 コンフィグ形式 フィルタ VPN内のIPv6通信
SEIL/X1(X2, B1, x86 Fuji, BPV4) コマンドライン 対向間の通信をパスするルールが自動追加されます(無効化不可)
SEIL/X4(x86 Ayame, CA10) キー&バリュー 対向間の通信をパスするルールを自動追加可能です(デフォルト無効) 不可
SA-W2(W2L, W2S, W1) キー&バリュー 対向間の通信をパスするルールを追加する必要があります 不可

用意するパラメータ

項目 SEIL/X4 SEIL/X1 SA-W2 備考
VPN終端(インターネット接続)アドレス 自動取得(PPPoE) 自動取得(PPPoE) 自動取得(PPPoE)
接続サービスから指定されたID x4@example.jp x1@example.jp w2@example.jp
接続サービスから指定されたパスワード x4passowrd x1passowrd w2passowrd
LAN側アドレス 192.168.4.1/24 192.168.1.1/24 192.168.2.1/24
フロートリンクID txx0000004 txx0000001 txx0000002 任意の文字を使用可能だが、サービスコードなど一意かつ拠点を特定しやすいIDを推奨
IKEの事前共有鍵 preshared-key preshared-key preshared-key 任意の文字列(秘密鍵)。対向同士で共通とする
フロートリンクのネームサーバ https://floatlinkurl/example https://floatlinkurl/example https://floatlinkurl/example 機種・サービスにより異なる(サンプルは無効なURL)
フロートリンクのグループキー floatlink_key floatlink_key floatlink_key 任意の文字列(秘密鍵)。VPNグループ内で共通とする
NTPサーバアドレス 192.0.2.123 192.0.2.123 192.0.2.123 適切なNTPサーバを指定すること(サンプルは無効なIPアドレス)

SA-W2のサンプルコンフィグ

## 基本的なインターネット接続設定
interface.pppoe0.id        : w2@example.jp
interface.pppoe0.password  : w2password
interface.ge1.ipv4.address : 192.168.2.1/24
nat.ipv4.napt.0.private    : 192.168.2.1-192.168.2.255
nat.ipv4.napt.0.interface  : pppoe0
route.ipv4.0.destination   : default
route.ipv4.0.gateway       : pppoe0
resolver.service           : enable
resolver.0.address         : ipcp
ntp.service                : enable
ntp.client.0.address       : 192.0.2.123

## SEIL/X1を対向とする設定
interface.ipsec1.floatlink.description    : for_SEIL/X1
interface.ipsec1.floatlink.my-address     : pppoe0
interface.ipsec1.floatlink.address-family : ipv4
interface.ipsec1.floatlink.key            : floatlink_key
interface.ipsec1.floatlink.name-service   : https://floatlinkurl/example
interface.ipsec1.floatlink.my-node-id     : txx0000002
interface.ipsec1.floatlink.peer-node-id   : txx0000001
interface.ipsec1.preshared-key            : preshared-key
route.ipv4.100.destination            : 192.168.1.0/24
route.ipv4.100.gateway                : ipsec1
route.ipv4.101.floatlink.destination  : txx0000001
route.ipv4.101.gateway                : pppoe0
route.ipv4.101.floatlink.key          : floatlink_key
route.ipv4.101.floatlink.name-service : https://floatlinkurl/example
filter.ipv4.101.interface                     : any
filter.ipv4.101.action                        : pass
filter.ipv4.101.direction                     : in
filter.ipv4.101.destination.floatlink.address : txx0000002
filter.ipv4.101.source.floatlink.address      : txx0000001
filter.ipv4.101.floatlink.key                 : floatlink_key
filter.ipv4.101.floatlink.name-service        : https://floatlinkurl/example
filter.ipv4.101.logging                       : off

## SEIL/X4を対向とする設定
interface.ipsec2.floatlink.description    : for_SEIL/X4
interface.ipsec2.floatlink.my-address     : pppoe0
interface.ipsec2.floatlink.address-family : ipv4
interface.ipsec2.floatlink.key            : floatlink_key
interface.ipsec2.floatlink.name-service   : https://floatlinkurl/example
interface.ipsec2.floatlink.my-node-id     : txx0000002
interface.ipsec2.floatlink.peer-node-id   : txx0000004
interface.ipsec2.preshared-key            : preshared-key
route.ipv4.200.destination            : 192.168.4.0/24
route.ipv4.200.gateway                : ipsec2
route.ipv4.201.floatlink.destination  : txx000004
route.ipv4.201.gateway                : pppoe0
route.ipv4.201.floatlink.key          : floatlink_key
route.ipv4.201.floatlink.name-service : https://floatlinkurl/example
filter.ipv4.201.interface                     : any
filter.ipv4.201.action                        : pass
filter.ipv4.201.direction                     : in
filter.ipv4.201.destination.floatlink.address : txx0000002
filter.ipv4.201.source.floatlink.address      : txx0000004
filter.ipv4.201.floatlink.key                 : floatlink_key
filter.ipv4.201.floatlink.name-service        : https://floatlinkurl/example
filter.ipv4.201.logging                       : off
インターネット接続設定
基本的なインターネット接続設定を行います。
ここではIPv4 PPPoE接続サービスを使用しています。DHCP型の接続サービスを利用する場合はインタフェースや経路のNexthopを適宜読み替えてください。
注:
  • リゾルバ設定は省略できません。サービスアダプタがフロートリンクのネームサーバのアドレスを解決できる必要があります。
  • NTPクライアント機能の使用を推奨します。トラブルシュート時にログの照合に役立ちます。
対向毎の設定
基本的にどの機種が対向となる場合も同様のパラメータ群で接続できます。
IPsecインタフェース(interface.ipsec[]...)
...floatlink.my-address:pppoe0インタフェースのアドレスを自アドレスとしてネームサーバに登録します。
...floatlink.address-family:自アドレスにIPv4アドレスを使用します。
...floatlink.my-node-id:ネームサーバに登録する自身のノードIDを指定します。
...floatlink.peers-node-id:対向側のノードIDを指定します。
静的経路 (route.ipv4...)
(1)VPN対向のローカルネットワークへの経路をIPsecインタフェースに向けます。
(2)VPN対向の終端アドレスをインターネットへ向けるため、フロートリンクによってアドレスを解決するように設定します。デフォルト経路などに含まれる場合には設定しなくても構いません。
IPフィルタ (filter.ipv4...)
VPN対向の終端アドレスとの通信をパスするため、フロートリンクによってアドレスを解決するように設定します。ブロックルールが無い場合や、他のフィルタルールでパスされる場合には設定しなくても構いません。

SEIL/X4のサンプルコンフィグ

## 基本的なインターネット接続設定
interface.pppoe0.id        : x4@example.jp
interface.pppoe0.password  : x4password
interface.ge1.ipv4.address : 192.168.4.1/24
nat.ipv4.napt.0.private    : 192.168.4.1-192.168.4.255
nat.ipv4.napt.0.interface  : pppoe0
route.ipv4.0.destination   : default
route.ipv4.0.gateway       : pppoe0
resolver.service           : enable
resolver.0.address         : ipcp
ntp.service                : enable
ntp.client.0.address       : 192.0.2.123

## フロートリンクの共通設定
floatlink.auto-pass-filter : enable

## SEIL/X1を対向とする設定
interface.ipsec1.floatlink.description    : for_SEIL/X1
interface.ipsec1.floatlink.my-address     : pppoe0
interface.ipsec1.floatlink.address-family : ipv4
interface.ipsec1.floatlink.key            : floatlink_key
interface.ipsec1.floatlink.name-service   : https://floatlinkurl/example
interface.ipsec1.floatlink.my-node-id     : txx0000004
interface.ipsec1.floatlink.peer-node-id   : txx0000001
interface.ipsec1.preshared-key            : preshared-key
route.ipv4.100.destination            : 192.168.1.0/24
route.ipv4.100.gateway                : ipsec1
route.ipv4.101.floatlink.destination  : txx0000001
route.ipv4.101.gateway                : pppoe0
route.ipv4.101.floatlink.key          : floatlink_key
route.ipv4.101.floatlink.name-service : https://floatlinkurl/example

## SA-W2を対向とする設定
interface.ipsec2.floatlink.description    : for_SA-W2
interface.ipsec2.floatlink.my-address     : pppoe0
interface.ipsec2.floatlink.address-family : ipv4
interface.ipsec2.floatlink.key            : floatlink_key
interface.ipsec2.floatlink.name-service   : https://floatlinkurl/example
interface.ipsec2.floatlink.my-node-id     : txx0000004
interface.ipsec2.floatlink.peer-node-id   : txx0000002
interface.ipsec2.preshared-key            : preshared-key
route.ipv4.200.destination            : 192.168.2.0/24
route.ipv4.200.gateway                : ipsec2
route.ipv4.201.floatlink.destination  : txx0000002
route.ipv4.201.gateway                : pppoe0
route.ipv4.201.floatlink.key          : floatlink_key
route.ipv4.201.floatlink.name-service : https://floatlinkurl/example
インターネット接続設定
基本的なインターネット接続設定を行います。
ここではIPv4 PPPoE接続サービスを使用しています。DHCP型の接続サービスを利用する場合はインタフェースや経路のNexthopを適宜読み替えてください。
注:
  • リゾルバ設定は省略できません。サービスアダプタがフロートリンクのネームサーバのアドレスを解決できる必要があります。
  • NTPクライアント機能の使用を推奨します。トラブルシュート時にログの照合に役立ちます。
対向毎の設定
基本的にどの機種が対向となる場合も同様のパラメータ群で接続できます。
SEIL/X4は、基本的にSA-W2と同様の設定で接続できます。
フロートリンク共通の設定
floatlink.auto-pass-filter:SEIL/X4は、フロートリンクの対向側アドレスとの通信をパスするフィルタルールを自動的に追加することができます。これは無効化してSA-W2と同様に設定することもできます(デフォルトは無効)。
IPsecインタフェース(interface.ipsec[]...)
...floatlink.my-address:pppoe0インタフェースのアドレスを自アドレスとしてネームサーバに登録します。
...floatlink.address-family:自アドレスにIPv4アドレスを使用します。
...floatlink.my-node-id:ネームサーバに登録する自身のノードIDを指定します。
...floatlink.peers-node-id:対向側のノードIDを指定します。
静的経路 (route.ipv4...)
(1)VPN対向のローカルネットワークへの経路をIPsecインタフェースに向けます。
(2)VPN対向の終端アドレスをインターネットへ向けるため、フロートリンクによってアドレスを解決するように設定します。デフォルト経路などに含まれる場合には設定しなくても構いません。

SEIL/X1のサンプルコンフィグ

## 基本的なインターネット接続設定
ppp add PPP keepalive 30 ipcp enable ipcp-address on ipcp-dns on ipv6cp disable authentication-method auto identifier x1@example.jp passphrase x1password tcp-mss auto
interface lan0 add 192.168.1.1/24
interface pppoe0 over lan1
interface pppoe0 mtu 1454
interface pppoe0 ppp-configuration PPP
nat napt add private 192.168.1.1-192.168.1.255 interface pppoe0
route add default pppoe0
resolver enable
resolver address add ipcp
ntp enable
ntp server add 192.0.2.123

## フロートリンクの共通設定
floatlink name-service add https://floatlinkurl/example

## SA-W2を対向とする設定
interface ipsec0 description for_SA-W2
interface ipsec0 floatlink my-node-id txx0000001
interface ipsec0 floatlink peer-node-id txx0000002
interface ipsec0 floatlink floatlink-key floatlink_key
interface ipsec0 floatlink preshared-key preshared-key
interface ipsec0 floatlink address-family ipv4
interface ipsec0 floatlink ipv6 disable
interface ipsec0 floatlink my-address pppoe0
route add 192.168.2.0/24 ipsec0
floatlink route add txx0000002 gateway pppoe0 floatlink-key floatlink_key 

## SEIL/X4を対向とする設定
interface ipsec1 description for_SEIL/X4
interface ipsec1 floatlink my-address pppoe0
interface ipsec1 floatlink address-family ipv4
interface ipsec1 floatlink my-node-id txx0000001
interface ipsec1 floatlink peer-node-id txx0000004
interface ipsec1 floatlink floatlink-key floatlink_key
interface ipsec1 floatlink preshared-key preshared-key
interface ipsec1 floatlink ipv6 disable
route add 192.168.4.0/24 ipsec1
floatlink route add txx0000004 gateway pppoe0 floatlink-key floatlink_key 
インターネット接続設定
基本的なインターネット接続設定を行います。
ここではIPv4 PPPoE接続サービスを使用しています。DHCP型の接続サービスを利用する場合はインタフェースや経路のNexthopを適宜読み替えてください。
注:
  • リゾルバ設定は省略できません。サービスアダプタがフロートリンクのネームサーバのアドレスを解決できる必要があります。
  • NTPクライアント機能の使用を推奨します。トラブルシュート時にログの照合に役立ちます。
対向毎の設定
基本的にどの機種が対向となる場合も同様のパラメータ群で接続できます。
フロートリンク共通の設定
floatlink name-service add:SEIL/X1はネームサーバのURLを共通パラメータとして設定します。
IPsecインタフェース(interface ipsec[]...)
...floatlink my-address:pppoe0インタフェースのアドレスを自アドレスとしてネームサーバに登録します。
...floatlink address-family:自アドレスにIPv4アドレスを使用します。
...floatlink my-node-id:ネームサーバに登録する自身のノードIDを指定します。
...floatlink peers-node-id:対向側のノードIDを指定します。
...floatlink ipv6 disable:SEIL/X1はデフォルトでIPv4とIPv6の両方のセキュリティポリシーを折衝しますが、SA-WシリーズやSEIL/X4はIPv6のセキュリティポリシーを折衝できないため、IPv6を無効化します。
静的経路 (route.ipv4...)
(1)VPN対向のローカルネットワークへの経路をIPsecインタフェースに向けます。
(2)VPN対向の終端アドレスをインターネットへ向けるため、フロートリンクによってアドレスを解決するように設定します。デフォルト経路などに含まれる場合には設定しなくても構いません。
IPフィルタ
SEIL/X1は、フロートリンクの対向側アドレスとの通信をパスするフィルタルールが内部的に自動追加されます(無効化できません)。