Fortigate と YAMAHA RTXのVPN IPsec 接続(ローカル環境 テスト)

VPN IPsecFortigate,YAMAHA RTX

構成と環境

Fortigate 60DとYAMAHA RTX 810を同じサブネットのインタフェースでVPN接続をします。VPNトンネリングを経由するパケットはそれぞれの機器のLANに位置する、「192.168.1.0/24」と「192.168.100.0/24」間による通信とします。

・VPNゲートウェイとなる機器

機器OS Version
Fortigate 60Dv6.0.9
YAMAHA RTX810Rev.11.01.31

設定内容

Fortigate 60Dの設定内容

まずはFortigateのコンフィグです。
※VPNに関連するコンフィグのみ表示します。直接関係しない設定(物理IF設定など)は表示対象外です。

config vpn ipsec phase1-interface
    edit "VPN_RTX_ADM_P1"
        set interface "IF-Int1_v1920"
        set keylife 28800
        set peertype any
        set proposal aes128-sha256 aes128-sha512 aes192-sha256 aes192-sha384 aes192-sha512 aes256-sha256 aes256-sha384 aes256-sha512
        set dhgrp 2
        set remote-gw 192.168.0.186
        set psksecret [事前共有鍵のパスワード]
    next
end

config vpn ipsec phase2-interface
    edit "VPN_RTX_ADM_P2"
        set phase1name "VPN_RTX_ADM_P1"
        set proposal aes128-sha1
        set dhgrp 2
        set keylifeseconds 28800
        set src-subnet 192.168.1.0 255.255.255.0
        set dst-subnet 192.168.100.0 255.255.255.0
    next
end

config firewall policy
    edit 110
        set uuid 0d7d74d4-8d03-51ea-689e-b0df541778e1
        set srcintf "IF-Int1_v1921"
        set dstintf "VPN_RTX_ADM_P1"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
    next
    edit 111
        set uuid 0dadf55a-8d03-51ea-88f9-2a01cb013a77
        set srcintf "VPN_RTX_ADM_P1"
        set dstintf "IF-Int1_v1921"
        set srcaddr "all"
        set dstaddr "all"
        set action accept
        set schedule "always"
        set service "ALL"
    next
end

config router static
    edit 1
        set dst 192.168.100.0 255.255.255.0
        set device "VPN_RTX_ADM_P1"
    next
end

YAMAHA RTX810の設定内容

次にYAMAHA RTX810の設定です。

ip route 192.168.1.0/24 gateway tunnel 1
tunnel select 1
 ipsec tunnel 1
  ipsec sa policy 1 1 esp aes-cbc sha-hmac
  ipsec ike always-on 1 on
  ipsec ike encryption 1 aes256-cbc
  ipsec ike esp-encapsulation 1 on
  ipsec ike group 1 modp1024
  ipsec ike hash 1 sha256
  ipsec ike keepalive log 1 off
  ipsec ike keepalive use 1 on dpd
  ipsec ike local address 1 192.168.0.186
  ipsec ike local id 1 192.168.100.0/24
  ipsec ike local name 1 rtx810 key-id
  ipsec ike pfs 1 on
  ipsec ike pre-shared-key 1 text [事前共有鍵のパスワード]
  ipsec ike remote address 1 192.168.0.254
  ipsec ike remote id 1 192.168.1.0/24
  ipsec auto refresh 1 on
 ip tunnel mtu 1438
 ip tunnel tcp mss limit auto
 tunnel enable 1
ipsec auto refresh on
ipsec ike retry 10 5

[事前共有鍵のパスワード]はFortigateとYAMAHA RTX810で合わせてください。

ステータス確認

Fortigate 60Dのステータス確認

VPNが正常に接続できると中段のSA情報である「IKE SA」と「IPsec SA:」の『established 1/*』というのが表示されます。また、「proposal:」「key:」「lifetime/rekey:」「DPD sent/recv:」が表示されるようになります。

FGT60D # diagnose vpn ike gateway list

vd: root/0
name: VPN_RTX_ADM_P1
version: 1
interface: IF-Int1_v1920 18
addr: 192.168.0.254:500 -> 192.168.0.186:500
created: 690s ago
IKE SA: created 1/1  established 1/1  time 9010/9010/9010 ms
IPsec SA: created 1/1  established 1/1  time 10/10/10 ms

  id/spi: 1469 091bb992afea9ac1/f93a1aee758ecd9e
  direction: initiator
  status: established 690-681s ago = 9010ms
  proposal: aes128-sha256
  key: 3ac27cfae4a0ed08-345f7663a490a496
  lifetime/rekey: 28800/27818
  DPD sent/recv: 00000000/5a0fa4f6

FGT60D #

続いてIPsecの状態確認です。中段にある「SA:」行より下の項目が表示されるようになります。ここまで表示されていればIPsecのPhase2が張れています。

FGT60D # diagnose vpn tunnel list
list all ipsec tunnel in vd 0
------------------------------------------------------
name=VPN_RTX_ADM_P1 ver=1 serial=3 192.168.0.254:0->192.168.0.186:0
bound_if=18 lgwy=static/1 tun=intf/0 mode=auto/1 encap=none/8 options[0008]=npu
proxyid_num=1 child_num=0 refcnt=5 ilast=11 olast=331 ad=/0
stat: rxp=240 txp=1281 rxb=44160 txb=100
dpd: mode=on-demand on=1 idle=20000ms retry=3 count=0 seqno=4
natt: mode=none draft=0 interval=0 remote_port=0
proxyid=VPN_RTX_ADM_P2 proto=0 sa=1 ref=2 serial=2
  src: 0:192.168.1.0/255.255.255.0:0
  dst: 0:192.168.100.0/255.255.255.0:0
  SA:  ref=5 options=10226 type=00 soft=0 mtu=1438 expire=27844/0B replaywin=1024
       seqno=500 esn=0 replaywin_lastseq=000000fc itn=0
  life: type=01 bytes=0/0 timeout=28530/28800
  dec: spi=f28a894e esp=aes key=16 5dd34af776f728b3874859d7e3fc2290
       ah=sha1 key=20 5a908a52c6cfad61e8e0a9a4f569f4cb2fae71f1
  enc: spi=69480f4b esp=aes key=16 82fe39b89a31a8fe700251fdedd43c68
       ah=sha1 key=20 fdb9dfb601090c566650b2cdef1341cd84650fe8
  dec:pkts/bytes=240/24000, enc:pkts/bytes=1285/840
  npu_flag=03 npu_rgwy=192.168.0.186 npu_lgwy=192.168.0.254 npu_selid=1

FGT60D #

VPN IPsecが張れた場合、VPN TunnelのインタフェースがUPしているはずなので、一番下のルート情報(出力インタフェースが「VPN_RTX_ADM_P1」のルーティング)が表示されるようになります。

FGT60D # get router info routing-table all
<省略>
C       192.168.0.0/24 is directly connected, IF-Int1_v1920
C       192.168.1.0/24 is directly connected, IF-Int1_v1921
S       192.168.100.0/24 [10/0] is directly connected, VPN_RTX_ADM_P1


FGT60D #

YAMAHA RTX810のステータス確認

YAMAHA RTX810のVPN接続性については、下記コマンドにより「トンネルインタフェースは接続されています」という結果で確認できます。

# show status tunnel 1
TUNNEL[1]:
説明:
  インタフェースの種類: IPsec
  トンネルインタフェースは接続されています
  開始: 2020/05/03 15:48:23
  通信時間: 31分16秒
  受信: (IPv4) 728 パケット [72800 オクテット]
        (IPv6) 0 パケット [0 オクテット]
  送信: (IPv4) 706 パケット [71840 オクテット]
        (IPv6) 0 パケット [0 オクテット]
#

また、RTX810側のSA上は下記で確認可能です。(接続できていない場合は何も表示されません)

# show ipsec sa
Total: isakmp:1 send:1 recv:1

sa   sgw isakmp connection   dir  life[s] remote-id
-----------------------------------------------------------------------------
1     1    -    isakmp       -    26875   192.168.0.254
2     1    1    tun[001]esp  send 26886   192.168.0.254
3     1    1    tun[001]esp  recv 26886   192.168.0.254

#

# show ipsec sa gateway 1 detail
SA[1] 寿命: 26858秒
自分側の識別子: 192.168.0.186 (rtx810)
相手側の識別子: 192.168.0.254
プロトコル: IKE
アルゴリズム: AES-CBC, SHA2-256, MODP 1024bit
SPI: 09 1b b9 92 af ea 9a c1 f9 3a 1a ee 75 8e cd 9e
鍵 : 3a c2 7c fa e4 a0 ed 08
----------------------------------------------------
SA[2] 寿命: 26869秒
自分側の識別子: 192.168.0.186 (rtx810)
相手側の識別子: 192.168.0.254
送受信方向: 送信
プロトコル: ESP (モード: tunnel)
アルゴリズム: AES-CBC (認証: HMAC-SHA)
SPI: f2 8a 89 4e
鍵 : 5d d3 4a f7 76 f7 28 b3 87 48 59 d7 e3 fc 22 90
----------------------------------------------------
SA[3] 寿命: 26869秒
自分側の識別子: 192.168.0.186 (rtx810)
相手側の識別子: 192.168.0.254
送受信方向: 受信
プロトコル: ESP (モード: tunnel)
アルゴリズム: AES-CBC (認証: HMAC-SHA)
SPI: 69 48 0f 4b
鍵 : 82 fe 39 b8 9a 31 a8 fe 70 02 51 fd ed d4 3c 68
----------------------------------------------------

#

YAMAHA RTX810もForitgateと同様ルーティングを確認します。
真ん中のインタフェースが「TUNNEL[1]」となっているルーティングがあることを確認します。
※なお、当方の環境ではVPN接続がされていない状態でもTUNNEL[1]のルーティングが見えていました。

# show ip route
宛先ネットワーク    ゲートウェイ     インタフェース  種別  付加情報
default             -                    PP[01]    static
192.168.0.0/24      192.168.0.186          LAN2  implicit
192.168.1.0/24      -                 TUNNEL[1]    static
192.168.100.0/24    192.168.100.1          LAN1  implicit
#

なお、スクリーンショットは取得していませんが、「192.168.1.0/24」に属すホストから、「192.168.100.0/24」へ属すホストにpingを実施し正常に通ることを確認しました。

次回やること

今回はローカル環境でFortigateとRTXのVPN IPsecの設定方法、及びステータス確認を実施しました。次回はインターネットを介した構成(拠点間VPN)で実施します。