【注意】FortiGate RAM 2GB以下の小型モデルで ver.7.4.4からProxy機能廃止、ver.7.6.0からSSL-VPN機能廃止 被害者が散見しています> Membership

FortiGate BGP 基本設定ガイド AS,Neighbor,Network

目次

本記事について

本記事では、Fortinet 社のファイアウォール製品である FortiGate に関して、別拠点のルータと BGP ネイバーを形成してルートの送受信を行うための設定方法について説明します。

動作確認環境

本記事の内容は以下の機器にて動作確認を行った結果に基づいて作成されています。

  • FortiGate-60F
    • バージョン 7.4.3

想定シナリオ

この組織には拠点Aと拠点Bがあり、WAN 接続ルータとして拠点Aには FortiGate が、拠点Bには Cisco C891FJ-K9 が設置されていて、これらが L2 接続しています。FortiGate と C891FJ-K9 の間で iBGP ネイバーを形成して LAN へのルートを送受信させることにします。

GUI の表示機能設定

デフォルト設定では GUI に BGP の設定項目が表示されません。「システム > 表示機能設定」画面で「高度なルーティング」を有効にすることで BGP の設定項目が表示されます。

FortiGate BGP 基本設定をする方法

BGP の設定は「ネットワーク > BGP」画面で行います。

以下のような設定画面となっています。

【必須】ローカルASとルーターID

ローカルAS」は FortiGate 自身の AS 番号、「ルータ―ID」は FortiGate 自身のルータ―IDです。

ローカルAS が対向ルータと一致していると iBGP ネイバーに、一致していないと eBGP ネイバーになります。

【必須】ネイバー

以下のネイバー欄で「新規作成」をクリックするとネイバー設定を追加できます。

ネイバーの追加画面の設定項目を以下に示します。

まず基本設定項目は以下の通りです。

  • 設定必須項目
    • IP: 対向ルータのアドレスを指定します
    • リモートAS: 対向ルータの AS 番号を指定します
  • その他項目はオプションです
  • パスワード: デフォルトで何か設定されているような表示になっていますが、実際には未設定状態です
  • アップデートソース: 対向ルータの BGP ネイバー設定でアドレスとして FortiGate の Loopback アドレスが指定されている場合にはアップデートソースを Loopback インターフェースと設定する必要があります
  • eBGPマルチホップの実施: eBGP ネイバーでは TTL が 1 のため、対向ルータとの間にルータを挟む場合はこれを有効化する必要があります

続きの設定項目として以下の通り IPv4 フィルタリング項目等があります。

  • ソフト再設定: これを有効化すると、ネイバーを切らずに設定変更を反映させるソフトリセットができるようになるため有効化を推奨します
  • Next hop self: iBGP ネイバーの場合はほとんどの場合有効にします
  • iBGP ネイバーの場合、ルート広報する際にルートのネクストホップが FortiGate のアドレスに変更されずにルート広報されるため、ネットワーク構成によっては問題が起きます。ルートのネクストホップを FortiGate のアドレスに変更するためには Next hop self を有効にします
  • 本記事の想定シナリオの構成では無効でも影響が無いため無効のままにしています

ネイバー設定後はリストにネイバー情報が追加されます。

【オプション】ネイバーグループとネイバー範囲

ネイバーを設定する代わりにネイバーグループとネイバー範囲を設定することでもネイバーを形成することができます。特定セグメント内にネイバーとなる対向ルータが複数存在する場合にこの設定方法を活用できます。この方式の場合、FortiGate は対向ルータからの BGP パケット受信するとそのルータとネイバーを形成します。

  • ネイバーグループ: 特定セグメントのネイバーすべてに共通となるネイバー設定
  • ネイバー範囲: ネイバーが存在するセグメントと最大ネイバー数の設定。これにネイバーグループを紐づける設定を行う

ネイバーグループの設定項目は以下の通りです。

ネイバー範囲の設定項目は以下の通りです。

【オプション】ネットワーク設定

ネットワーク設定では BGP でルート広報する対象ネットワークを指定します。
以下画像の通り1枠に1ネットワーク入力して設定します。

なおこのネットワーク設定で指定したネットワーク宛のルートを BGP ネイバーに広報するためには FortiGate のルーティングテーブルに当該ルートがインストールされている必要があります。

【オプション】IPv4再配布、ダンピング、グレースフルリスタート

IPv4再配布、ダンピング、グレースフルリスタートの設定項目は以下の通りです。これらは必要な場合のみ有効化して設定します。

デフォルトではいずれも OFF になっていますが参考のために ON にして設定項目を表示した状態の画面を掲載しています。

【オプション】高度な設定、ベストパスの選択

以下は高度な設定項目のデフォルト値です。

以下はベストパスの選択設定項目のデフォルト値です。

BGP の設定は以上です。

FortiGate BGP コンフィグ例

BGP のコンフィグはconfig router bgpです。
本記事の想定シナリオ用の設定を行った後の BGP コンフィグは以下のようになります。

config router bgp
    set as 64512
    set router-id 10.0.0.1
    config neighbor
        edit "192.168.179.10"
            set remote-as 64512
        next
    end
    config network
        edit 1
            set prefix 10.1.1.0 255.255.255.0
        next
        edit 2
            set prefix 10.10.10.0 255.255.255.0
        next
    end
    config network6
        edit 1
            set prefix6 ::/128
        next
    end
    config redistribute "connected"
    end
    config redistribute "rip"
    end
    config redistribute "ospf"
    end
    config redistribute "static"
    end
    config redistribute "isis"
    end
    config redistribute6 "connected"
    end
    config redistribute6 "rip"
    end
    config redistribute6 "ospf"
    end
    config redistribute6 "static"
    end
    config redistribute6 "isis"
    end
end

FortiGate BGP 状態確認コマンド

get router info bgp neighbors

BGP ネイバーの情報を確認できます。

FortiGate-60F-01 # get router info bgp neighbors
VRF 0 neighbor table:
BGP neighbor is 192.168.179.10, remote AS 64512, local AS 64512, internal link
  BGP version 4, remote router ID 10.0.0.2
  BGP state = Established, up for 00:25:43
  Last read 00:00:21, hold time is 180, keepalive interval is 60 seconds
  Configured hold time is 180, keepalive interval is 60 seconds
  Neighbor capabilities:
    Route refresh: advertised and received (old and new)
    Address family IPv4 Unicast: advertised and received
    Address family VPNv4 Unicast: advertised
    Address family IPv6 Unicast: advertised
    Address family VPNv6 Unicast: advertised
    Address family L2VPN EVPN: advertised
  Received 33 messages, 0 notifications, 0 in queue
  Sent 32 messages, 0 notifications, 0 in queue
  Route refresh request: received 0, sent 0
  NLRI treated as withdraw: 0
  Minimum time between advertisement runs is 30 seconds

 For address family: IPv4 Unicast
  BGP table version 3, neighbor version 3
  Index 0, Offset 0, Mask 0x1
  Community attribute sent to this neighbor (both)
  1 accepted prefixes, 1 prefixes in rib
  2 announced prefixes

 For address family: VPNv4 Unicast
  BGP table version 1, neighbor version 1
  Index 0, Offset 0, Mask 0x1
  Community attribute sent to this neighbor (both)
  0 accepted prefixes, 0 prefixes in rib
  0 announced prefixes

 For address family: IPv6 Unicast
  BGP table version 1, neighbor version 1
  Index 0, Offset 0, Mask 0x1
  Community attribute sent to this neighbor (both)
  0 accepted prefixes, 0 prefixes in rib
  0 announced prefixes

 For address family: VPNv6 Unicast
  BGP table version 1, neighbor version 1
  Index 0, Offset 0, Mask 0x1
  Community attribute sent to this neighbor (both)
  0 accepted prefixes, 0 prefixes in rib
  0 announced prefixes

 For address family: L2VPN EVPN
  BGP table version 1, neighbor version 1
  Index 0, Offset 0, Mask 0x1
  Community attribute sent to this neighbor (both)
  0 accepted prefixes, 0 prefixes in rib
  0 announced prefixes

 Connections established 1; dropped 0
Local host: 192.168.179.21, Local port: 13657
Foreign host: 192.168.179.10, Foreign port: 179
Egress interface: 5
Nexthop: 192.168.179.21
Nexthop interface: wan1
Nexthop global: ::
Nexthop local: ::
BGP connection: non shared network

get router info bgp summary

BGP ネイバー情報のサマリを確認できます。

FortiGate-60F-01 # get router info bgp summary

VRF 0 BGP router identifier 10.0.0.1, local AS number 64512
BGP table version is 3
1 BGP AS-PATH entries
0 BGP community entries

Neighbor       V         AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.179.10 4      64512      49      49        3    0    0 00:40:20        1

Total number of neighbors 1

上の10行目が対向ルータから学習したルートです。

get router info bgp network

BGP で学習したルートを確認できます。

FortiGate-60F-01 # get router info bgp network
VRF 0 BGP table version is 3, local router ID is 10.0.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric     LocPrf Weight RouteTag Path
*> 10.1.1.0/24      0.0.0.0                       100  32768        0 i <-/1>
*> 10.10.10.0/24    0.0.0.0                       100  32768        0 i <-/1>
*>i172.16.0.0/24    192.168.179.10  0             100      0        0 i <-/1>

Total number of prefixes 3

上の10行目が対向ルータから学習したルートです。

get router info routing-table all

ルーティングテーブルを確認して BGP ルートのインストール状況を確認します。

FortiGate-60F-01 # get router info routing-table all
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
       O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       V - BGP VPNv4
       * - candidate default

Routing table for VRF=0
C       10.1.1.0/24 is directly connected, internal1
C       10.10.10.0/24 is directly connected, dmz
B       172.16.0.0/24 [200/0] via 192.168.179.10 (recursive is directly connected, wan1), 00:33:03, [1/0]
C       192.168.179.0/24 is directly connected, wan1

上の13行目で BGP ルートがインストールされていることを確認できます。

BGP セッションリセットコマンド

BGP の設定変更を行った場合、内容によっては設定変更を反映させるために BGP セッションをリセットする必要があります。リセットにはネイバーダウンを伴うハードリセットと、ネイバーを維持したままのリセットであるソフトリセットがあります。ソフトリセットをするためにはネイバー設定で「ソフト再構成」を有効にしておく必要があります。

BGPリセットコマンド
  • ハードリセット
    • execute router clear bgp ip all [<in|out>]
      • 全てのネイバーを対象にリセット
    • execute router clear bgp ip <ネイバーIP> [<in|out>]
      • 指定したネイバーを対象にリセット
  • ソフトリセット
    • execute router clear bgp ip all soft [<in|out>]
      • 全てのネイバーを対象にリセット
    • execute router clear bgp ip <ネイバーIP> soft [<in|out>]
      • 指定したネイバーを対象にリセット
  • in: 受信した BGP ルートのみを更新します
  • out: 広報する BGP ルートのみを更新します
  • in,out を指定しない場合、両方が実行されます

参考資料

あわせて読みたい
あわせて読みたい
Technical Tip: The BGP Neighbor group password Description This article describes how to configure neighbor passwords with the BGP neighbor group. Scope FortiGate v7.2.4, v7.4.0 and above. Solution As shown ...
あわせて読みたい
Technical Tip: BGP soft reset to refresh BGP routing table without tearing down existing peering ses... Description   This articles describes how to refresh a BGP routing table without disturbing a BGP peering session.   Scope   Any supported version of FortiGate....

あわせて読みたい
FortiGate BGP でデフォルトルートを広報するための設定方法 本記事について 本記事では、Fortinet 社のファイアウォール製品である FortiGate に関して、BGP ネイバーにデフォルトルートを広報するための設定方法について説明しま...
あわせて読みたい
FortiGate BGPルートのLocal-Preference,MED,AS-Path設定方法 本記事について 本記事では、Fortinet 社のファイアウォール製品である FortiGate にて BGP ルートの以下属性を設定する方法について説明します。 Local-Preference MED...

【おすすめ】FortiGate の設計構築中なら以下の記事も役立つかもです

Amazon アフィリエイトリンク

以下は Amazon アフィリエイトリンクです。インフラエンジニアにそこそこおすすめなアイテムです。

note メンバーシップへの参加もお待ちしています!

note(ノート)
陰の構築者たちのメンバーシップ|シェイド@陰の構築者 ネットワーク設計構築をする人に役立つメンバーシップです。 独自ブログ(https://shadowgarden.org/)にてネットワークエンジニア向け情報を発信しており、その活動を応援...

【アフィリエイト】おすすめ WordPress テーマ【SWELL

当サイトでは WordPress テーマとして SWELL を使用しています。以前は無料・高機能テーマとして知られる Cocoon を使用していて Cocoon も使いやすかったのですが、SWELL を使い始めてからは SWELL のほうが圧倒的に使いやすいなと思いました。そして何より読み込み速度が速い。SWELL を使い始めてから、過去の Cocoon のブログを見直したときに「あれ、こんなに表示遅かったっけ?」という感覚になりました。

また SWELL はデフォルトでもオシャレなデザインですが柔軟にカスタマイズすることもでき個性のあるサイトを作成できます。さらにブログパーツや広告タグといった再利用可能なブログの「部品」も作成することができ、ブログ作成効率も高いです。

技術ブログやアフィリエイト等での収益化を見据えたブログの作成に SWELL は最適です。初見では価格が高いなと思うと思いますが、私としては SWELL を採用して良かったしそれ以上の価値があると感じています。
ブログの新設やテーマ変更を考えている人は一度 SWELL を検討してみてください。
以下の画像リンクから詳細な情報を確認できます。

レンタルサーバーを探している人には安定性に定評のあるエックスサーバーをお勧めします。
当サイトもエックスサーバーを使用しています。WordPress のインストールも簡単にできます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次