公式ページによると、Cloudflare Magic WAN とは
従来のWANアーキテクチャをCloudflareネットワークに置き換え、グローバルな接続、クラウドベースのセキュリティ、パフォーマンス、制御を1つのシンプルなユーザーインターフェイスで実現します。
ということで、主な特徴としては
- 地球上に点在する自分の組織の端末たちを、縦横無尽に通信させる
- East/West プライベートネットワーク間の接続と制御
- Cloudflare バックボーン上につくられる組織のプライベート空間
- Cloudflare バックボーン上の高速転送
- 拠点間通信の許可・拒否の制御やゴミパケットを捨てるIDSなどのファイアウォール機能
- South/North インターネットへの乗り入れ口
- 下記のようなオプションと組み合わせ、組織の端末たちをインターネットを介してパブリックやプライベートなリソースにつなげる
- 組織専用のインターネット向けセキュリティポリシー(DNSやHTTP、L3トラフィックの制御)
- 組織の秘匿なリソースへの認証認可
- East/West プライベートネットワーク間の接続と制御
- Simple/Global 地球上どこの拠点でも同じ構成
- 拠点から Cloudflare までは地球上 95% のインターネット接続人口が 50ms 以下で接続する近さ
- ザックリ測るのであれば拠点から ping 1.1.1.1 の RTT を半分に割ってみる
- ちなみに執筆中の東京での手元ISPだと 2ms!
- トンネル対向のIPアドレスは地球上で同じ(エニーキャストIPSec)
- 共通化でルーターの設定管理がより楽、ミス軽減
- お客様側のルータやファイアウォールをベンダーを問わず接続
- 拠点から Cloudflare までは地球上 95% のインターネット接続人口が 50ms 以下で接続する近さ
- 上記のサービスが Cloudflare 各都市、各データセンターの各サーバーで共通に動作するという統合されたアーキテクチャ
- そのアーキテクチャが生む管理のしやすさ、設定反映の速さ
- 多くのセルフサーブ利用実績で鍛え上げられるダッシュボードと API
などがあるかと思います。
本記事では、そんな Magic WAN と古河電気工業株式会社製 FITELnetとの接続情報を記載します。
古河ネットワークソリューション株式会社から寄稿いただきました。誠にありがとうございます。
別途、Magic WAN の説明および Vyos の接続例については、こちらの記事もありますので、ぜひご参照ください。
なお、本記事の範囲外ではありますが、FITELnet とはゼロタッチプロビジョニング(FITELnet に電源投入で自動的に Magic WAN に接続してくれる)の相互接続検証を Interop Tokyo 2022 で実施してたりもします。このあたりもご興味があればお問い合わせください。
それではチュートリアルをどうぞ。
(下記の内容は、予告なく変更されることがあります)
古河電気工業 FITELnet
このチュートリアルは、古河電気工業製の FITELnet F220シリーズ、F70シリーズと、Cloudflare Magic WAN との間で IPsecトンネルを確立し、Magic WAN をバックボーンネットワークとしたLAN間接続を構成する設定例です。
IPsecの設定
まず、IPsecトンネルを構成します。
Magic WAN設定
Cloudflare Magic WANのコンソールで、IPsecのトンネルを生成します。
サイドメニュー【Magic WAN】を選択し、メイン画面の、Magic WAN構成の管理の【設定】をクリックして、トンネルの作成画面に遷移します。
【+作成】をクリックして、IPsecトンネルの生成を行います。
設定項目 | 内容 | 設定例1 | 設定例2 |
---|---|---|---|
トンネル名 | トンネルの名称を設定する | FITEL-tunnel-1 | FITEL-tunnel-2 |
説明 | 生成したトンネルの説明 | IPsec tunnel with FITELnet No.1 | IPsec tunnel with FITELnet No.2 |
インタフェースアドレス | トンネルインタフェースのIPアドレス。Magic WAN側につけるIPアドレス。 FITEL側は同じサブネットの別のアドレスを設定する |
10.0.0.1/31 | 10.0.0.3/31 |
カスタマーエンドポイント | FITEL側のグローバルインタフェースにつけるIPアドレス | xxx.xxx.xxx.xxx | yyy.yyy.yyy.yyy |
Cloudflare エンドポイント | Cloudflareから提示されたエニーキャストアドレス | anycast-address | anycast-address |
事前共有キー | 事前共有キーを設定する。 Cloudflareサービスで生成される事前共有キーを使う場合は、「事前共有キーを後で追加する」を選択 独自の事前共有キーを使用する場合は「独自の事前共有キーを使用する」を選択する。 |
独自の事前共有キーを使用する secret-pre-shared-key-1 |
独自の事前共有キーを使用する secret-pre-shared-key-2 |
同様に、もう一方のIPsecトンネルも生成します。
FITELnetルータ設定
以下のように、FITELnetルータの設定をします。
interface Tunnel 1
ip address 10.0.0.0 255.255.255.254
tunnel mode ipsec map MAP1
link-state sync-sa
exit
!
crypto ipsec policy IPsec_POLICY
set security-association always-up
set security-association lifetime seconds 28800
set security-association transform-keysize aes 256 256 256
set security-association transform esp-aes esp-sha256-hmac
set mtu 1460
set mss 1350
set ip df-bit 0
set ip fragment post
set udp-encapsulation nat-t keepalive interval 30 always-send
exit
!
crypto ipsec selector SELECTOR
src 1 ipv4 any
dst 1 ipv4 any
exit
!
crypto isakmp keepalive
crypto isakmp log sa
crypto isakmp log session
crypto isakmp log negotiation-fail
crypto isakmp negotiation always-up-params interval 100 max-initiate 10 max-pending 10 delay 1
crypto ipsec replay-check disable
!
crypto isakmp policy ISAKMP_POLICY
authentication pre-share
encryption aes
encryption-keysize aes 256 256 256
group 14
lifetime 14400
hash sha sha-256
initiate-mode main
exit
!
crypto isakmp policy P1-POLICY
authentication pre-share
encryption aes
encryption-keysize aes 256 256 256
group 14
lifetime 14400
hash sha sha-256
initiate-mode main
exit
!
crypto isakmp profile PROF1
local-address x.x.x.x
self-identity address x.x.x.x
set isakmp-policy ISAKMP_POLICY
set ipsec-policy IPsec_POLICY
set peer anycast-address
ike-version 2
local-key secret-pre-shared-key-1
exit
!
crypto map MAP1 ipsec-isakmp
match address SELECTOR
set isakmp-profile PROF1
exit
!
同様に、もう一方のFITELnetルータも設定します。
経路(スタティックルート)の設定
LAN間接続するための経路設定をします。
MagicWAN設定
Cloudflare Magic WANのコンソールで、スタティックルートを生成します。
サイドメニュー【Magic WAN】を選択し、メイン画面の、Magic WAN構成の管理の【設定】をクリックして、トンネルの作成画面に遷移します。画面上部の「スタティックルート」タブをクリックします。
【+作成】をクリックして、IPsecトンネルの生成を行います。
設定項目 | 内容 | 設定例1 | 設定例2 |
---|---|---|---|
説明 | 生成したスタティックルーティング経路の説明 | FITEL-route-1 | FITEL-route-2 |
プレフィックス | トンネルの先のプレフィックス情報 | 192.168.0.0/24 | 192.168.1.0/24 |
トンネル/ネクストホップ | 指定したプレフィックスへのトンネルを選択 | FITEL-tunnel-1 - 10.0.0.0 | FITEL-tunnel-2 - 10.0.0.2 |
優先順位 | 同一宛先への経路の優先順位 | 100 | 100 |
ウェイト | ECMP(優先順位を同じに設定)した際の、ウェイト | なし | なし |
リージョンコード | 適用するリージョン | すべてのリージョン | すべてのリージョン |
同様に、もう一方のスタティックルートも生成します。
FITELnetルータ設定
以下のように、FITELnetルータの設定をします。
ip route 192.168.1.0 255.255.255.0 tunnel 1
同様に、もう一方のFITELnetルータも設定します。
接続確認
IPsec確立確認
FITELnetルータのCLIで、show crypto sa を実行し、IPsecの確立状態を確認することができます。
Total number of ISAKMP/IPSEC SA に、確立しているSAの数が表示されます。
#show crypto sa
IKE_SA
Mode: <I>
Local IP : xxx.xxx.xxx.xxx/500
Local ID : xxx.xxx.xxx.xxx (ipv4)
Remote IP : anycast-address/500
Remote ID : anycast-address (ipv4)
Local Authentication method : Pre-shared key
Remote Authentication method : Pre-shared key
Encryption algorithm : aes256-cbc
Hash algorithm : hmac-sha256-128
Diffie-Hellman group : 14 (2048 bits)
Initiator Cookie : aaaaaaaa bbbbbbbb
Responder Cookie : cccccccc dddddddd
Life time : 6852/14400 sec
DPD : on
CHILD_SA <I>
Selector :
0.0.0.0/0 ALL ALL <---> 0.0.0.0/0 ALL ALL
Interface : tunnel 1
Peer IP : anycast-address/500
Local IP : xxx.xxx.xxx.xxx/500
Encryption algorithm : AES-CBC/256
Authentication algorithm : HMAC-SHA2-256
Life time : 22868/28800 sec
PFS : off ESN : off
IN
SPI : eeeeeeee
Packets : 0
Octets : 0
Replay error : 0
Auth error : 0
Padding error : 0
Rule error : 0
OUT
SPI : ffffffff
Packets : 0
Octets : 0
Seq lapped : 0
Total number of ISAKMP SA 1
Total number of IPSEC SA 1
経路登録確認
FITELnetルータのCLIで、show ip route を実行し、経路情報を確認することができます。
経路情報に '*'が表示されている場合は、経路情報が有効であることを表します。
#show ip route
Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF,
B - BGP, T - Tunnel, i - IS-IS, V - VRRP track,
Iu - ISAKMP SA up, It - ISAKMP tunnel route, Ip - ISAKMP l2tpv2-ppp
Dc - DHCP-client, L - Local Breakout
> - selected route, * - FIB route, p - stale info
<snip>
S > * 192.168.1.0/24 [100/0] is directly connected, Tunnel1
<snip>
#
確認ファームウェア版数
F220シリーズ:Version 01.11(00)
F70シリーズ:Version 01.09(00)