【FortiGate】PPPoE と IPsec を併用する場合の設定例

ネットワーク

はじめに

  • FortiGate で PPPoE と IPsec を同時に使用する場合の設定例について記載します
  • IPsec の終端アドレスとして PPPoE で取得した IP アドレスを使用します

作業環境

  • FortiGate
    • 型番: FortiGate 60E
    • バージョン: 6.4.5
  • PPPoE サーバ、対向側クライアント
    • 型番: Cisco C891FJ-K9
    • バージョン: 15.3(3)M5

検証構成

事前準備

IPsec VPN 設計

IPsec VPN を設定する場合は各種設定値を決めておく必要があります。

ここでは以下のような設定値とすることにします。

項目IKE フェーズ1IKE フェーズ2
物理インターフェース(FortiGate)wan2
セキュリティプロトコルesp
暗号化アルゴリズム3des3des
ハッシュアルゴリズムsha1
認証方式/認証アルゴリズムpre-shareesp-sha-hmac
DH/PFS グループ1無効
ISAKMP/IPsec  SA ライフタイム86400秒3600秒
Pre-shared Keypassword
IPsec 通信モードtunnel
IKE キープアライブ(DPD)無効
IPsec の対象トラフィックANY ⇔ ANY
IKE モードMainQuick
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)
  • WAN 側物理 IP アドレスについては PPPoE サーバから取得することとします
    • 対向機器側で取得する IP アドレスを IPsec のピアアドレスとして指定します

C891FJ-K9 PPPoE サーバ設定

!# PPPoE 用ユーザの設定
username pppoe-user password pppoe-password

!# PPPoE 用 Loopback インターフェースの設定
interface Loopback1
 ip address 100.110.120.1 255.255.255.255
!
interface Loopback2
 ip address 100.110.120.2 255.255.255.255

!# IP アドレスプールの設定
ip local pool pool01 200.1.1.1
ip local pool pool02 200.1.1.2

!# Virtual-Template インターフェースの設定
interface Virtual-Template1
 mtu 1454
 ip unnumbered Loopback1
 peer default ip address pool pool01
 ppp authentication chap

interface Virtual-Template2
 mtu 1454
 ip unnumbered Loopback2
 peer default ip address pool pool02
 ppp authentication chap

!# bba-group (Broad Band Access グループ) の設定
bba-group pppoe PPPOE-GROUP1
 virtual-template 1

bba-group pppoe PPPOE-GROUP2
 virtual-template 2

!# 物理インターフェースの設定
interface GigabitEthernet8
 no ip address
 duplex auto
 speed auto
 pppoe enable group PPPOE-GROUP1
 no shutdown

interface FastEthernet0
 no ip address
 duplex auto
 speed auto
 pppoe enable group PPPOE-GROUP2
 no shutdown

C891FJ-K9 クライアント設定

PPPoE クライアント設定

!# Dialer インターフェースの設定
interface Dialer1
 ip address negotiated
 ip mtu 1454
 encapsulation ppp
 dialer pool 1
 dialer-group 1
 ppp authentication chap callin
 ppp chap hostname pppoe-user
 ppp chap password pppoe-password

dialer-list 1 protocol ip permit

!# 物理インターフェースの設定
interface FastEthernet0
 pppoe-client dial-pool-number 1
 no shutdown

!# デフォルトルートの設定
ip route 0.0.0.0 0.0.0.0 Dialer1

IPsec 設定

!# 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 Dialer1
 tunnel mode ipsec ipv4
 tunnel destination 200.1.1.1
 tunnel protection ipsec profile IPS-PRF

!# リモートサイトへのスタティックルートの設定
ip route 192.168.1.0 255.255.255.0 Tunnel0

PPPoE クライアント設定手順

FortiGate における PPPoE クライアント設定はインターフェースの設定画面で実施します。

例では wan2 インターフェースの設定画面にて以下の通り設定します。

  • アドレス
    • アドレッシングモード → PPPoE
    • ユーザ名 → PPPoE 用のユーザ名
    • パスワード → PPPoE 用のパスワード
    • Unnumbered IP接続 → 0.0.0.0(デフォルト値)
    • 初期Discタイムアウト → 1(デフォルト値)
      • PPPoE ディスカバリーの開始を再試行する前に待機する秒単位の時間
      • 0 はタイムアウトがないことを意味します
    • 初期PADTタイムアウト → 1(デフォルト値)
      • PPPoE Active Discovery Terminate(PADT)を使用してセッションを終了するまでのタイムアウト時間(秒単位)
    • サーバからデフォルトゲートウェイを取得 → ON
      • ディスタンス → 5(デフォルト値)
    • 内部DNSを上書き → OFF
      • FortiGate が使用する DNS サーバを PPPoE で取得した DNS サーバにする場合は ON

CLI で設定する場合はインターフェース設定の中で設定します。

上の GUI と同様の設定をする場合は以下のコマンドとなります。

config system interface
    edit "wan2"
        set mode pppoe
        set username "pppoe-user"
        set password "pppoe-password"
        set ipunnumbered 0.0.0.0
        set disc-retry-timeout 1
        set padt-retry-timeout 1
        set defaultgw enable
        set distance 5
        set dns-server-override disable
    next
end

設定後のコンフィグは以下の通りです。

FG60E (wan2) # show
config system interface
    edit "wan2"
        set vdom "root"
        set mode pppoe
        set allowaccess ping https ssh http fgfm
        set type physical
        set role wan
        set snmp-index 2
        set username "pppoe-user"
        set password ENC CYkgZ+0O/OVTVW+pXDzA1q3QB+Dhe9z/tOb7hqbUcvkXtu4lULsNiiIpcWkH9t9ZdCXBkgePYJxcNINrD7EsiZ47phyFvw30vJ31G1Iwf69bQ1Yu0vgh1B34ScrQUZUuYwZgB8sY5eENxaowB7dAD0Y9vwjcn6G75u1hb7Vjr3MSVGLHGimsQ3pLkwACXzuJEqUkmw==
        set dns-server-override disable
    next
end

allowaccess は要件に合わせて設定してください

IPsec 設定手順

以下の手順で設定していきます。

  1. IKE フェーズ1 の設定
    • この設定をした時点でトンネルインターフェースが自動で作成されます
  2. IKE フェーズ2 の設定
  3. トンネルインターフェースの設定
  4. ポリシーの設定
  5. スタティックルートの設定

また、設定は GUI と CLI のどちらでも可能ですが、ここでは CLI で行うこととします。

GUI で設定を行う場合は以下の記事を参考にしてください。

IKE フェーズ1 の設定

IKE フェーズ1 の設定に対応する設定項目は config vpn ipsec phase1-interface です。

IPsec の各設定項目と CLI での設定内容の対応は以下の通りです。

項目設定したい値CLI 設定内容
設定オブジェクト名Tunnel0edit "Tunnel0"
物理インターフェースwan2set interface "wan2"
暗号化アルゴリズム3desset proposal 3des-sha1
※ハッシュアルゴリズムとセットで設定
ハッシュアルゴリズムsha1set proposal 3des-sha1
※暗号化アルゴリズムとセットで設定
認証方式pre-shareset authmethod psk
DH グループ1set dhgrp 1
ISAKMP ライフタイム86400秒set keylife 86400
Pre-shared Keypasswordset psksecret password
IKE キープアライブ(DPD)無効set dpd disable
IKE モードMainset mode main
ISAKMP のピアアドレス200.1.1.2set 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

トンネルインターフェースについて

上の 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 設定内容
設定オブジェクト名Tunnel0edit "Tunnel0"
対応付ける IKE フェーズ1 設定の
オブジェクト名
Tunnel0set phase1name "Tunnel0"
セキュリティプロトコルespなし(設定不要)
暗号化アルゴリズム3desset proposal 3des-sha1
※認証アルゴリズムとセットで設定
認証アルゴリズムesp-sha-hmacset proposal 3des-sha1
※暗号化アルゴリズムとセットで設定
PFS グループ無効set pfs disable
IPsec  SA ライフタイム3600秒set keylifeseconds 3600
IPsec 通信モードtunnelset encapsulation tunnel-mode
IPsec の対象トラフィックANY ⇔ ANYset src-subnet 0.0.0.0 0.0.0.0
set dst-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

トンネルインターフェースの設定

トンネルインターフェースに対して以下を設定します。

  • 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 トンネルステータスがアップとなります。

スタティックルートの設定

リモートサイト宛の場合は 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 の設定を確認できます。

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

トンネルインターフェース

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

各種確認・操作コマンド

PPPoE

確認コマンド

  • get system interface physical
    • 物理インターフェースの IP アドレス取得状況の確認
FG60E # get system interface physical
== [onboard]
#(中略)
        ==[wan2]
                mode: pppoe
                ip: 200.1.1.1 255.255.255.255
                ipv6: ::/0
                status: up
                speed: 1000Mbps (Duplex: full)
#(後略)

操作コマンド

  • execute interface pppoe-reconnect <物理インターフェース名>
    • PPPoE サーバへの再接続
FG60E # execute interface pppoe-reconnect wan2

Reconnecting to PPPoE on wan2

IPsec

確認コマンド

  • get vpn ike gateway
FG60E # get vpn ike gateway

vd: root/0
name: Tunnel0
version: 1
interface: ppp1 28
addr: 200.1.1.1:500 -> 200.1.1.2:500
created: 299s ago
IKE SA  created: 1/1  established: 1/1  time: 0/0/0 ms
IPsec SA  created: 1/1  established: 1/1  time: 0/0/0 ms

  id/spi: 57 d1e65f16f90087ac/9b61e931d09f519e
  direction: initiator
  status: established 299-299s ago = 0ms
  proposal: 3des-sha1
  key: 9708255fa979a4e7-0522a5182e6dc484-afc2e38f2349a6ec
  lifetime/rekey: 86400/85800
  DPD sent/recv: 00000000/00000000

  • get vpn ipsec tunnel summary
  • get vpn ipsec tunnel details
  • diagnose vpn ike status summary
  • diagnose vpn ike status detailed
  • diagnose vpn ipsec status
  • diagnose vpn tunnel list

操作コマンド

  • diagnose vpn ike restart
    • IKE の再起動
  • diagnose vpn ike gateway clear
    • IKE ゲートウェイのクリア

―――――――――――――

タイトルとURLをコピーしました