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

FortiGate BGPルートのLocal-Preference,MED,AS-Path設定方法

目次

本記事について

本記事では、Fortinet 社のファイアウォール製品である FortiGate にて BGP ルートの以下属性を設定する方法について説明します。

  • Local-Preference
  • MED
  • AS-Path

動作確認環境

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

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

FortiGate BGPルートのLocal-Preference設定方法

対象ルートを指定するプレフィックスリストの作成

config router prefix-listにて Local-Preference 設定対象ルートの宛先に該当するプレフィックスリストを作成します。

config router prefix-list
    edit "plist_10.1.1.0"
        config rule
            edit 1
                set action permit
                set prefix 10.1.1.0 255.255.255.0
                unset ge
                unset le
            next
        end
    next
end

Local-Preferenceを設定するルートマップの作成

config router route-mapにて Local-Preference を設定するルートマップを作成します。このとき対象ルートとして上で作成したプレフィックスリストを指定します。

config router route-map
    edit "rmap-pref200_10.1.1.0"
        config rule
            edit 1
                set action permit
                set match-ip-address "plist_10.1.1.0"
                unset set-ip-prefsrc
                set set-local-preference 200
            next
            edit 2
                set action permit
                unset set-ip-prefsrc
            next
        end
    next
end

なおルートマップは暗黙のdenyの動作になるため、Local-Preference 設定対象外のルートについてはそのまま広報されるよう、上のようにすべてを許可するルールを追加します(edit 2)。これを追加しないと、Local-Preference を設定しないルートが広報されなくなってしまいます。

BGPネイバー設定にてルートマップを設定

BGPネイバー設定のOUT方向のルートマップ設定にて、上で作成したルートマップを設定します。

config router bgp
    config neighbor
        edit "192.168.179.10"
            set route-map-out "rmap-pref200_10.1.1.0"
        next
    end
end

以上で Local-Preference の設定は完了です。

BGPセッションのリセット

BGP ルートの属性値の設定変更を反映させるためには BGP セッションをリセットする必要があります。以下コマンドでリセットできます。(ハードリセット)

execute router clear bgp ip <対象ネイバーIP> out

BGP ネイバー設定でソフト再設定を有効化している場合は、ネイバー状態を維持したままのリセットであるソフトリセットをすることができます。

execute router clear bgp ip <対象ネイバーIP> soft out

ネイバールータでのBGPルートの確認

以下はネイバールータでの BGP ルート情報です。

Router#show ip bgp
BGP table version is 16, local router ID is 10.0.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>i  10.1.1.0/24      192.168.179.21                200      0 i
 *>i  10.10.10.0/24    192.168.179.21                100      0 i
 *>   172.16.0.0/24    0.0.0.0                  0         32768 i

上の11行目にて対象ルートの Local-Preference が 200 に変わっていることを確認できます。

FortiGate BGPルートのMED設定方法

対象ルートを指定するプレフィックスリストの作成

config router prefix-listにて MED 設定対象ルートの宛先に該当するプレフィックスリストを作成します。

config router prefix-list
    edit "plist_10.1.1.0"
        config rule
            edit 1
                set action permit
                set prefix 10.1.1.0 255.255.255.0
                unset ge
                unset le
            next
        end
    next
end

MEDを設定するルートマップの作成

config router route-mapにて MED を設定するルートマップを作成します。このとき対象ルートとして上で作成したプレフィックスリストを指定します。

config router route-map
    edit "rmap-med300_10.1.1.0"
        config rule
            edit 1
                set action permit
                set match-ip-address "plist_10.1.1.0"
                unset set-ip-prefsrc
                set set-metric 300
            next
            edit 2
                set action permit
                unset set-ip-prefsrc
            next
        end
    next
end

なおルートマップは暗黙のdenyの動作になるため、MED 設定対象外のルートについてはそのまま広報されるよう、上のようにすべてを許可するルールを追加します(edit 2)。これを追加しないと、MED を設定しないルートが広報されなくなってしまいます。

BGPネイバー設定にてルートマップを設定

BGPネイバー設定のOUT方向のルートマップ設定にて、上で作成したルートマップを設定します。

config router bgp
    config neighbor
        edit "192.168.179.10"
            set route-map-out "rmap-med300_10.1.1.0"
        next
    end
end

以上で Local-Preference の設定は完了です。

BGPセッションのリセット

BGP ルートの属性値の設定変更を反映させるためには BGP セッションをリセットする必要があります。以下コマンドでリセットできます。(ハードリセット)

execute router clear bgp ip <対象ネイバーIP> out

BGP ネイバー設定でソフト再設定を有効化している場合は、ネイバー状態を維持したままのリセットであるソフトリセットをすることができます。

execute router clear bgp ip <対象ネイバーIP> soft out

ネイバールータでのBGPルートの確認

以下はネイバールータでの BGP ルート情報です。

Router#show ip bgp
BGP table version is 19, local router ID is 10.0.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>i  10.1.1.0/24      192.168.179.21         300    100      0 i
 *>i  10.10.10.0/24    192.168.179.21                100      0 i
 *>   172.16.0.0/24    0.0.0.0                  0         32768 i

上の11行目にて対象ルートの MED が 300 に変わっていることを確認できます。

FortiGate BGPルートのASパス設定方法

対象ルートを指定するプレフィックスリストの作成

config router prefix-listにて ASパス設定対象ルートの宛先に該当するプレフィックスリストを作成します。

config router prefix-list
    edit "plist_10.1.1.0"
        config rule
            edit 1
                set action permit
                set prefix 10.1.1.0 255.255.255.0
                unset ge
                unset le
            next
        end
    next
end

ASパスを設定するルートマップの作成

config router route-mapにて ASパスを設定するルートマップを作成します。このとき対象ルートとして上で作成したプレフィックスリストを指定します。

config router route-map
    edit "rmap-aspath_10.1.1.0"
        config rule
            edit 1
                set action permit
                set match-ip-address "plist_10.1.1.0"
                set set-aspath "64512" "64513" "64514"
                unset set-ip-prefsrc
            next
            edit 2
                set action permit
                unset set-ip-prefsrc
            next
        end
    next
end

なおルートマップは暗黙のdenyの動作になるため、ASパス設定対象外のルートについてはそのまま広報されるよう、上のようにすべてを許可するルールを追加します(edit 2)。これを追加しないと、ASパスを設定しないルートが広報されなくなってしまいます。

BGPネイバー設定にてルートマップを設定

BGPネイバー設定のOUT方向のルートマップ設定にて、上で作成したルートマップを設定します。

config router bgp
    config neighbor
        edit "192.168.179.10"
            set route-map-out "rmap-aspath_10.1.1.0"
        next
    end
end

以上で Local-Preference の設定は完了です。

BGPセッションのリセット

BGP ルートの属性値の設定変更を反映させるためには BGP セッションをリセットする必要があります。以下コマンドでリセットできます。(ハードリセット)

execute router clear bgp ip <対象ネイバーIP> out

BGP ネイバー設定でソフト再設定を有効化している場合は、ネイバー状態を維持したままのリセットであるソフトリセットをすることができます。

execute router clear bgp ip <対象ネイバーIP> soft out

ネイバールータでのBGPルートの確認

以下はネイバールータでの BGP ルート情報です。

Router#show ip bgp
BGP table version is 22, local router ID is 10.0.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
              t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>i  10.1.1.0/24      192.168.179.21                100      0 64512 64513 64514 i
 *>i  10.10.10.0/24    192.168.179.21                100      0 i
 *>   172.16.0.0/24    0.0.0.0                  0         32768 i

上の11行目にて対象ルートの ASパスが追加されていることを確認できます。

【参考】プレフィックスリスト、ルートマップを GUI で設定する場合

プレフィックスリスト、ルートマップは GUI で設定することもできます。

設定項目の表示のためには表示機能の設定で「高度なルーティング」を有効化してください。

ネットワーク > ルーティングオブジェクト」画面の「新規作成」からプレフィックスリスト及びルートマップを作成することができます。

プレフィックスリストについては以下のような形でルールを設定します。

ルートマップについては以下のような形でルールを設定します。

ネイバーへのルートマップの適用については以下のように「Route Map Out」にて適用します。

参考資料

あわせて読みたい
Technical Tip: How to modify route preference using Local-Preference Attribute in BGP Description This article describes how to modify route preference using Local-Preference Attribute in BGP. Scope FortiOS. Solution Local Peer: 10.9.26.94 config...
あわせて読みたい
Technical Note: Influencing BGP routes using Metric Description   This article provides an understanding of the Border Gateway Protocol (BGP) Multi Exit Discriminator (MED) Attribute when passing over an autonomo...
あわせて読みたい
Technical Tip: BGP AS-Path Prepending Configuration Example Purpose Enterprise networks using BGP with multi-homed solution (connected to more than one ISP). Sometime, they might required to design the internet link with...
あわせて読みたい
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 基本設定ガイド AS,Neighbor,Network 本記事について 本記事では、Fortinet 社のファイアウォール製品である FortiGate に関して、別拠点のルータと BGP ネイバーを形成してルートの送受信を行うための設定...
あわせて読みたい
FortiGate BGP でデフォルトルートを広報するための設定方法 本記事について 本記事では、Fortinet 社のファイアウォール製品である FortiGate に関して、BGP ネイバーにデフォルトルートを広報するための設定方法について説明しま...

【おすすめ】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をコピーしました!

コメント

コメントする

目次