ルーティングポリシーの設定
RPKI 検証の設定が新しいものであれば、この章の方が使い慣れているので、リラックスできます。ポリシーを実装することで、顧客、ピア、およびトランザクションから受信したルートをフィルタリングし、拡張性に優れたフィルターを作成して、顧客、ピア、およびトランザクションへのルートをアドバタイズする方法について説明します。
インポートとエクスポートのポリシーはすでに有効で、追加の作業は必要ありません。そして 、おそらく同意します。しかし、ルートのフィルタリングを成功させる’ためにすでに行ったことがわかっているとしても、本章全体については、少し時間をかけてざっと目を通してください。お客様の時間に価値のある1つまたは2つのアイデアがここに記載されている場合があります。
ビルディングブロック: 基本的なフィルタリングルール
次に、他のポリシーによって参照されるポリシーについて説明します。お客様/ピア/伝送ごとに固有のものではなく、1回だけ定義する必要があります。
このセクションでは、実際のポリシーは示されていません。該当するプレフィックスリストとパスグループをカットアンドペーストして、この章の後のポリシーで使用することもできます。
Bogon 自律システム番号の拒否
BGP ルートアナウンスメントには、パスと呼ばれるフィールドが含まれています。これは、送信元の自律システム番号である宛先に到達するために、ルートアドバタイズを伝達するすべてのネットワークから構成される自律システム番号から成ります。
ルーティングテーブルに表示される AS パスは、各ネットワークがルートアドバタイズを伝達するたびに自動的に作成します。このパスには、独自の自律システム番号を付加します。最後に、ルーティングの決定に影響を与えるために、自律システム番号を手動で先頭に付加することができます。
RIRs によって割り当てられたパブリック自律システム番号に加えて、異なる目的に使用されるプライベート自律システム番号があります (プライベートピアリングは、RIR に割り当てられた自律システム番号を必要としないネットワークとの場合など)。
16ビット数に使用されるすべての自律システム番号 (0 から最大65535まで)。しかし、これらの日数は、32ビット自律システム番号が広くサポートされています。さまざまなタイプの自律システム num-bers は、以下のとおりです。
0: た
1 ~ 64495: パブリック自律システム番号
64496 ~ 64511: ドキュメントで使用するために予約済み
64512 ~ 65534: プライベート自律システム番号
65,535: た
42億 ~ 4294967294: 32ビットプライベート自律システム番号
プライベート自律システム番号のよく使用されるのは、上位ネットワークとの BGP セッションを確立するために、RIR によって割り当てられた自律システム番号を持たないネットワークの場合、このような数字がプライベートの自律システム番号リストからのものであるためです。この場合、誤りを簡単にすることができます。プライベートな自律システム番号は、「path」として公開されるようになっています。また、ネットワーク事業者が、希望する自律システム番号を誤って間違えて、受け取ったパスを汚染することもあります。そのため、プライベートまたは予約された自律システム番号を含むルートアドバタイズを拒否する必要があります。
Bogon 自律システム番号は、Rfc で定義されています。以下のリストは、どの RFC が bogon 自律システム番号を記述しているかを正確に示しています。そのため、特定の autono mous システム番号がセキュアルーティングテーブルに含まれていてはいけない理由については、該当する RFC を参照してください。
を定義 as-path
bogon 自律システム番号をリストするグループ:
policy-options {
as-path-group BOGON-ASNS {
/* RFC7607 */
as-path zero ".* 0 .*";
/* RFC 4893 AS_TRANS */
as-path as_trans ".* 23456 .*";
/* RFC 5398 and documentation/example ASNs */ as-path examples1
".* [64496-64511] .*";
as-path examples2 ".* [65536-65551] .*";
/* RFC 6996 Private ASNs*/
as-path reserved1 ".* [64512-65534] .*";
as-path reserved2 ".* [4200000000-4294967294] .*"; /* RFC
6996 Last 16 and 32 bit ASNs */
as-path last16 ".* 65535 .*";
as-path last32 ".* 4294967295 .*";
/* RFC IANA reserved ASNs*/
as-path iana-reserved ".* [65552-131071] .*";
}
}
そのためには、以下のコマンドを入力します。
set policy-options as-path-group BOGON-ASNS as-path zero
".* 0 .*"
set policy-options as-path-group BOGON-ASNS as-path as_trans
".* 23456 .*"
set policy-options as-path-group BOGON-ASNS as-path examples1
".* [64496-64511] .*"
set policy-options as-path-group BOGON-ASNS as-path examples2
".* [65536-65551] .*"
set policy-options as-path-group BOGON-ASNS as-path reserved1
".* [64512-65534] .*"
set policy-options as-path-group BOGON-ASNS as-path reserved2
".* [4200000000-4294967294] .*"
set policy-options as-path-group BOGON-ASNS as-path last16
".* 65535 .*"
set policy-options as-path-group BOGON-ASNS as-path last32
".* 4294967295 .*"
set policy-options as-path-group BOGON-ASNS as-path iana-reserved
".* [65552-131071] .*"
これはまだ実際のポリシーではないことに注意してください。これらのプレフィックスリストを呼び出すポリシーを取得しています。そのため、いくつかの段落をお読みください。
このポリシーを使用すると、ルーターは外部から受信したルートにフィルターを適用します。これには、プライベート自律システム番号が含まれる場合があります。ネットワークからのプライベートな自律システム番号の通知 (送信) を回避するために、dfz オペレーションでは remove-private
EBGP セッションのオプションです。
たとえば、以下のように記述します。
set protocols bgp group ext type external
set protocols bgp group ext neighbor 192.168.10.1 peer-as
65530
set protocols bgp group ext neighbor 192.168.20.1 remove-private
set protocols bgp group ext neighbor 192.168.20.1 peer-as
200
すべての EBGP セッションでこのオプションが設定されていることを確認してください。
Bogon 接頭辞の拒否
Bogon プレフィックスは、内部使用 (RFC 1918)、テストネットワーク (RFC 4737)、マルチキャスト、その他の内部目的において、グローバルルーティングテーブルに表示されてはなりません。したがって、これらのプリフィックスは決して受け入れたり、DFZ に提供するべきではありません。
プレフィックスリストを作成するには、以下の手順に従います。
policy-options { prefix-list BOGONS {
0.0.0.0/8;
10.0.0.0/8;
100.64.0.0/10;
127.0.0.0/8;
169.254.0.0/16;
172.16.0.0/12;
192.0.0.0/24
192.0.2.0/24;
192.88.99.0/24;
192.168.0.0/16;
198.18.0.0/15;
198.51.100.0/24;
203.0.113.0/24;
224.0.0.0/3;
}
そのためには、以下のコマンドを入力します。
set policy-options prefix-list BOGONS 0.0.0.0/8
set policy-options prefix-list BOGONS 10.0.0.0/8
set policy-options prefix-list BOGONS 100.64.0.0/10
set policy-options prefix-list BOGONS 127.0.0.0/8
set policy-options prefix-list BOGONS 169.254.0.0/16
set policy-options prefix-list BOGONS 172.16.0.0/12
set policy-options prefix-list BOGONS 192.0.0.0/24
set policy-options prefix-list BOGONS 192.0.2.0/24
set policy-options prefix-list BOGONS 192.88.99.0/24
set policy-options prefix-list BOGONS 192.168.0.0/16
set policy-options prefix-list BOGONS 198.18.0.0/15
set policy-options prefix-list BOGONS 198.51.100.0/24
set policy-options prefix-list BOGONS 203.0.113.0/24
set policy-options prefix-list BOGONS 224.0.0.0/3
IPv6 コマンドの場合も同様です。
set policy-options prefix-list BOGONS-INET6 0000::/8
set policy-options prefix-list BOGONS-INET6 fe00::/9
set policy-options prefix-list BOGONS-INET6 ff00::/8
set policy-options prefix-list BOGONS-INET6 2001:db8::/32
set policy-options prefix-list BOGONS-INET6 3ffe::/16
set policy-options prefix-list BOGONS-INET6 2001::/32
これらのプレフィックスリストを呼び出すポリシーを取得していますが、その他にもいくつかのパラグラフがあります。
長いプレフィックスを拒否
DFZ のグローバルルーティングテーブルは毎日拡張され、より多くのネットワークのプリフィックスの通知を開始しています。原則として、どのような長さ–のルートであっても、(1 つの IPv4 アドレスの場合は)/32 のルートを使用することで、問題が発生することはありません。しかし、ルーティングテーブルの制御されない成長は持続的ではありません (すべての IPv4 スペースが/32 としてアナウンスされた場合には、DFZ がどれだけ大きくなるかを計算するだけです)。多くのネットワークは、プレフィックス長でフィルタリングを開始しています。
通常、このお知らせは、/25 以上の接頭辞 (128 IPv4 アドレスのサブネット) を発表すると、削除されることを期待できます。次のポリシーでは、ネットワークが同じように設定されるので、このような pesky のリトル’/28 および32ルートは、すべてをリブにすることはできません。同様に、境界を/48 サブネットに配置した IPv6 にも適用されます。
このような長いプレフィックスのルートを選別するためのポリシーは、この章の後半で説明します。次の2つのステップで構成されています。呼び出される汎用ポリシーは、十分な長さのプレフィックスのみを返し、このリストを取得して、その一覧から関連ルートのみをフィルタリングするポリシーになります。
長さをパスとして拒否
ルート’上の各ネットワークでは、as path が“自動的”に作成され、独自の自律システム番号が、アドバタイズされたルートの正面に追加されるようになりました。デフォルトでは、BGP 最短パスを検索するため、ネットワークで使用しているアクティブなルートのほとんどは、1-6 自律システム番号としてのみのパスを持つことになります。場合によっては、パスが長くなることがあります。その後、手動でパスを先頭に (トラフィックエンジニアリングの基準として)、テーブルに長いパスが表示されるようになります。しかし、一般的に言えば、1 ~ 12 個の自律システム番号より長い AS path は、役に立たないと考えられます。このような「long AS」というパスが表示された場合は、ネットワーク管理者がこのガイドのコピーを必要としている可能性があります。
パスとして非常に長いのが最も一般的な理由は、その前に付加されます。必要に応じて、先頭に 2 ~ 3 回の固有の自律システム番号を使用して、ルートに影響を与える良い方法であると考えられます。しかし、それ以上には意味’がありません。この本の執筆時点では、DFZ には、AS パスの長さが約40の自律システム番号であるプレフィックスがいくつかあります。これは非常に良くわからないということです。’Deserving は安全なマージンを確保し、50以上のパスを持つすべてのものを考慮して、安全なルーティングテーブルでは役に立たず、を除外することを検討しています。
いつものように、まずフィルターを適用する対象を定義します。
set policy-options as-path too-many-hops ".{50,}"
その後、この定義を呼び出すポリシーについてご確認ください。あと1つの構成要素になります。
既知の転送または非常に大規模なネットワーク自律システム番号を含むルートを拒否します。
世界最大規模のネットワークは (主に階層“1”と呼ばれています)、お互いに、また“は小規模な”(tier 2) ネットワークから伝送を購入することはありません。たとえば、顧客や相手が AS path で AS2914 (NTT) または AS1299 (Telia) を使用してルートを送信し始めた場合、非常に奇妙になるかもしれません。NT t や Telia がお客様から転送を購入したということはほとんどありません。したがって、インポートポリシーには、その中の“大きな名前”の AS 番号を持つルートを拒否するパスフィルターも含まれています。お客様や同僚から合法的なものを受信する場合は、このガイドの対象読者ではないと考えられます。
Facebook、Google、Microsoft、Cloudflare など、その他の大規模ネットワークでも同じことが言えます。彼らは、おそらく同業者から輸送を購入していないので、ピアからルートを受け取った場合、 fishyが発生していることが必要になります。それでは、このような’ルートを使用していないことがわかったのはなぜでしょうか。
まず、AS’path group を定義してみましょう。
set policy-options as-path-group BIGNETWORKS as-path 174
".* 174 .*"
set policy-options as-path-group BIGNETWORKS as-path 209
".* 209 .*"
set policy-options as-path-group BIGNETWORKS as-path 286
".* 286 .*"
set policy-options as-path-group BIGNETWORKS as-path 701
".* 701 .*"
set policy-options as-path-group BIGNETWORKS as-path 702
".* 702 .*"
set policy-options as-path-group BIGNETWORKS as-path 703
".* 703 .*"
set policy-options as-path-group BIGNETWORKS as-path 714
".* 714 .*"
set policy-options as-path-group BIGNETWORKS as-path 1239
".* 1239 .*"
set policy-options as-path-group BIGNETWORKS as-path 1299
".* 1299 .*"
set policy-options as-path-group BIGNETWORKS as-path 2828
".* 2828 .*"
set policy-options as-path-group BIGNETWORKS as-path 2906
".* 2906 .*"
set policy-options as-path-group BIGNETWORKS as-path 2914
".* 2914 .*"
set policy-options as-path-group BIGNETWORKS as-path 3209
".* 3209 .*"
set policy-options as-path-group BIGNETWORKS as-path 3257
".* 3257 .*"
set policy-options as-path-group BIGNETWORKS as-path 3320
".* 3320 .*"
set policy-options as-path-group BIGNETWORKS as-path 3356
".* 3356 .*"
set policy-options as-path-group BIGNETWORKS as-path 3549
".* 3549 .*"
set policy-options as-path-group BIGNETWORKS as-path 3561
".* 3561 .*"
set policy-options as-path-group BIGNETWORKS as-path 5511
".* 5511 .*"
set policy-options as-path-group BIGNETWORKS as-path 6453
".* 6453 .*"
set policy-options as-path-group BIGNETWORKS as-path 6461
".* 6461 .*"
set policy-options as-path-group BIGNETWORKS as-path 6762
".* 6762 .*"
set policy-options as-path-group BIGNETWORKS as-path 7018
".* 7018 .*"
set policy-options as-path-group BIGNETWORKS as-path 8075
".* 8075 .*"
set policy-options as-path-group BIGNETWORKS as-path 12956
".* 12956 .*"
set policy-options as-path-group BIGNETWORKS as-path 13335
".* 13335 .*"
set policy-options as-path-group BIGNETWORKS as-path 15169
".* 15169 .*"
set policy-options as-path-group BIGNETWORKS as-path 16509
".* 16509 .*"
set policy-options as-path-group BIGNETWORKS as-path 32934
".* 32934 .*"
このポリシーをパスグループとして使用’することで、お客様や同僚が誤って漏洩しているルートを受け入れるのを防ぐことができます。これが大きな図にどのように対応するかについては後ほど紹介します。
このポリシーは、お客様とピア BGP セッションにのみ追加してください (転送する必要はありません)。また、最終的には、非常に小規模なルーティングテーブルを使用することになります。
Noteビッグネットワークのリストは推奨事項に過ぎません。リストの改善を検討している方は、次のようなことをお勧めします。http://as-rank.caida.org/.
Noteこのガイドの範囲を超えて実行する場合、またはダウンストリームの顧客がネットワークに接続するために BGP セッションを使用している場合、またはその両方が必要な場合は、次の2つの機能を実装できます。
グレースフル BGP セッションのシャットダウン:https://tools.ietf.org/html/rfc8326. グレースフルシャットダウンによって、顧客、ピア、または保守が行われたことを伝える事前警告にネットワークが応答します。そのようなメンテナンスで発生するダウンタイムを最小限に抑えることができます。この方法の詳細については、以下の場所でご確認ください。http://bgpfilterguide.nlnog.net/guides/graceful_shutdown/.
よく知られた Blackhole コミュニティー:https://tools.ietf.org/html/rfc7999. よく知られた Blackhole コミュニティーは、独自のプレフィックス内の宛先プレフィックスへの Blackhole (null ルート) トラフィックを顧客に提供します。これは、DDoS 攻撃があった場合に便利です。これにより、すべてのトラフィックが被害者に落下されます (DDoS 攻撃は成功します) が、少なくともネットワークの残りの部分はオンラインで維持されます。
剰余を拒否
デフォルトでは、BGP の Junos OS 実装の最後のアクションは、ポリシーの後に残されたものすべてを許可することです。Https://tools.ietf.org/html/rfc8212 で定義されているように、将来においてデフォルトの動作を設定して、準拠した BGP 状態を維持することができるようになります。しかし、本書を執筆する時点では、RFC8212’は実装されていませんでした。その後、その他のポリシーを却下するために、適切な方針を持っていることをご確認ください。
次のようなポリシーを定義して、表示されたすべてのルートを単純に拒否します。
policy-options {
policy-statement REJECT-ALL {
}
}
または、切り取りと貼り付けのコマンドでは以下のようになります。
set policy-options policy-statement REJECT-ALL then reject
このポリシーは、ポリシーチェーンの最後に行われるプロトコル (BGP) に依存しないように、明示的な拒否を作成するために後で使用されます。設定を明確かつ明確にすることをお勧めします (最も人気のあるネットワーク管理者が午前4時にネットワーク停止のトラブルシューティングを行う必要があると考えてください)。
顧客ルートのフィルタリング
最後に、’実際のルーティングポリシーを設定しましょう。まず、顧客’から受信するルートをフィルタリングする方法と、デフォルトルートと完全なテーブルシナリオの両方で顧客へのルートを知らせるポリシーを設定する方法について見てみましょう。
顧客からのルートの受け入れ
お客様から許可されたルートを確認することは、ネットワークにおいて最も重要な構成です。最終的には、顧客’のルートを他の人に伝える必要があります。このよう–’なお知らせは、すっきりとして、正しいルーティング情報だけが含まれている必要があります。’この場合、ルートのみをクリアすることから開始します。その後、インターネットを停止させなければならないことを心配する必要があります。
顧客から受信したルートをフィルタリングするために使用するルーティングポリシーには、お客様が提供を許可されている接頭番号のリストが含まれています。この例では、プレフィックスリストを手動で設定しています’が、付録では、プレフィックスリストを自動更新する方法をご紹介します。このガイドを完了した後、顧客’のルートをフィルタリングするためにこの構成を使用’しても、ルーティングテーブルが安全になるように、自動プレフィックスリスト更新を実装することを忘れないでください。
以下の設定では、お’客様の192.0.2.0 が番号であることを前提としています。また、そのような場合は、123/24 と 2001: db8::/32 を発表します。また、所有者の番号は456であると仮定しています。
policy-options {
prefix-list AS123 {
}
prefix-list AS123-INET6 {
}
}
これらを設定するには、次のように入力します。
set policy-options prefix-list AS123 192.0.2.0/24
set policy-options prefix-list AS123-INET6 2001:db8::/32
さらに、ポリシー’によって使用される2つの BGP コミュニティーと、後で必要となる1つのコミュニティを作成してみましょう。
policy-options {
community RFC-NO-EXPORT members no-export;
community MYCUSTOMER members 456:9999;
community MYROUTES members 456:456;
}
set policy-options community RFC-NO-EXPORT members no-export
set policy-options community MYCUSTOMER members 456:9999
set policy-options community MYROUTES members 456:456
破棄‘されたアンカールート’を作成してプリフィックスを発行する場合、このコミュニティを関連づけることができます。
routing-options {
rib inet.0 {
static {
route 192.0.2.0/24 {
discard;
community 456:456;
}
}
}
}
これで、顧客’のルートを実際に受け入れるポリシーになります。そのためには、完全なプレフィックスを承諾することから開始されます。 prefix-list
:
policy-options {
policy-statement IMPORT-123 {
term INET {
from {
prefix-list-filter AS123 exact;
}
then {
community add MYCUSTOMER;
accept;
}
}
}
}
これを構成するには、以下のように入力します。
set policy-options policy-statement IMPORT-123 term INET
from prefix-list-filter AS123 exact
set policy-options policy-statement IMPORT-123 term INET
then community add MYCUSTOMER
set policy-options policy-statement IMPORT-123 term INET
then accept
このポリシーは、すべてのお客様に固有の BGP ています。すべての接頭番号は、各 BGP のお客様にとって独自のものとして挙げられます。このインポートポリシーを BGP セッションに適用するには、インポートポリシーチェーンで顧客との連携を行います。
BGP コミュニティーを追加しました。 MYCUSTOMER
顧客から受け入れられるルートへこれにより、後でこれらのルートを簡単にエクスポートできるようになります。
次に、顧客はより具体的な接頭語を伝えることができます。たとえば、接頭辞リストエントリーには/22 が定義されている場合がありますが、お客様に対しては、最大でも24を発表することを希望しています。簡単に使用 prefix-list-filter AS123 orlonger
’お客様が最大で32を発表できるようになるため、機能しません。まず、最大/24 までのルートを許可するポリシーを作成し、それをポリシーと組み合わせることで、顧客のプレフィックスリスト内にある場合、これらのルートを許可します。
policy-options {
policy-statement MORE-SPECIFIC-UPTO-24 {
term INET {
from {
family inet;
route-filter 0.0.0.0/0 upto /24;
}
}
}
policy-statement IMPORT-123 {
term MORE-SPECIFIC {
from {
policy MORE-SPECIFIC-UPTO-24;
prefix-list-filter AS123 orlonger;
}
then {
community add MYCUSTOMER
accept;
}
}
}
}
ことに注意してください policy-statement MORE-SPECIFIC-UPTO-24
汎用–とは、ルーター上で1回だけ構成され、すべてのお客様に使用されることを示しています。こちらの policy-statement IMPORT-123
は、各顧客に固有のものであり、顧客ごとに1回設定する必要があります。
これらのポリシーを設定するには、以下のように入力します。
set policy-options policy-statement MORE-SPECIFIC-UPTO-24
term INET from family inet
set policy-options policy-statement MORE-SPECIFIC-UPTO-24
term INET from route-filter 0.0.0.0/0 upto /24
set policy-options policy-statement MORE-SPECIFIC-UPTO-24
term INET then accept
set policy-options policy-statement MORE-SPECIFIC-UPTO-24
term REJECT then reject
set policy-options policy-statement IMPORT-123 term MORE-SPECIFIC-INET
from policy MORE-SPECIFIC-UPTO-24
set policy-options policy-statement IMPORT-123 term MORE-SPECIFIC-INET
from prefix-list-filter AS123 orlonger
set policy-options policy-statement IMPORT-123 term MORE-SPECIFIC-INET
then community add MYCUSTOMER
set policy-options policy-statement IMPORT-123 term MORE-SPECIFIC-INET
then accept
ポリシーの MORE-SPECIFIC-UPTO-24
1回だけ定義する必要があります。顧客’の AS または接頭辞は、このポリシーで参照されるわけではありません。ポリシーの IMPORT-123
顧客ごとに1回定義する必要があります。ただし、
IPv6 ポリシーには、まったく同じロジックが適用されます。これには、最大/48 のルートを受け付けることができます。
policy-options {
policy-statement IMPORT-123-INET6 {
term INET6 {
from {
prefix-list-filter AS123-INET6 exact;
}
then {
community add MYCUSTOMER
accept;
}
policy-statement MORE-SPECIFIC-UPTO-48-INET6 {
term INET6 {
from {
family inet6;
route-filter ::/0 upto /48;
}
}
policy-statement IMPORT-123-INET6 {
term MORE-SPECIFIC-INET6 {
from {
policy MORE-SPECIFIC-UPTO-48-INET6;
prefix-list-filter AS123-INET6 orlonger;
}
then {
community add MYCUSTOMER;
accept;
}
}
}
}
これを構成するには、以下のように入力します。
set policy-options policy-statement MORE-SPECIFIC-UPTO-48-INET6
term INET6 from family inet6
set policy-options policy-statement MORE-SPECIFIC-UPTO-48-INET6
term INET6 from route-filter ::/0 upto /48
set policy-options policy-statement MORE-SPECIFIC-UPTO-48-INET6
term INET6 then accept
set policy-options policy-statement MORE-SPECIFIC-UPTO-48-INET6
term REJECT then reject
set policy-options policy-statement IMPORT-123-INET6 term
MORE-SPECIFIC-INET6 from policy MORE-SPECIFIC-UPTO-48-INET6
set policy-options policy-statement IMPORT-123-INET6 term
MORE-SPECIFIC-INET6 from prefix-list-filter AS123-INET6 orlonger
set policy-options policy-statement IMPORT-123-INET6 term
MORE-SPECIFIC-INET6 then community add MYCUSTOMER
set policy-options policy-statement IMPORT-123-INET6 term
MORE-SPECIFIC-INET6 then accept
IPv4 ポリシーと同様に、ポリシー MORE-SPECIFIC-UPTO-48-INET6
1回だけ定義する必要があります。顧客’の AS または接頭辞は、このポリシーで参照されるわけではありません。ポリシーの IMPORT-123-INET6
顧客ごとに1回定義する必要があります。ただし、
最後に、お客様がさらに具体的なルート–を、a/24 よりも詳細に通知するように選択することもできます。これらのルートを使用してトラフィックエンジニアリングを行うことができます。ネットワークで実行することもできますが、他のお客様やピア、またはその他の顧客に対して発表することはできません。このような理由で、これらを受け入れても、よく知られているものを追加します。“NO-EXPORT
”BGP コミュニティー:
policy-options {
policy-statement IMPORT-123 {
term MOST-SPECIFIC-INET {
from {
prefix-list-filter AS123 orlonger;
}
then{
community add RFC-NO-EXPORT;
accept;
}
}
}
}
これを構成するには、以下のように入力します。
set policy-options policy-statement IMPORT-123 term MOST-SPECIFIC-INET
from prefix-list-filter AS123 longer
set policy-options policy-statement IMPORT-123 term MOST-SPECIFIC-INET
then community add RFC-NO-EXPORT
set policy-options policy-statement IMPORT-123 term MOST-SPECIFIC-INET
then accept
IPv6 の場合:
policy-options {
policy-statement IMPORT-123-INET6 {
term MOST-SPECIFIC-INET6 {
from {
prefix-list-filter AS123 -INET6 orlonger;
}
then{
community add RFC-NO-EXPORT;
accept;
}
}
}
}
これを構成するには、以下のように入力します。
set policy-options policy-statement IMPORT-123-INET6 term
MOST-SPECIFIC-INET6 from prefix-list-filter AS123-INET6 longer
set policy-options policy-statement IMPORT-123-INET6 term
MOST-SPECIFIC-INET6 then community add RFC-NO-EXPORT
set policy-options policy-statement IMPORT-123-INET6 term
MOST-SPECIFIC-INET6 then accept
顧客’のルート’に対してインポートポリシーを定義したので、最終的な reject
お客様が発表できないルートを拒否するポリシーがあります。’ここでは、お客様からのルートのインポートに使用するポリシー全体を修正してい–ます。
policy-options {
policy-statement TRANSIT-CUSTOMER-GENERIC {
term DEFAULT-INET {
from {
family inet;
route-filter 0.0.0.0/0 exact;
}
then reject;
}
term DEFAULT-INET6 {
from {
family inet6;
route-filter ::/0 exact;
}
then reject;
}
term BOGONS-INET {
from {
family inet;
prefix-list-filter BOGONS orlonger;
}
then reject;
}
term BOGONS-INET6
from {
family inet6;
prefix-list-filter BOGONS-INET6 orlonger;
}
then reject;
}
t erm BOGON-ASNS {
from as-path-group BOGON-ASNS;
then reject;
}
term BIGNETWORKS {
from as-path-group BIGNETWORKS;
then reject;
}
term RPKI-INVALID {
from community origin-validation-state-invalid;
then reject;
}
term NORMALIZE {
then {
local-preference 500;
next term;
}
}
}
}
policy-options {
policy-statement IMPORT-CUSTOMER-AS123 {
term INET {
from {
prefix-list-filter AS123 exact;
}
then {
community add MYCUSTOMER;
accept;
}
}
term INET6 {
from {
prefix-list-filter AS123-INET6 exact;
}
then {
community add MYCUSTOMER;
accept;
}
}
term MORE-SPECIFIC-INET {
from {
policy MORE-SPECIFIC-UPTO-24;
prefix-list-filter AS123 orlonger;
}
then {
community add MYCUSTOMER;
accept;
}
}
term MORE-SPECIFIC-INET6 {
from {
policy MORE-SPECIFIC-UPTO-48;
prefix-list-filter AS123-INET6 orlonger;
}
then {
community add MYCUSTOMER;
accept;
}
}
term MOST-SPECIFIC-INET {
from {
prefix-list-filter AS123 orlonger;
}
then {
community add RFC-NO-EXPORT; ;
accept;
}
}
term MOST-SPECIFIC-INET6 {
from {
prefix-list-filter AS123-INET6 orlonger;
}
then {
community add RFC-NO-EXPORT; ;
accept;
}
}
}
}
policy-options {
policy-statement REJECT-ALL { then reject;
}
}
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term DEFAULT-INET from family inet
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term DEFAULT-INET from route-filter 0.0.0.0/0 exact
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term DEFAULT-INET then reject
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term DEFAULT-INET6 from family inet6
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term DEFAULT-INET6 from route-filter ::/0 exact
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term DEFAULT-INET6 then reject
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term BOGONS-INET from family inet
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term BOGONS-INET from prefix-list-filter BOGONS orlonger
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term BOGONS-INET then reject
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term BOGONS-INET6 from family inet6
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term BOGONS-INET6 from prefix-list-filter BOGONS-INET6 orlonger
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term BOGONS-INET6 then reject
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term BOGON-ASNS from as-path-group BOGON-ASNS
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term BOGON-ASNS then reject
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term BIGNETWORKS from as-path-group BIGNETWORKS
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term BIGNETWORKS then reject
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term RPKI-CHECK from policy RPKI-CHECK
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term RPKI-INVALID from community origin-validation-state-invalid
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term RPKI-INVALID then reject
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term NORMALIZE then local-preference 500
set policy-options policy-statement TRANSIT-CUSTOMER-GENERIC
term NORMALIZE then next term
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term INET from prefix-list-filter AS123 exact
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term INET then community add MYCUSTOMER
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term INET then accept
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term INET6 from prefix-list-filter AS123-INET6 exact
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term INET6 then community add MYCUSTOMER
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term INET6 then accept
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MORE-SPECIFIC-INET from policy MORE-SPECIFIC-UPTO-25
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MORE-SPECIFIC-INET from prefix-list-filter AS123 orlonger
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MORE-SPECIFIC-INET then community add MYCUSTOMER
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MORE-SPECIFIC-INET then accept
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MORE-SPECIFIC-INET6 from policy MORE-SPECIFIC-UPTO-48
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MORE-SPECIFIC-INET6 from prefix-list-filter AS123-INET6 orlonger
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MORE-SPECIFIC-INET6 then community add MYCUSTOMER
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MORE-SPECIFIC-INET6 then accept
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MOST-SPECIFIC-INET from prefix-list-filter AS123 orlonger
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MOST-SPECIFIC-INET then community add RFC-NO-EXPORT
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MOST-SPECIFIC-INET then accept
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MOST-SPECIFIC-INET6 from prefix-list-filter AS123-INET6 orlonger
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MOST-SPECIFIC-INET6 then community add RFC-NO-EXPORT
set policy-options policy-statement IMPORT-CUSTOMER-AS123
term MOST-SPECIFIC-INET6 then accept
set policy-options policy-statement REJECT-ALL then reject
BGP 構成
顧客ルートのインポートの最後の構成では、ポリシーを顧客との BGP セッションのインポートポリシーとして設定します。第1のポリシーは TRANSIT-CUSTOMER-GENERIC
はジェネリックであり、一度だけ定義する必要があります。2つ目のポリシーは、固有のものです。顧客ごとに3つのポリシーが連結されています。
不要なルートを拒否する汎用ポリシー。
顧客’のルートを受け入れる顧客固有のポリシー。
それ以外のすべてを拒否する最終的な拒否ポリシー。
例えば:
group CUST-AS123 {
type external;
import [ TRANSIT-CUSTOMER-GENERIC IMPORT-CUSTOMER-AS123
REJECT-ALL ];
export [ EXPORT-FULL-TABLE REJECT-ALL];
remove-private;
peer-as 123;
neighbor 1.2.3.4;
}
もう1つの顧客は以下のようになります。
group CUST-AS456 {
type external;
import [ TRANSIT-CUSTOMER-GENERIC IMPORT-CUSTOMER-AS456
REJECT-ALL ];
export [ EXPORT-FULL-TABLE REJECT-ALL];
remove-private; peer-as 456;
neighbor 5.6.7.8;
}
お客様へのルートの発表
顧客はネットワーク’のルートを受信します。これにより、ネットワークを使用してトラフィックを送信できます。これは、完全なテーブルまたはデフォルトルートのどちらでもかまいません。顧客にデフォルトルートを送付する場合は、廃棄デフォルトルートを作成して、生成する必要があります。
Note以下のカットアンドペーストのコマンドを使用して、デフォルトルートをお客様に発表していますが、最初にデフォルトルートを設定する必要があります。伝送プロバイダからの処理を受け付けるとしても、目的に適していない場合があります。また、デフォルトルートを生成すると、(デフォルトルートによって、IGP 経由ですべてのルーターに対して適用されることに注意してください) ネットワークに悪影響を与える可能性があります。したがって、これは慎重に検討してください。ここでは、ネットワークにデフォルトルートを生成するためのカットアンドペーストコマンドは含まれていません。
テーブル全体とデフォルトルートのエクスポートの例をお読みになり、完全なテーブルとデフォルトルートを受信したいという顧客に対して、ポリシー catering を簡単に作成できるようになるはずです。
お客様への完全なテーブルの発表
テーブル全体を送信するためのポリシーは、見かけよりも複雑です。ルートをドロップする必要があります。 NO-EXPORT
たとえば、コミュニティーです。’さらに、自社のネットワーク–が非常によく発生する間違いが発生したルートを受け入れるという用語を追加することは、実際の路線を含めず、ebgp (デフォルト BGP の動作) で学習したルートのみを送信することを忘れてはなりません。
policy-statement EXPORT-FULL-TABLE {
term DENY {
from community RFC-NO-EXPORT;
then reject;
}
term EXPORT-ORIGINATES {
from community MYROUTES;
then accept;
}
}
または、カットアンドペースト形式では以下のようになります。
set policy-options policy-statement EXPORT-FULL-TABLE term
DENY from community RFC-NO-EXPORT
set policy-options policy-statement EXPORT-FULL-TABLE term
DENY then reject
set policy-options policy-statement EXPORT-FULL-TABLE term
EXPORT-ORIGINATES from community MYROUTES
set policy-options policy-statement EXPORT-FULL-TABLE term
EXPORT-ORIGINATES then accept
set policy-options policy-statement EXPORT-FULL-TABLE term
EXPORT-BGP from protocol bgp
set policy-options policy-statement EXPORT-FULL-TABLE term
EXPORT-BGP then accept
デフォルトのお客様への発表
デフォルトルートをお客様に送信するためのポリシーは簡単です。
policy-statement EXPORT-DEFAULT {
term INET-DEFAULT {
from {
family inet;
route-filter 0.0.0.0/0 exact;
}
}
term INET6-DEFAULT {
from {
family inet6;
route-filter ::/0 exact;
}
}
}
または、切り取りと貼り付けのコマンドでは以下のようになります。
set policy-options policy-statement EXPORT-DEFAULT term
INET-DEFAULT from family inet
set policy-options policy-statement EXPORT-DEFAULT term
INET-DEFAULT from route-filter 0.0.0.0/0 exact
set policy-options policy-statement EXPORT-DEFAULT term
INET-DEFAULT then accept
set policy-options policy-statement EXPORT-DEFAULT term
INET6-DEFAULT from family inet6
set policy-options policy-statement EXPORT-DEFAULT term
INET6-DEFAULT from route-filter ::/0 exact
set policy-options policy-statement EXPORT-DEFAULT term
INET6-DEFAULT then accept
これは、ネットワークにすでにデフォルトルートがある場合に有効です。上記の警告をお持ちでない’場合は、そのことを忘れないでください。
BGP 構成
ルートを顧客にエクスポートするための最後の構成は、ポリシーを顧客との BGP セッションでのエクスポートポリシーとして設定することです。すべてのエクスポートポリシーは汎用であり、一度だけ定義する必要があります。お客様ごとに、次の2つのポリシーが連結されています。
デフォルトまたは完全なテーブルルートのどちらかを受け付ける汎用ポリシー。
それ以外のすべてを拒否する最終的な拒否ポリシー。
例えば:
group CUST-AS123 {
type external;
import [ TRANSIT-CUSTOMER-GENERIC IMPORT-CUSTOMER-AS123
REJECT-ALL ];
export [ EXPORT-FULL-TABLE REJECT-ALL];
remove-private;
peer-as 123;
neighbor 1.2.3.4;
}
もう1つの顧客は以下のようになります。
group CUST-AS456 {
type external;
import [ TRANSIT-CUSTOMER-GENERIC IMPORT-CUSTOMER-AS456
REJECT-ALL ];
export [ EXPORT-DEFAULT REJECT-ALL ];
remove-private; peer-as 456;
neighbor 5.6.7.8;
}
ピアリングルートのフィルタリング
ピアのポリシーは、顧客にとってはほとんど変わりませんが、それほどではありません。ピアについては、顧客と同じルートを拒否し、(自動的なプレフィックスフィルタリングが実装されている場合は) そのルートをセット内で受け入れます。もちろん、デフォルトルート、RPKI invalids、パス、および bogons は拒否されます。主な変更には、異なるローカル設定 (顧客ルートよりも低い) を使用し、ピアルートをエクスポートするための BGP コミュニティーを追加せず、/24 より長いプレフィックスを許可しないものがあります。
ピアからのルートの受け付け
これは、ピアからルートをインポートするポリシーステートメント全体を示しています。
policy-options {
policy-statement PEER-GENERIC {
term DEFAULT-INET {
from {
family inet;
route-filter 0.0.0.0/0 exact;
}
}
term DEFAULT-INET6 {
from {
family inet6;
route-filter ::/0 exact;
}
}
term BOGONS-INET {
from {
family inet;
prefix-list-filter BOGONS orlonger;
}
}
term BOGONS-INET6 {
from {
family inet6;
prefix-list-filter BOGONS-INET6 orlonger;
}
}
term BOGON-ASNS {
from as-path-group BOGON-ASNS;
then reject;
}
term BIGNETWORKS{
from as-path-group BIGNETWORKS;
then reject;
}
term RPKI-INVALID {
from community origin-validation-state-invalid;
then reject;
}
term NORMALIZE {
then {
local-preference 200;
next term;
}
}
}
}
policy-options {
policy-statement IMPORT-PEER-AS789 {
term INET {
from {
prefix-list-filter AS789 exact;
# if you have automatic filter generation
}
}
term INET6 {
from {
prefix-list-filter AS789-INET6 exact;
# if you have automatic filter generation
}
}
term MORE-SPECIFIC-INET {
from {
policy MORE-SPECIFIC-UPTO-24;
prefix-list-filter AS789 orlonger;
# if you have automatic filter generation
}
}
term MORE-SPECIFIC-INET6 {
from {
policy MORE-SPECIFIC-UPTO-48;
prefix-list-filter AS789-INET6 orlonger;
# if you have automatic filter generation
}
}
}
}
policy-options {
policy-statement REJECT-ALL {
}
}
または、カットアンドペースト形式では以下のようになります。
set policy-options policy-statement PEER-GENERIC term DEFAULT-INET
from family inet
set policy-options policy-statement PEER-GENERIC term DEFAULT-INET
from route-filter 0.0.0.0/0 exact
set policy-options policy-statement PEER-GENERIC term DEFAULT-INET
then reject
set policy-options policy-statement PEER-GENERIC term DEFAULT-INET6
from family inet6
set policy-options policy-statement PEER-GENERIC term DEFAULT-INET6
from route-filter ::/0 exact
set policy-options policy-statement PEER-GENERIC term DEFAULT-INET6
then reject
set policy-options policy-statement PEER-GENERIC term BOGONS-INET
from family inet
set policy-options policy-statement PEER-GENERIC term BOGONS-INET
from prefix-list-filter BOGONS orlonger
set policy-options policy-statement PEER-GENERIC term BOGONS-INET
then reject
set policy-options policy-statement PEER-GENERIC term BOGONS-INET6
from family inet6
set policy-options policy-statement PEER-GENERIC term BOGONS-INET6
from prefix-list-filter BOGONS-INET6 orlonger
set policy-options policy-statement PEER-GENERIC term BOGONS-INET6
then reject
set policy-options policy-statement PEER-GENERIC term BOGON-ASNS
from as-path-group BOGON-ASNS
set policy-options policy-statement PEER-GENERIC term BOGON-ASNS
then reject
set policy-options policy-statement PEER-GENERIC term BIGNETWORKS
from as-path-group BIGNETWORKS
set policy-options policy-statement PEER-GENERIC term BIGNETWORKS
then reject
set policy-options policy-statement PEER-GENERIC term RPKI-CHECK
from policy RPKI-CHECK
set policy-options policy-statement PEER-GENERIC term RPKI-INVALID
from community origin-validation-state-invalid
set policy-options policy-statement PEER-GENERIC term RPKI-INVALID
then reject
set policy-options policy-statement PEER-GENERIC term NORMALIZE
then local-preference 200
set policy-options policy-statement PEER-GENERIC term NORMALIZE
then next term
set policy-options policy-statement IMPORT-PEER-AS789 term
INET from prefix-list-filter AS789 exact
set policy-options policy-statement IMPORT-PEER-AS789 term
INET then accept
set policy-options policy-statement IMPORT-PEER-AS789 term
INET6 from prefix-list-filter AS789-INET6 exact
set policy-options policy-statement IMPORT-PEER-AS789 term
INET6 then accept
set policy-options policy-statement IMPORT-PEER-AS789 term
MORE-SPECIFIC-INET from policy MORE-SPECIFIC-UPTO-24
set policy-options policy-statement IMPORT-PEER-AS789 term
MORE-SPECIFIC-INET from prefix-list-filter AS789 orlonger
set policy-options policy-statement IMPORT-PEER-AS789 term
MORE-SPECIFIC-INET then accept
set policy-options policy-statement IMPORT-PEER-AS789 term
MORE-SPECIFIC-INET6 from policy MORE-SPECIFIC-UPTO-48
set policy-options policy-statement IMPORT-PEER-AS789 term
MORE-SPECIFIC-INET6 from prefix-list-filter AS789-INET6 orlonger
set policy-options policy-statement IMPORT-PEER-AS789 term
MORE-SPECIFIC-INET6 then accept
set policy-options policy-statement REJECT-ALL then reject
BGP 構成
ピアルートをインポートするための最後の構成では、ポリシーをピアとの BGP セッションのインポートポリシーとして設定します。第1のポリシーは PEER-GENERIC
はジェネリックであり、一度だけ定義する必要があります。2つ目のポリシーは、固有のものです。各ピアには3つのポリシーが連結されています。
不要なルートを拒否する汎用ポリシー。
ピア’s ルートを受け入れるピア固有のポリシー。
それ以外のすべてを拒否する最終的な拒否ポリシー。
例えば:
group PEER-AS789 {
type external;
import [ PEER-GENERIC IMPORT-PEER-AS789 REJECT-ALL ];
export [ EXPORT-PEER REJECT-ALL];
remove-private; peer-as 789;
neighbor 1.2.3.4;
}
ピアへのルートのアナウンス
お客様は、自社のルートと顧客のルートを受け取る必要があります。幸いなことに、BGP コミュニティを使用してこれらのルートをタグ付けしています。そのため、関連するポリシーステートメントを作成することが非常に簡単です。
policy-statement EXPORT-PEER {
term DENY {
from community RFC-NO-EXPORT;
then reject;
term EXPORT-ORIGINATES {
from community MYROUTES;
then accept;
}
}
term EXPORT-CUSTOMER {
from {
protocol bgp;
community MYCUSTOMER;
}
}
}
または、カットアンドペースト形式では以下のようになります。
set policy-options policy-statement EXPORT-PEER term DENY
from community RFC-NO-EXPORT
set policy-options policy-statement EXPORT-PEER term DENY
then reject
set policy-options policy-statement EXPORT-PEER term EXPORT-ORIGINATES
from community MYROUTES
set policy-options policy-statement EXPORT-PEER term EXPORT-ORIGINATES
then accept
set policy-options policy-statement EXPORT-PEER term EXPORT-CUSTOMER
from protocol bgp
set policy-options policy-statement EXPORT-PEER term EXPORT-CUSTOMER
from community MYCUSTOMER
set policy-options policy-statement EXPORT-PEER term EXPORT-CUSTOMER
then accept
BGP 構成
ルートをピアにエクスポートするための最後の構成は、ポリシーをピアとの BGP セッションのエクスポートポリシーとして構成することです。すべてのエクスポートポリシーは汎用であり、一度だけ定義する必要があります。各ピアには、次の2つのポリシーが連結されています。
ルートと顧客ルートを受け入れる汎用ポリシー。
それ以外のすべてを拒否する最終的な拒否ポリシー。
例えば:
group PEER-AS789 {
type external;
import [ PEER-GENERIC IMPORT-PEER-AS789 REJECT-ALL ];
export [ EXPORT-PEER REJECT-ALL];
remove-private; peer-as 789;
neighbor 1.2.3.4;
}
通過ルートのフィルタリング
中継プロバイダのポリシーは、ピアの場合とは少し異なりますが、それでもやはりそれほどではありません。トランザクションを転送するために、ピアと同じルートを拒否します。デフォルトルート、RPKI invalids、長距離 AS paths、および bogons。重要な変更は、 “ビッグネットワーク”からのルートを拒否するのではなく、異なるローカル設定 (ピアルートよりも低い) を使用し、通過ルートをエクスポートするための BGP コミュニティーを追加して、残りのルートすべてを拒否せずに受け入れるということではありません。
トランザクションの転送によるルートの受け入れ
これは、次のようなトランザクションからルートをインポートするポリシーステートメント全体です。
policy-options {
policy-statement TRANSIT-GENERIC {
term DEFAULT-INET {
from {
family inet;
route-filter 0.0.0.0/0 exact;
}
}
term DEFAULT-INET6 {
from {
family inet6;
route-filter ::/0 exact;
}
}
term BOGONS-INET {
from {
family inet;
prefix-list-filter BOGONS orlonger;
}
}
term BOGONS-INET6 {
from {
family inet6;
prefix-list-filter BOGONS-INET6 orlonger;
}
}
term BOGON-ASNS {
from as-path-group BOGON-ASNS;
then reject;
}
term RPKI-INVALID {
from community origin-validation-state-invalid;
then reject;
}
term NORMALIZE {
then {
local-preference 100;
next term;
}
}
}
}
policy-options {
policy-statement IMPORT-TRANSIT-AS10 {
term INET {
from {
family inet;
route-filter 0.0.0.0/0 upto /24;
}
term INET6 {
from {
family inet6;
route-filter ::/0 upto /48;
}
}
}
policy-options {
policy-statement REJECT-ALL {
}
}
または、カットアンドペースト形式では以下のようになります。
set policy-options policy-statement TRANSIT-GENERIC term
DEFAULT-INET from family inet
set policy-options policy-statement TRANSIT-GENERIC term
DEFAULT-INET from route-filter 0.0.0.0/0 exact
set policy-options policy-statement TRANSIT-GENERIC term
DEFAULT-INET then reject
set policy-options policy-statement TRANSIT-GENERIC term
DEFAULT-INET6 from family inet6
set policy-options policy-statement TRANSIT-GENERIC term
DEFAULT-INET6 from route-filter ::/0 exact
set policy-options policy-statement TRANSIT-GENERIC term
DEFAULT-INET6 then reject
set policy-options policy-statement TRANSIT-GENERIC term
BOGONS-INET from family inet
set policy-options policy-statement TRANSIT-GENERIC term
BOGONS-INET from prefix-list-filter BOGONS orlonger
set policy-options policy-statement TRANSIT-GENERIC term
BOGONS-INET then reject
set policy-options policy-statement TRANSIT-GENERIC term
BOGONS-INET6 from family inet6
set policy-options policy-statement TRANSIT-GENERIC term
BOGONS-INET6 from prefix-list-filter BOGONS-INET6 orlonger
set policy-options policy-statement TRANSIT-GENERIC term
BOGONS-INET6 then reject
set policy-options policy-statement TRANSIT-GENERIC term
BOGON-ASNS from as-path-group BOGON-ASNS
set policy-options policy-statement TRANSIT-GENERIC term
BOGON-ASNS then reject
set policy-options policy-statement TRANSIT-GENERIC term
RPKI-CHECK from policy RPKI-CHECK
set policy-options policy-statement TRANSIT-GENERIC term
RPKI-INVALID from community origin-validation-state-invalid
set policy-options policy-statement TRANSIT-GENERIC term
RPKI-INVALID then reject
set policy-options policy-statement TRANSIT-GENERIC term
NORMALIZE then local-preference 200
set policy-options policy-statement TRANSIT-GENERIC term
NORMALIZE then next term
set policy-options policy-statement IMPORT-TRANSIT-AS10
term INET from family inet
set policy-options policy-statement IMPORT-TRANSIT-AS10
term INET from route-filter 0.0.0.0/0 upto /24
set policy-options policy-statement IMPORT-TRANSIT-AS10
term INET then accept
set policy-options policy-statement IMPORT-TRANSIT-AS10
term INET6 from family inet6
set policy-options policy-statement IMPORT-TRANSIT-AS10
term INET6 from route-filter ::/0 upto /48
set policy-options policy-statement IMPORT-TRANSIT-AS10
term INET6 then accept
set policy-options policy-statement REJECT-ALL then reject
BGP 構成
伝送ルートのインポートの最終部分は、伝送プロバイダとの BGP セッションのインポートポリシーとしてポリシーを設定することです。最初のポリシーである伝送汎用はジェネリックであり、1回だけ定義する必要があることに注意してください。2つ目のポリシーは、固有のものです。各伝送には、次の3つのポリシーが含まれています。
不要なルートを拒否する汎用ポリシー。
輸送’のルートを受け入れる伝送固有のポリシー。
それ以外のすべてを拒否する最終的な拒否ポリシー。
例えば:
policy-statement EXPORT-TRANSIT {
term DENY {
from community RFC-NO-EXPORT;
then reject;
}
term EXPORT-ORIGINATES {
from community MYROUTES;
then accept;
}
term EXPORT-CUSTOMER {
from {
protocol bgp;
community MYCUSTOMER;
}
}
}
トランザクションへの対応ルートを発表します。
さらに、自分のルートと顧客のルートを受信する必要があります。ここでは、ピアへのルートのエクスポートと同様に、BGP コミュニティを使用してこれらのルートにタグを付けているため、関連するポリシーステートメントを作成することが非常に簡単です。
また、カットアンドペースト形式でも次のようになります。
set policy-options policy-statement EXPORT-TRANSIT term
DENY from community RFC-NO-EXPORT
set policy-options policy-statement EXPORT-TRANSIT term
DENY then reject
set policy-options policy-statement EXPORT-TRANSIT term
EXPORT-ORIGINATES from community MYROUTES
set policy-options policy-statement EXPORT-TRANSIT term
EXPORT-ORIGINATES then accept
set policy-options policy-statement EXPORT-TRANSIT term
EXPORT-CUSTOMER from protocol bgp
set policy-options policy-statement EXPORT-TRANSIT term
EXPORT-CUSTOMER from community MYCUSTOMER
set policy-options policy-statement EXPORT-TRANSIT term
EXPORT-CUSTOMER then accept
BGP 構成
ルートをトランジットエクスポートするための構成の最後の部分は、通過時に BGP セッションの輸出ポリシーとしてポリシーを設定することです。すべてのエクスポートポリシーは汎用であり、一度だけ定義する必要があります。各伝送には、次の2つのポリシーが連結されます。
ルートと顧客ルートを受け入れる汎用ポリシー。
それ以外のすべてを拒否する最終的な拒否ポリシー。
例えば:
group TRANSIT-AS10 {
type external;
import [ TRANSIT-GENERIC IMPORT-TRANSIT-AS10 REJECT-ALL
];
export [ EXPORT-TRANSIT REJECT-ALL];
remove-private; peer-as 10;
neighbor 1.2.3.4;
}
まとめ
ポリシーの観点から見ると、ルーターはルートをフィルター処理し、セキュアなルーティングテーブルを作成し、顧客、ピア、中継事業者に BGP を伝えることができるようになりました。ネットワークが大きな形状になっている必要があります。よくやりましたね!
顧客、ピア、および中継セッションから発信されたルートをフィルタリングするポリシーを設定しなかったことに気付いたかもしれません。これは、目的に応じて、BGP によって、独自の通知を番号としてフィルター処理してループを回避するために使用されます。自分の接頭辞を含むルートアドバタイズメントを受信しても、別の番号から発信された場合、RPKI は ROAs を作成した場合にそれをフィルター処理します。しかし、すべての eBGP セッションで自分自身のルートを明示的に除外しても、それは問題ではありません。
次に、何かがうまくいっているかどうかを確認する方法と、’それができない場合の対処方法を示します。