このチュートリアルでは、古河電気工業の FITELnet F220 および F70 を、IPsec(Internet Protocol Security)トンネル経由で Cloudflare WAN(旧 Magic WAN)に接続する設定を説明します。対象ユースケースは、東西(拠点間)と南北(インターネット向け)の両方です。
次のファームウェアで、FITELnet F220 および F70 シリーズを検証しました。
- F220 シリーズ: Version 01.11(00)
- F70 シリーズ: Version 01.09(00)
- トンネルを追加する の手順に従い、必要な IPsec トンネルを作成します。
- 1 本目の IPsec トンネルでは、次の設定にしてください。
- Tunnel name:
FITEL-tunnel-1 - Interface address: 1 本目のトンネルには
10.0.0.1/31を入力します。 - Customer endpoint: ルーターが
ID_IPV4_ADDR型 の IKE ID を使う場合を除き、この設定は不要です。 - Cloudflare endpoint: アカウントに割り当てられた Cloudflare anycast IP アドレスのいずれかです。Leased IPs ↗ で確認できます。
- Pre-shared key: 1 本目のトンネル用の事前共有鍵を作成します。
- Tunnel name:
- 2 本目の IPsec トンネルでも 1 本目と同じ変更を行い、次の追加設定にしてください。
- Tunnel name:
FITEL-tunnel-2 - Interface address: 2 本目のトンネルには
10.0.0.3/31を入力します。 - Customer endpoint: ルーターが
ID_IPV4_ADDR型 の IKE ID を使う場合を除き、この設定は不要です。 - Cloudflare endpoint: アカウントに割り当てられた Cloudflare anycast IP アドレスのいずれかです。
- Pre-shared key: 2 本目のトンネル用の事前共有鍵を作成します。
- Tunnel name:
CLI(Command Line Interface)で次を設定します。
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
! if there is a NAT router between Cloudflare and FITELnet,
! add the two udp-encapsulation options below
set udp-encapsulation nat-t keepalive interval 30 always-send
set udp-encapsulation-force
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 20
lifetime 86400
hash sha sha-256
initiate-mode aggressive
exit
!
crypto isakmp profile PROF1
! set the value of FQDN ID for self-identify
self-identity fqdn <FQDN-ID-TUNNEL01>
set isakmp-policy ISAKMP_POLICY
set ipsec-policy IPsec_POLICY
set peer <CLOUDFLARE-ANYCAST-ADDRESS>
ike-version 2
local-key <PRE-SHARED-KEY-TUNNEL01>
exit
!
crypto map MAP1 ipsec-isakmp
match address SELECTOR
set isakmp-profile PROF1
exit
!CLI で次を設定します。
interface Tunnel 2
ip address 10.0.0.2 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
! if there is a NAT router between Cloudflare and FITELnet,
! add the two udp-encapsulation options below
set udp-encapsulation nat-t keepalive interval 30 always-send
set udp-encapsulation-force
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 20
lifetime 86400
hash sha sha-256
initiate-mode aggressive
exit
!
crypto isakmp profile PROF1
! set the value of FQDN ID for self-identify
self-identity fqdn <FQDN-ID-TUNNEL02>
set isakmp-policy ISAKMP_POLICY
set ipsec-policy IPsec_POLICY
set peer <CLOUDFLARE-ANYCAST-ADDRESS>
ike-version 2
local-key <PRE-SHARED-KEY-TUNNEL02>
exit
!
crypto map MAP1 ipsec-isakmp
match address SELECTOR
set isakmp-profile PROF1
exit
!東西(拠点間)接続のルートを設定する場合は、次の設定を参照してください。
- 静的ルートを設定する の手順に従い、静的ルートを作成します。
- 1 本目のルートでは、次の設定にしてください。
- Prefix:
192.168.0.0/24 - Tunnel/Next hop: FITEL-tunnel-1 / 10.0.0.0
- 2 本目のルートでは、次の設定にしてください。
- Prefix:
192.168.1.0/24 - Tunnel/Next hop: FITEL-tunnel-2 / 10.0.0.2
CLI で次を設定します。
ip route 192.168.0.0 255.255.255.0 tunnel 1CLI で次を設定します。
ip route 192.168.1.0 255.255.255.0 tunnel 2FITELnet ルーターの CLI で show crypto sa を実行すると、IPsec のセキュリティアソシエーション(SA)の状態を確認できます。Total number of ISAKMP/IPSEC SA は、確立済み SA の数を示します。
show crypto sa
IKE_SA
Mode: <I>
Local IP : <LOCAL_IP>/500
Local ID : <LOCAL_ID> (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 : 20
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 1FITELnet ルーターの 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>
#