マルチエリアOSPFの設定

動作確認バージョン:vSRX Version20.4R2, vSRX Version22.4R1
ファイアウォール(vSRX) は、OSPFの設定が可能です。ここではマルチエリアでのOSPFの設定例を紹介します。

マルチエリアOSPFの設定

エリア0(バックボーンエリア)とエリア1を用いたOSPFのマルチエリア設定を行います。

サンプル設定のシナリオ

  • 装置の負荷を軽減させるためOSPFを複数のエリアに分けて利用したい
vsrx_multiospf_fig1

シナリオにおける設定のながれ

1.vSRX-01にてインターフェイス(ge-0/0/1.0)をエリア1(0.0.0.1)に設定
2.vSRX-01にてインターフェイス(ge-0/0/0.0)をエリア0(0.0.0.0)に設定
3.上記同様の設定をvSRX-02で設定
4.vSRX-03では、インターフェイス(ge-0/0/0.0,ge-0/0/1.0)をエリア0(0.0.0.0)設定

注釈

チュートリアルでは、エリア0と表現していますがコンフィグレーションでは(0.0.0.0)という形で認識されます。 エリア1も同様に(0.0.0.1)という形で認識されます。CLI入力する際には、[area 0]や[area 1]という形式でもコンフィグレーションが可能です。

CLIにて入力するコマンド

[vSRX-01]
user01@vSRX-01# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
user01@vSRX-01# set protocols ospf area 0.0.0.1 interface ge-0/0/1.0
[vSRX-02]
user01@vSRX-02# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
user01@vSRX-02# set protocols ospf area 0.0.0.1 interface ge-0/0/0.0
[vSRX-03]
user01@vSRX-03# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
user01@vSRX-03# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0

正しく設定が完了したときのコンフィグレーションは次のとおりです。

[vSRX-01]
protocols {
    ospf {
        area 0.0.0.0 {
            interface ge-0/0/0.0;
        }
        area 0.0.0.1 {
            interface ge-0/0/1.0;
        }
    }
}
[vSRX-02]
protocols {
    ospf {
        area 0.0.0.0 {
            interface ge-0/0/1.0;
        }
        area 0.0.0.1 {
            interface ge-0/0/0.0;
        }
    }
}
[vSRX-03]
protocols {
    ospf {
        area 0.0.0.0 {
            interface ge-0/0/0.0;
            interface ge-0/0/1.0;
        }
    }
}

動作確認結果

以下の検証結果ログより、各vSRXで2エリア(0.0.0.0および0.0.0.1)が設定されておりネイバー確立できていることが確認できました。

vSRX-01でインターフェイス(ge-0/0/1.0)がエリア1に設定されていることが確認できます。

user01@vSRX-01> show ospf neighbor detail
Address          Interface              State     ID               Pri  Dead
10.0.20.30       ge-0/0/0.0             Full      10.3.3.3         128    39
  Area 0.0.0.0, opt 0x52, DR 10.0.20.30, BDR 10.0.20.10
  Up 00:00:27, adjacent 00:00:27
10.0.10.20       ge-0/0/1.0             Full      10.2.2.2         128    32
  Area 0.0.0.1, opt 0x52, DR 10.0.10.20, BDR 10.0.10.10
  Up 00:00:27, adjacent 00:00:18

vSRX-02でインターフェイス(ge-0/0/0.0)がエリア1に設定されていることが確認できます。

user01@vSRX-02> show ospf neighbor detail
Address          Interface              State     ID               Pri  Dead
10.0.30.30       ge-0/0/1.0             Full      10.3.3.3         128    34
  Area 0.0.0.0, opt 0x52, DR 10.0.30.30, BDR 10.0.30.20
  Up 00:04:23, adjacent 00:04:23
10.0.10.10       ge-0/0/0.0             Full      10.1.1.1         128    32
  Area 0.0.0.1, opt 0x52, DR 10.0.10.20, BDR 10.0.10.10
  Up 00:02:04, adjacent 00:01:55

スタブエリアの設定

OSPFでスタブエリアの設定を行います。スタブエリアは、OSPFに他のルーティングプロトコルから再配信されてくる外部経路を拒否するエリアになります。 外部経路へはエリア境界ルーター(ABR)からデフォルトルートが配信されてくることにより到達性を確保します。これによりスタブエリア内の経路数を減らすことが可能になり経路交換等による負荷を軽減させることができます。

サンプル設定のシナリオ

  • エリア1をスタブエリアとして設定したい

注釈

このチュートリアルでは、vSRX-01でスタティックルート(10.10.10.0/24)をOSPFへ再配信しており、OSPFの外部経路として経路交換されます。 スタブエリアはこのような外部経路を受け付けないエリアになりますので、vSRX-04ではOSPFで(10.10.10.0/24)を受信しないことを確認しています。

vsrx_multiospf_fig2

シナリオにおける設定のながれ

1.vSRX-01,vSRX-02では接続するインターフェイス(ge-0/0/0.0,ge-0/0/1.0)をエリア0に設定
2.vSRX-03のインターフェイス(ge-0/0/0.0,ge-0/0/1.0)はエリア0に設定
3.vSRX-03のインターフェイス(ge-0/0/2.0)をエリア1でスタブエリアの設定
4.vSRX-04のインターフェイス(ge-0/0/0.0)をエリア1でスタブエリアの設定
5.vSRX-01でスタティックルート( 10.10.10.0/24 )の経路を再配布する設定

CLIにて入力するコマンド

[vSRX-01]
user01@vSRX-01# set routing-options static route 10.10.10.0/24 discard
user01@vSRX-01# set policy-options policy-statement EXSTATIC from protocol static
user01@vSRX-01# set policy-options policy-statement EXSTATIC from route-filter 10.10.10.0/24 exact
user01@vSRX-01# set policy-options policy-statement EXSTATIC then accept
user01@vSRX-01# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
user01@vSRX-01# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
user01@vSRX-01# set protocols ospf export EXSTATIC
[vSRX-02]
user01@vSRX-02# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
user01@vSRX-02# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
[vSRX-03]
user01@vSRX-03# set protocols ospf area 0.0.0.0 interface ge-0/0/0.0
user01@vSRX-03# set protocols ospf area 0.0.0.0 interface ge-0/0/1.0
user01@vSRX-03# set protocols ospf area 0.0.0.1 stub default-metric 10
user01@vSRX-03# set protocols ospf area 0.0.0.1 interface ge-0/0/2.0
[vSRX-04]
user01@vSRX-04# set protocols ospf area 0.0.0.1 stub
user01@vSRX-04# set protocols ospf area 0.0.0.1 interface ge-0/0/0.0

正しく設定が完了したときのコンフィグレーションは次のとおりです。

[vSRX-01]
routing-options {
    static {
        route 10.10.10.0/24 discard;
    }
}
protocols {
    ospf {
        export EXSTATIC;
        area 0.0.0.0 {
            interface ge-0/0/0.0;
            interface ge-0/0/1.0;
        }
    }
}
policy-options {
    policy-statement EXSTATIC {
        from protocol static;
        route-filter 10.10.10.0/24 exact;
        then accept;
    }
}
[vSRX-02]
protocols {
    ospf {
        area 0.0.0.0 {
            interface ge-0/0/0.0;
            interface ge-0/0/1.0;
        }
    }
}
[vSRX-03]
protocols {
    ospf {
        area 0.0.0.0 {
            interface ge-0/0/0.0;
            interface ge-0/0/1.0;
        }
        area 0.0.0.1 {
            stub default-metric 10;
            interface ge-0/0/2.0;
        }
    }
}
[vSRX-04]
protocols {
    ospf {
        area 0.0.0.1 {
            stub;
            interface ge-0/0/0.0;
        }
    }
}

注釈

スタティックルートを再配信する設定についての注意事項

スタティックルートを再配信するためにpolicy-options policy-statement設定でプロトコルを条件に設定が可能ですが、スタティックルートだけの条件指定で OSPFへ再配信設定をしますとSDPF側で管理しているスタティックルートの設定も再配信をされてしまいます。 スタティックルートを再配信する際には、プロトコル指定だけではなく、実際に配信したいネットワークの指定をお願いします。

配信したい経路(10.10.10.0/24)を直接指定するコマンド

user01@vSRX-01# set policy-options policy-statement EXSTATIC from route-filter 10.10.10.0/24 exact

動作確認結果

検証結果より、vSRX-04のエリア1がスタブエリアとして動作していることが確認できました。 また、vSRX-01で再配信された外部経路(10.10.10.0/24)がスタブエリア内のvSRX-04に配信されていないことが確認できましたのでスタブエリアが正しく設定できました。

vSRX-04での「show ospf overview」結果よりエリア1がスタブエリアに設定されていることが確認できました。

user01@vSRX-04> show ospf overview
Instance: master
  Router ID: 10.4.4.4
  Route table index: 0
  LSA refresh time: 50 minutes
  Area: 0.0.0.1
    Stub type: Stub
    Authentication Type: None
    Area border routers: 1, AS boundary routers: 0
    Neighbors
      Up (in full state): 1
  Topology: default (ID 0)
    Prefix export count: 0
    Full SPF runs: 22
    SPF delay: 0.200000 sec, SPF holddown: 5 sec, SPF rapid runs: 3
    Backup SPF: Not Needed

vSRX-04での「show route」結果よりvSRX-03から外部経路である(10.10.10.0/24)が配信されておらず、デフォルトルートがエリア境界ルーターから配信されていることが確認できました。

user01@vSRX-04> show route
inet.0: 13 destinations, 13 routes (13 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
0.0.0.0/0          *[OSPF/10] 00:01:45, metric 11
                    > to 10.0.40.1 via ge-0/0/0.0
(中略)

10.0.10.0/24       *[OSPF/10] 00:00:44, metric 3
                    > to 10.0.40.1 via ge-0/0/0.0
10.0.20.0/24       *[OSPF/10] 00:00:44, metric 2
                    > to 10.0.40.1 via ge-0/0/0.0
10.0.30.0/24       *[OSPF/10] 00:00:44, metric 2
                    > to 10.0.40.1 via ge-0/0/0.0
10.0.40.0/30       *[Direct/0] 00:54:53
                    > via ge-0/0/0.0
10.0.40.2/32       *[Local/0] 00:54:54
                      Local via ge-0/0/0.0
224.0.0.5/32       *[OSPF/10] 00:55:22, metric 1
                      MultiRecv

vSRX-03での「show ospf overview」結果よりエリア1がスタブエリアに設定されていることが確認できました。

user01@vSRX-03> show ospf overview
Instance: master
  Router ID: 10.3.3.3
  Route table index: 0
  Area border router
  LSA refresh time: 50 minutes
  Area: 0.0.0.0
    Stub type: Not Stub
    Authentication Type: None
    Area border routers: 0, AS boundary routers: 1
    Neighbors
      Up (in full state): 2
  Area: 0.0.0.1
    Stub type: Stub, Stub cost: 10
    Authentication Type: None
    Area border routers: 0, AS boundary routers: 0
    Neighbors
      Up (in full state): 1
  Topology: default (ID 0)
    Prefix export count: 0
    Full SPF runs: 27
    SPF delay: 0.200000 sec, SPF holddown: 5 sec, SPF rapid runs: 3
    Backup SPF: Not Needed

vSRX-03では、OSPF経由で外部経路(10.10.10.0/24)を受信していることが確認できました。

user01@vSRX-03> show route
inet.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

(中略)

10.0.10.0/24       *[OSPF/10] 00:23:09, metric 2
                    > to 10.0.20.10 via ge-0/0/0.0
                      to 10.0.30.20 via ge-0/0/1.0
10.0.20.0/24       *[Direct/0] 00:41:00
                    > via ge-0/0/0.0
10.0.20.30/32      *[Local/0] 00:41:01
                      Local via ge-0/0/0.0
10.0.30.0/24       *[Direct/0] 00:41:00
                    > via ge-0/0/1.0
10.0.30.30/32      *[Local/0] 00:41:01
                      Local via ge-0/0/1.0
10.0.40.0/30       *[Direct/0] 00:41:00
                    > via ge-0/0/2.0
10.0.40.1/32       *[Local/0] 00:41:01
                      Local via ge-0/0/2.0
10.10.10.0/24      *[OSPF/150] 00:14:33, metric 0, tag 0
                    > to 10.0.20.10 via ge-0/0/0.0
224.0.0.5/32       *[OSPF/10] 00:41:24, metric 1
                      MultiRecv

NSSAエリアの設定

NSSAエリアの設定を行います。NSSAエリアは自身のエリアに直接再配信される外部経路は許可しますが、エリア0(バックボーンエリア)経由の外部経路を拒否するエリアになります。 外部経路へはエリア境界ルーター(ABR)からデフォルトルートが配信されてくることにより到達性を確保します。

サンプル設定のシナリオ

  • エリア1をNSSAエリアに設定したい
  • vSRX-04からBGPで受け取った経路情報をvSRX-03でOSPFに再配信してvSRX-01,vSRX-02に配信したい

注釈

このチュートリアルでは、vSRX-03がBGP受信経路(10.10.40.0/24)を自身のNSSAエリアにOSPF外部経路として経路再配信しています。 NSSAエリアでOSPFに再配信した経路がOSPFのエリア0に属しているvSRX-01,vSRX-02でOSPFの外部経路として経路交換できていることを確認しています。

vsrx_multiospf_fig3

シナリオにおける設定のながれ

1.vSRX-01のインターフェイス(ge-0/0/4.0)をOSPFエリア0に設定
2.vSRX-01のインターフェイス(ge-0/0/5.0)をエリア1のNSSAエリアに設定
3.vSRX-02のインターフェイス(ge-0/0/4.0)をOSPFエリア0に設定
4.VSRX-03のインターフェイス(ge-0/0/4.0)をエリア1のNSSAエリアに設定
5.vSRX-03はインターフェイス(ge-0/0/6.0)でvSRX-04とeBGPピアの設定
6.vSRX-03はBGPで受信した経路をOSPFへ再配布するポリシー EX_BGP を設定
7.vSRX-03で EX_BGP をOSPF設定で適用

注釈

vSRX-04におけるBGPの設定はBGP設定のチュートリアルをご参照ください。

CLIにて入力するコマンド

[vSRX-01]
user01@vSRX-01# set protocols ospf area 0.0.0.0 interface ge-0/0/4.0
user01@vSRX-01# set protocols ospf area 0.0.0.1 nssa default-lsa default-metric 10
user01@vSRX-01# set protocols ospf area 0.0.0.1 interface ge-0/0/5.0
[vSRX-02]
user01@vSRX-02# set protocols ospf area 0.0.0.0 interface ge-0/0/4.0
[vSRX-03]
user01@vSRX-03# set routing-options autonomous-system 65100
user01@vSRX-03# set protocols bgp group EBGP type external
user01@vSRX-03# set protocols bgp group EBGP neighbor 10.0.40.2 peer-as 65200
user01@vSRX-03# set protocols ospf export EX_BGP
user01@vSRX-03# set protocols ospf area 0.0.0.1 nssa
user01@vSRX-03# set protocols ospf area 0.0.0.1 interface ge-0/0/4.0
user01@vSRX-03# set policy-options policy-statement EX_BGP term 1 from protocol bgp
user01@vSRX-03# set policy-options policy-statement EX_BGP term 1 then accept
user01@vSRX-03# set policy-options policy-statement EX_BGP term 2 then reject
[vSRX-04]
user01@vSRX-04# set routing-options static route 10.10.40.0/24 discard
user01@vSRX-04# set routing-options autonomous-system 65200
user01@vSRX-04# set protocols bgp group EBGP type external
user01@vSRX-04# set protocols bgp group EBGP export EX_BGP
user01@vSRX-04# set protocols bgp group EBGP neighbor 10.0.40.1 peer-as 65100
user01@vSRX-04# set policy-options policy-statement EX_BGP term 1 from protocol static
user01@vSRX-04# set policy-options policy-statement EX_BGP term 1 from route-filter 10.10.40.0/24 exact
user01@vSRX-04# set policy-options policy-statement EX_BGP term 1 then accept
user01@vSRX-04# set policy-options policy-statement EX_BGP term 2 then reject

正しく設定が完了したときのコンフィグレーションは次のとおりです。

[vSRX-01]
protocols {
    ospf {
        area 0.0.0.0 {
            interface ge-0/0/4.0;
        }
        area 0.0.0.1 {
            nssa {
                default-lsa default-metric 10;
            }
            interface ge-0/0/5.0;
        }
    }
}
[vSRX-02]
protocols {
    ospf {
        area 0.0.0.0 {
            interface ge-0/0/4.0;
        }
    }
}
[vSRX-03]
routing-options {
    autonomous-system 65100;
}
protocols {
    bgp {
        group EBGP {
            type external;
            neighbor 10.0.40.2 {
                peer-as 65200;
            }
        }
    }
    ospf {
        export EX_BGP;
        area 0.0.0.1 {
            nssa;
            interface ge-0/0/4.0;
        }
    }
}
policy-options {
    policy-statement EX_BGP {
        term 1 {
            from protocol bgp;
            then accept;
        }
        term 2 {
            then reject;
        }
    }
}
[vSRX-04]
routing-options {
    static {
        route 10.10.40.0/24 discard;
    }
    autonomous-system 65200;
}
protocols {
    bgp {
        group EBGP {
            type external;
            export EX_BGP;
            neighbor 10.0.40.1 {
                peer-as 65100;
            }
        }
    }
}
policy-options {
    policy-statement EX_BGP {
        term 1 {
            from {
                protocol static;
                route-filter 10.10.40.0/24 exact;
            }
            then accept;
        }
        term 2 {
            then reject;
        }
    }
}

動作確認結果

ログ確認結果より、vSRX-01とvSRX-03でエリア1がNSSAエリアに設定されていることが確認できました。 また、vSRX03で再配布された外部経路(10.10.40.0/24)がNSSAエリアのvSRX-01に配信されて外部経路としてvSRX-02でOSPF経路として確認できましたので、NSSAエリアが正しく設定できました。

vSRX-01,vSRX-03の「show ospf overview」結果よりエリア1がスタブエリアに設定されていることが確認できました。

user01@vSRX-01> show ospf overview
Instance: master
  Router ID: 10.1.1.1
  Route table index: 0
  Area border router, AS boundary router, NSSA router
  LSA refresh time: 50 minutes
  Area: 0.0.0.0
    Stub type: Not Stub
    Authentication Type: None
    Area border routers: 0, AS boundary routers: 0
    Neighbors
      Up (in full state): 1
  Area: 0.0.0.1
    Stub type: Stub NSSA, Stub cost: 10
    Authentication Type: None
    Area border routers: 0, AS boundary routers: 1
    Neighbors
      Up (in full state): 1
  Topology: default (ID 0)
    Prefix export count: 0
    Full SPF runs: 159
    SPF delay: 0.200000 sec, SPF holddown: 5 sec, SPF rapid runs: 3
    Backup SPF: Not Needed
user01@vSRX-03> show ospf overview
Instance: master
  Router ID: 10.3.3.3
  Route table index: 0
  AS boundary router, NSSA router
  LSA refresh time: 50 minutes
  Area: 0.0.0.1
    Stub type: Stub NSSA
    Authentication Type: None
    Area border routers: 1, AS boundary routers: 1
    Neighbors
      Up (in full state): 1
  Topology: default (ID 0)
    Prefix export count: 1
    Full SPF runs: 95
    SPF delay: 0.200000 sec, SPF holddown: 5 sec, SPF rapid runs: 3
    Backup SPF: Not Needed

vSRX-03の経路情報からvSRX-04からBGPで(10.10.40.0/24)を受信しており、またvSRX-01からデフォルトルートを受信できていることを確認しました。 vSRX-01,vSRX-02の経路情報出力結果から、vSRX-03からNSSAエリアへ再配布された経路(10.10.40.0/24)が受信できていることを確認できました。

user01@vSRX-01> show route protocol ospf

inet.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.10.40.0/24      *[OSPF/150] 00:04:47, metric 0, tag 0
                    > to 10.0.20.103 via ge-0/0/5.0
224.0.0.5/32       *[OSPF/10] 04:01:15, metric 1
                      MultiRecv
user01@vSRX-02> show route protocol ospf

inet.0: 14 destinations, 14 routes (14 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

10.0.20.0/24       *[OSPF/10] 00:04:24, metric 2
                    > to 10.0.10.101 via ge-0/0/4.0
10.10.40.0/24      *[OSPF/150] 00:04:24, metric 0, tag 0
                    > to 10.0.10.101 via ge-0/0/4.0
224.0.0.5/32       *[OSPF/10] 00:04:34, metric 1
                      MultiRecv
user01@vSRX-03> show route

inet.0: 17 destinations, 17 routes (17 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both

0.0.0.0/0          *[OSPF/150] 00:04:14, metric 11, tag 0
                    > to 10.0.20.101 via ge-0/0/4.0
10.0.0.0/24        *[Direct/0] 02:21:30
                    > via ge-0/0/0.0
10.0.0.103/32      *[Local/0] 02:21:30
                      Local via ge-0/0/0.0
10.0.10.0/24       *[OSPF/10] 00:04:31, metric 2
                   > to 10.0.20.101 via ge-0/0/4.0
10.0.20.0/24       *[Direct/0] 02:21:30
                    > via ge-0/0/4.0
10.0.20.103/32     *[Local/0] 02:21:30
                      Local via ge-0/0/4.0
10.0.30.103/32     *[Local/0] 02:21:30
                      Reject
10.0.40.0/30       *[Direct/0] 02:06:05
                    > via ge-0/0/6.0
10.0.40.1/32       *[Local/0] 02:06:05
                      Local via ge-0/0/6.0
10.10.40.0/24      *[BGP/170] 00:30:22, localpref 100
                      AS path: 65200 I, validation-state: unverified
                    > to 10.0.40.2 via ge-0/0/6.0
   (中略)
224.0.0.5/32       *[OSPF/10] 02:22:21, metric 1
                     MultiRecv