はじめに
- FortiGate にて IPsec VPN を設定する例を記載します
- IPsec トンネルには静的に(手動で)IP アドレスを設定します
- 対向機器には Cisco ルータを使用します
- Cisco ルータの設定方法についての詳細はここでは省略します
作業環境
■ FortiGate
- 型番:FortiGate 60E
- バージョン:6.4.5
■ ルータ
- Cisco C891FJ-K9
- バージョン:15.3(3)M5
検証構成

IPsec 設定の事前準備
IPsec VPN 設計
IPsec VPN を設定する場合は各種設定値を決めておく必要があります。
ここでは以下のような設定値とすることにします。
項目 | IKE フェーズ1 | IKE フェーズ2 |
物理インターフェース(FortiGate) | wan2 | – |
セキュリティプロトコル | – | esp |
暗号化アルゴリズム | 3des | 3des |
ハッシュアルゴリズム | sha1 | – |
認証方式/認証アルゴリズム | pre-share | esp-sha-hmac |
DH/PFS グループ | 1 | 無効 |
ISAKMP/IPsec SA ライフタイム | 86400秒 | 3600秒 |
Pre-shared Key | password | – |
IPsec 通信モード | – | tunnel |
IKE キープアライブ(DPD) | 無効 | – |
IPsec の対象トラフィック | – | ANY ⇔ ANY |
IKE モード | Main | Quick |
ISAKMP/IPsec のピアアドレス | 200.1.1.1 (200.1.1.2) | 200.1.1.1 (200.1.1.2) |
NAT トラバーサル | 無効 | – |
IPsec トンネルセグメント (IP アドレス) | – | 10.254.1.0/30 (.1 および .2) |
C891FJ-K9 の設定
C891FJ-K9 では上の設計に合わせて以下の設定をしておきます。
※ IPsec VPN 用設定の抜粋
!# IKE ポリシーの設定
crypto isakmp policy 1
authentication pre-share
encryption 3des
group 1
hash sha
lifetime 86400
!# 共通鍵の指定 (password) と対向ルータのIPアドレス (200.1.1.1) の設定
crypto isakmp key password address 200.1.1.1
!# IPsec トランスフォーム (TF-SET) の設定
crypto ipsec transform-set TF-SET esp-3des esp-sha-hmac
mode tunnel
!# IPsec プロファイルの作成
crypto ipsec profile IPS-PRF
set security-association lifetime seconds 3600
set transform-set TF-SET
!# IPsec トンネルの作成
interface Tunnel0
ip address 10.254.1.2 255.255.255.252
tunnel source Vlan202
tunnel mode ipsec ipv4
tunnel destination 200.1.1.1
tunnel protection ipsec profile IPS-PRF
!# インターフェース設定
interface GigabitEthernet6
switchport access vlan 111
no ip address
interface GigabitEthernet7
switchport access vlan 202
no ip address
interface Vlan111
ip address 10.111.1.1 255.255.255.0
interface Vlan202
ip address 200.1.1.2 255.255.255.252
!# ルーティング設定
ip route 192.168.1.0 255.255.255.0 Tunnel0
IPsec VPN 設定手順
以下の手順で設定していきます。
- IKE フェーズ1 の設定
- この設定をした時点でトンネルインターフェースが自動で作成されます
- IKE フェーズ2 の設定
- トンネルインターフェースの設定
- ポリシーの設定
- スタティックルートの設定
また、設定は GUI と CLI のどちらでも可能ですが、ここでは CLI で行うこととします。
GUI で設定を行う場合は以下の記事を参考にしてください。
IKE フェーズ1 の設定
IKE フェーズ1 の設定に対応する設定項目は config vpn ipsec phase1-interface
です。
IPsec の各設定項目と CLI での設定内容の対応は以下の通りです。
項目 | 設定したい値 | CLI 設定内容 |
設定オブジェクト名 | Tunnel0 | edit "Tunnel0" |
物理インターフェース | wan2 | set interface "wan2" |
暗号化アルゴリズム | 3des | set proposal 3des-sha1 ※ハッシュアルゴリズムとセットで設定 |
ハッシュアルゴリズム | sha1 | set proposal 3des-sha1 ※暗号化アルゴリズムとセットで設定 |
認証方式 | pre-share | set authmethod psk |
DH グループ | 1 | set dhgrp 1 |
ISAKMP ライフタイム | 86400秒 | set keylife 86400 |
Pre-shared Key | password | set psksecret password |
IKE キープアライブ(DPD) | 無効 | set dpd disable |
IKE モード | Main | set mode main |
ISAKMP のピアアドレス | 200.1.1.2 | set remote-gw 200.1.1.2 |
NAT トラバーサル | 無効 | set nattraversal disable |
上の表の内容をまとめると CLI での設定コマンドは以下の様になります。
config vpn ipsec phase1-interface
edit "Tunnel0"
set interface "wan2"
set proposal 3des-sha1
set authmethod psk
set dhgrp 1
set keylife 86400
set psksecret password
set dpd disable
set mode main
set remote-gw 200.1.1.2
set nattraversal disable
next
end
設定後のコンフィグ内容
FG60E # show vpn ipsec phase1-interface
config vpn ipsec phase1-interface
edit "Tunnel0"
set interface "wan2"
set peertype any
set net-device disable
set proposal 3des-sha1
set dpd disable
set dhgrp 1
set nattraversal disable
set remote-gw 200.1.1.2
set psksecret ENC Mi08eMRVADp/cpG3qHx8nGjP33HrUAkVlJBU5lbJZ9FXeIs2f+j8o0eIkcUJESrn8mZDGdggHqnu2gYT+BnNRX0YOYN4wwinG1LhmCZvfOEwfSFsHDEYFthO7ETj6W/TB6B4zMQMwPjO0Gk4Qy1OSzNE2vUwm/dOVw/iIh8DjIOkUaAy/TdCaHbT+7Eh9BgXQxUR/w==
next
end
FG60E #
FG60E # show full-configuration vpn ipsec phase1-interface
config vpn ipsec phase1-interface
edit "Tunnel0"
set type static
set interface "wan2"
set ip-version 4
set ike-version 1
set local-gw 0.0.0.0
set keylife 86400
set authmethod psk
set mode main
set peertype any
set net-device disable
set passive-mode disable
set exchange-interface-ip disable
set aggregate-member disable
set mode-cfg disable
set proposal 3des-sha1
set localid ''
set localid-type auto
set auto-negotiate enable
set negotiate-timeout 30
set fragmentation enable
set ip-fragmentation post-encapsulation
set dpd disable
set forticlient-enforcement disable
set comments ''
set npu-offload enable
set dhgrp 1
set suite-b disable
set wizard-type custom
set xauthtype disable
set mesh-selector-type disable
set idle-timeout disable
set ha-sync-esp-seqno enable
set auto-discovery-sender disable
set auto-discovery-receiver disable
set auto-discovery-forwarder disable
set encapsulation none
set nattraversal disable
set rekey enable
set remote-gw 200.1.1.2
set monitor ''
set tunnel-search selectors
set add-gw-route disable
set psksecret ENC Mi08eMRVADp/cpG3qHx8nGjP33HrUAkVlJBU5lbJZ9FXeIs2f+j8o0eIkcUJESrn8mZDGdggHqnu2gYT+BnNRX0YOYN4wwinG1LhmCZvfOEwfSFsHDEYFthO7ETj6W/TB6B4zMQMwPjO0Gk4Qy1OSzNE2vUwm/dOVw/iIh8DjIOkUaAy/TdCaHbT+7Eh9BgXQxUR/w==
next
end
トンネルインターフェースについて
上の IKE フェーズ1 の設定を行うと以下コンフィグが自動で設定されトンネルインターフェースが作成されます。
config system interface
edit "Tunnel0"
set vdom "root"
set type tunnel
set snmp-index 8
set interface "wan2"
next
end
IKE フェーズ2 の設定
IKE フェーズ2 の設定に対応する設定項目は config vpn ipsec phase2-interface
です。
IPsec の各設定項目と CLI での設定内容の対応は以下の通りです。
項目 | 設定したい値 | CLI 設定内容 |
設定オブジェクト名 | Tunnel0 | edit "Tunnel0" |
対応付ける IKE フェーズ1 設定の オブジェクト名 | Tunnel0 | set phase1name "Tunnel0" |
セキュリティプロトコル | esp | なし(設定不要) |
暗号化アルゴリズム | 3des | set proposal 3des-sha1 ※認証アルゴリズムとセットで設定 |
認証アルゴリズム | esp-sha-hmac | set proposal 3des-sha1 ※暗号化アルゴリズムとセットで設定 |
PFS グループ | 無効 | set pfs disable |
IPsec SA ライフタイム | 3600秒 | set keylifeseconds 3600 |
IPsec 通信モード | tunnel | set encapsulation tunnel-mode |
IPsec の対象トラフィック | ANY ⇔ ANY | set src-subnet 0.0.0.0 0.0.0.0 |
IKE モード | Quick | なし(設定不要) |
IPsec のピアアドレス | 200.1.1.2 | なし(設定不要) |
上の表の内容をまとめると CLI での設定コマンドは以下の様になります。
config vpn ipsec phase2-interface
edit "Tunnel0"
set phase1name "Tunnel0"
set proposal 3des-sha1
set pfs disable
set keylifeseconds 3600
set encapsulation tunnel-mode
set src-subnet 0.0.0.0 0.0.0.0
set dst-subnet 0.0.0.0 0.0.0.0
next
end
設定後のコンフィグ内容
FG60E # show vpn ipsec phase2-interface
config vpn ipsec phase2-interface
edit "Tunnel0"
set phase1name "Tunnel0"
set proposal 3des-sha1
set pfs disable
set keylifeseconds 3600
next
end
FG60E #
FG60E # show full-configuration vpn ipsec phase2-interface
config vpn ipsec phase2-interface
edit "Tunnel0"
set phase1name "Tunnel0"
set proposal 3des-sha1
set pfs disable
set ipv4-df disable
set replay enable
set keepalive disable
set auto-negotiate disable
set auto-discovery-sender phase1
set auto-discovery-forwarder phase1
set keylife-type seconds
set encapsulation tunnel-mode
set comments ''
set diffserv disable
set protocol 0
set src-addr-type subnet
set src-port 0
set dst-addr-type subnet
set dst-port 0
set keylifeseconds 3600
set src-subnet 0.0.0.0 0.0.0.0
set dst-subnet 0.0.0.0 0.0.0.0
next
end
トンネルインターフェースの設定
トンネルインターフェースに対して以下を設定します。
- IP アドレス: 10.254.1.1 255.255.255.255
- サブネットマスクは
255.255.255.255
にする必要があります
- サブネットマスクは
- リモートアドレス: 10.254.1.2 255.255.255.252
設定コマンドは以下の通りです。
config system interface
edit "Tunnel0"
set ip 10.254.1.1 255.255.255.255
set remote-ip 10.254.1.2 255.255.255.252
next
end
設定後のコンフィグ内容
FG60E (Tunnel0) # show
config system interface
edit "Tunnel0"
set vdom "root"
set ip 10.254.1.1 255.255.255.255
set type tunnel
set remote-ip 10.254.1.2 255.255.255.252
set snmp-index 8
set interface "wan2"
next
end
ポリシーの設定
IPsec トンネルを通る通信を許可するポリシーを設定します。
例では Internal インターフェースと Tunnel0(IPsec トンネル)間の通信をすべて許可します。
設定コマンドは以下の通りです。(edit 番号は任意の未使用番号にします。)
config firewall policy
edit 2
set name "VPN-in"
set srcintf "Tunnel0"
set dstintf "internal"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
next
edit 3
set name "VPN-out"
set srcintf "internal"
set dstintf "Tunnel0"
set srcaddr "all"
set dstaddr "all"
set action accept
set schedule "always"
set service "ALL"
next
end
スタティックルートの設定
リモートサイト宛の場合は IPsec トンネルを通るようスタティックルートを設定します。
設定コマンドは以下の通りです。(edit 番号は任意の未使用番号にします。)
config router static
edit 2
set dst 10.111.1.0 255.255.255.0
set device "Tunnel0"
next
end
ここまで設定すると端末間の疎通が可能となります。

GUI での設定確認
IPsec 設定
[VPN] > [IPsecトンネル] 画面で IPsec の設定を確認できます。

設定の編集画面で詳細な設定内容を確認できます。

トンネルインターフェース
[ネットワーク] > [インターフェース] 画面でトンネルインターフェースの設定を確認できます。

IPsec VPN 関連のコマンド
確認コマンド
get 系
get vpn ike gateway
FG60E # get vpn ike gateway
vd: root/0
name: Tunnel0
version: 1
interface: wan2 6
addr: 200.1.1.1:500 -> 200.1.1.2:500
created: 1728s ago
IKE SA created: 2/2 established: 2/2 time: 0/0/0 ms
IPsec SA created: 2/2 established: 2/2 time: 10/15/20 ms
id/spi: 149 2463ae5ab666b1b1/918bd0dd7b95a54f
direction: responder
status: established 1723-1723s ago = 0ms
proposal: 3des-sha1
key: ffc8ccea5adb918f-2fed34d8cadd579a-48da95bfd68240d2
lifetime/rekey: 86400/84406
DPD sent/recv: 00000000/00000000
id/spi: 148 a03ce2d378126afe/03f84d9b3711e685
direction: initiator
status: established 1728-1728s ago = 0ms
proposal: 3des-sha1
key: d85d40d303288f8d-14215f4e714f67a5-2aeb8d4698c47d5e
lifetime/rekey: 86400/84371
DPD sent/recv: 00000000/00000000
get vpn ipsec tunnel summary
FG60E # get vpn ipsec tunnel summary
'Tunnel0' 200.1.1.2:0 selectors(total,up): 1/1 rx(pkt,err): 1/0 tx(pkt,err): 14/1
get vpn ipsec tunnel details
FG60E # get vpn ipsec tunnel details
gateway
name: 'Tunnel0'
type: route-based
local-gateway: 200.1.1.1:0 (static)
remote-gateway: 200.1.1.2:0 (static)
mode: ike-v1
interface: 'wan2' (6)
rx packets: 1 bytes: 152 errors: 0
tx packets: 14 bytes: 1320 errors: 1
dpd: disabled
selectors
name: 'Tunnel0'
auto-negotiate: disable
mode: tunnel
src: 0:0.0.0.0/0.0.0.0:0
dst: 0:0.0.0.0/0.0.0.0:0
SA
lifetime/rekey: 3600/1445
mtu: 1446
tx-esp-seq: f
replay: enabled
qat: 0
inbound
spi: 5a3d3a86
enc: 3des f4538a922220d57793dbbe516e95abc132599588937e4463
auth: sha1 07cd0bac60513da67728200f035816cbb92b18aa
outbound
spi: 2d6013d7
enc: 3des 3e3b870329879ea8d824e23268401a9028693190641644ca
auth: sha1 91abeba8408d14728c541f45decb3fe9f5ed2ddd
NPU acceleration: encryption(outbound) decryption(inbound)
SA
lifetime/rekey: 3600/1445
mtu: 1446
tx-esp-seq: 1
replay: enabled
qat: 0
inbound
spi: 5a3d3a85
enc: 3des 002b54db91098d334dcaf4ebabf0a66acd9458fe82a65905
auth: sha1 cd57764bcc939cc406eb145e11addbf83e212953
outbound
spi: 73545689
enc: 3des 8b3391028225a7c06b6c0437fe19da926fce04b71a15d3ec
auth: sha1 c76b5384085b7f663d65525226f18672d3ec5e54
NPU acceleration: none
diagnose 系
diagnose vpn ike status summary
FG60E # diagnose vpn ike status summary
connection: 1/1
IKE SA: created 2/2 established 2/2 times 0/0/0 ms
IPsec SA: created 2/2 established 2/2 times 10/15/20 ms
diagnose vpn ike gateway
FortiGate-01 # diagnose vpn ike gateway list
vd: root/0
name: Tunnel0
version: 1
interface: wan1 5
addr: 10.10.0.2:500 -> 10.10.0.1:500
tun_id: 10.10.0.1/::10.10.0.1
remote_location: 0.0.0.0
virtual-interface-addr: 10.254.1.2 -> 0.0.0.0
created: 344s ago
IKE SA: created 1/1 established 1/1 time 0/0/0 ms
IPsec SA: created 1/1 established 1/1 time 10/10/10 ms
id/spi: 9 bb4f1a9f882b06f3/cb859369f7fe91d1
direction: responder
status: established 344-344s ago = 0ms
proposal: aes256-sha512
key: e5f0a8d90d857a93-c51f577bb2565f7e-a4c70feec8af5c5f-5d1bbd201f0aad52
lifetime/rekey: 86400/85785
DPD sent/recv: 00000000/00000000
diagnose vpn ike status detailed
FG60E # diagnose vpn ike status detailed
vd: root/0
name: Tunnel0
version: 1
connection: 1/1
IKE SA: created 2/2 established 2/2 times 0/0/0 ms
IPsec SA: created 2/2 established 2/2 times 10/15/20 ms
diagnose vpn ipsec status
FG60E # diagnose vpn ipsec status
All ipsec crypto devices in use:
NP6LITE_0:
Encryption (encrypted/decrypted)
null : 0 0
des : 0 0
3des : 0 0
aes : 0 0
aes-gcm : 0 0
aria : 0 0
seed : 0 0
chacha20poly1305 : 0 0
Integrity (generated/validated)
null : 0 0
md5 : 0 0
sha1 : 0 0
sha256 : 0 0
sha384 : 0 0
sha512 : 0 0
NPU Host Offloading:
Encryption (encrypted/decrypted)
null : 0 0
des : 0 0
3des : 17 0
aes : 0 0
aes-gcm : 0 0
aria : 0 0
seed : 0 0
chacha20poly1305 : 0 0
Integrity (generated/validated)
null : 0 0
md5 : 0 0
sha1 : 17 0
sha256 : 0 0
sha384 : 0 0
sha512 : 0 0
SOC3:
Encryption (encrypted/decrypted)
null : 0 0
des : 0 0
3des : 4 3
aes : 0 0
aes-gcm : 0 0
aria : 0 0
seed : 0 0
chacha20poly1305 : 0 0
Integrity (generated/validated)
null : 0 0
md5 : 0 0
sha1 : 4 3
sha256 : 0 0
sha384 : 0 0
sha512 : 0 0
SOFTWARE:
Encryption (encrypted/decrypted)
null : 0 0
des : 0 0
3des : 0 0
aes : 0 0
aes-gcm : 0 0
aria : 0 0
seed : 0 0
chacha20poly1305 : 0 0
Integrity (generated/validated)
null : 0 0
md5 : 0 0
sha1 : 0 0
sha256 : 0 0
sha384 : 0 0
sha512 : 0 0
diagnose vpn tunnel list
FG60E # diagnose vpn tunnel list
list all ipsec tunnel in vd 0
------------------------------------------------------
name=Tunnel0 ver=1 serial=3 200.1.1.1:0->200.1.1.2:0 dst_mtu=1500
bound_if=6 lgwy=static/1 tun=intf/0 mode=auto/1 encap=none/520 options[0208]=npu frag-rfc run_state=0 accept_traffic=1 overlay_id=0
proxyid_num=1 child_num=0 refcnt=12 ilast=2289 olast=1932 ad=/0
stat: rxp=1 txp=14 rxb=152 txb=1320
dpd: mode=off on=0 idle=20000ms retry=3 count=0 seqno=0
natt: mode=none draft=0 interval=0 remote_port=0
proxyid=Tunnel0 proto=0 sa=2 ref=3 serial=1
src: 0:0.0.0.0/0.0.0.0:0
dst: 0:0.0.0.0/0.0.0.0:0
SA: ref=6 options=10026 type=00 soft=0 mtu=1446 expire=1039/0B replaywin=1024
seqno=f esn=0 replaywin_lastseq=00000001 itn=0 qat=0 hash_search_len=1
life: type=01 bytes=0/0 timeout=3329/3600
dec: spi=5a3d3a86 esp=3des key=24 f4538a922220d57793dbbe516e95abc132599588937e4463
ah=sha1 key=20 07cd0bac60513da67728200f035816cbb92b18aa
enc: spi=2d6013d7 esp=3des key=24 3e3b870329879ea8d824e23268401a9028693190641644ca
ah=sha1 key=20 91abeba8408d14728c541f45decb3fe9f5ed2ddd
dec:pkts/bytes=1/100, enc:pkts/bytes=14/2048
npu_flag=03 npu_rgwy=200.1.1.2 npu_lgwy=200.1.1.1 npu_selid=2 dec_npuid=1 enc_npuid=1
SA: ref=3 options=10026 type=00 soft=0 mtu=1446 expire=1039/0B replaywin=1024
seqno=1 esn=0 replaywin_lastseq=00000000 itn=0 qat=0 hash_search_len=1
life: type=01 bytes=0/0 timeout=3329/3600
dec: spi=5a3d3a85 esp=3des key=24 002b54db91098d334dcaf4ebabf0a66acd9458fe82a65905
ah=sha1 key=20 cd57764bcc939cc406eb145e11addbf83e212953
enc: spi=73545689 esp=3des key=24 8b3391028225a7c06b6c0437fe19da926fce04b71a15d3ec
ah=sha1 key=20 c76b5384085b7f663d65525226f18672d3ec5e54
dec:pkts/bytes=0/0, enc:pkts/bytes=0/0
npu_flag=00 npu_rgwy=200.1.1.2 npu_lgwy=200.1.1.1 npu_selid=2 dec_npuid=0 enc_npuid=0
run_tally=1
操作コマンド
diagnose vpn ike restart
- IKE の再起動
diagnose vpn ike gateway clear
- IKE ゲートウェイのクリア