web-dev-qa-db-ja.com

デフォルトルートを使用したJuniperEX BGP

私はBGPを初めて使用するので、これは確かに学習演習です。 2つのルーティングされたアップリンクで提供されるPAスペースから、独自のIPスペースを持ち、トランジットをマルチホーミングするようになりました。

まず、単一のトランジットプロバイダーのみが存在し、2つのRJ45ケーブルドロップに異なる/ 30 VLAN-私のJuniperEX3200スイッチのそれぞれに移動します。

今のところデフォルトルートを取るつもりですが、その間、新しいBGPゲートウェイ/ネットワーク用に別のルーティングテーブルを維持しながら、ルーティングされたアップリンクとPAスペースを引き続き使用する必要があります。

My WANグルーブロックVLANが存在する2xアップリンク(ge-0/0/0およびge-0/0/1)があります(vlan4000)。 VRRPはこのVLANで実行され、すべてのIPがプロバイダーからこの仮想IPにルーティングされます。その後、内部ルートはVLAN L3インターフェイスを介して直接ルーティングされます。ゲートウェイIP (つまり、私のプロバイダーのルーター仮想IP)in vlan4000は私のデフォルトルートとして機能します。

したがって、BGP IPを「他の」IPから分離するために2つのルーティングテーブル(VRF)を実行する必要があり、適切なゲートウェイを選択するためにフィルターベースの転送を行う必要があることを認識しています。

私は両方のかなり広範囲な読書をしてきました、

  1. http://www.juniper.net/us/en/training/certification/JNCIA_studyguide.pdf
  2. http://www.juniper.net/us/en/training/certification/JNCIS_studyguide.pdf

必要な構成を十分に理解するため。


これまでの私の(限られた)理解から、私はする必要があると思います...

  1. トランジットプロバイダーとのBGPセッションを起動します
  2. ASNを介してIPブロックをアナウンスする
  3. その特定のインターフェイスを介してBGPIPブロックをルーティングします
  4. 1つの障害がBGPセッションをドロップしないように、2つのEX3200間で何らかの障害/ HAを形成します。

私が本質的に確信が持てないのは、2つのEX3200がどのようにBGPセッションを起動するかです。それぞれが2つの別々のVLANに独自のIP(ルーターID)を持っているので(これは2つの別々のBGPセッションのように見えます)、どちらかがダウンした場合、各BGPデフォルトゲートウェイ間で条件付きでルーティングする必要がありますか?

どこから始めるべきかの設定例を誰かが持っていますか?

3
choco-loo

私を正しい軌道に乗せてくれた@Sebastianに感謝します。ラボで単一のEX3200を使用してこれまでに学習/実装したことで、これをフォローアップしたいと思いました。これは動作中の構成です。

元のリクエストに欠けているのは、BGP接続のデフォルトゲートウェイで高可用性がどのように機能するかということだけでしたが、iBGPはその法案に適合すると思います。

2番目のスイッチを模倣するために別のルーティングインスタンスを追加し、各インスタンスに割り当てられたインターフェイス間で物理トランクを実行する場合があります。次に、両方でeBGPとiBGPを起動します。


2つのネットワーク(PAIPとBGPIP)とゲートウェイを分離するために、2つのルーティングインスタンスを設定しました。

vlan.10vlan.20はBGPアップリンクとして機能し、vlan.3999はASNでアナウンスする/ 22IP用です。

vlan.30はPAスペースの既存の/ 24です-vlan.40のメインゲートウェイへの静的ルートがあります

BGPインスタンスがそのルーティングインスタンスで特別に構成されていることがわかります。そのため、他のルーティングテーブル間で共有されていません。

routing-instances {
  transit-bgp {
    instance-type virtual-router;
    interface vlan.10;
    interface vlan.20;
    interface vlan.3999;
    routing-options {
      router-id x.x.x.50;
      autonomous-system xxxxx;
    }
    protocols {
      bgp {
        group bgp1 {
          type external;
          peer-as xxxxx;
          neighbor x.x.x.109 {
            import import-route-transit1;
            export export-route;
          }
        }
        group bgp2 {
          type external;
          peer-as xxxxx;
          neighbor x.x.x.113 {
            import import-route-transit2;
            export export-route;
          }
        }
      }
    }
  }
  transit-pa {
    instance-type virtual-router;
    interface vlan.30;
    interface vlan.40;
    routing-options {
      static {
        route 0.0.0.0/0 next-hop x.x.x.1;
      }
    }
  }
}

したがって、VLANは次のように割り当てられました

vlans {
  bgp1 {
    vlan-id 10;
    l3-interface vlan.10;
  }
  bgp2 {
    vlan-id 20;
    l3-interface vlan.20;
  }
  liveips {
    vlan-id 3999;
    l3-interface vlan.3999;
  }
  routedips {
    vlan-id 30;
    l3-interface vlan.30;
  }
  routedgw {
    vlan-id 40;
    l3-interface vlan.40;
  }      
}

次に、2つのBGPリンクが優先されていることを確認するために(1つが失敗した場合)、local-preferenceを変更するポリシーが設定されました。また、BGPを介してアドバタイズされる特定のルートをエクスポートするためのポリシーも作成されました。

policy-options {
  policy-statement export-route {
    term local-routes {
      from {
        route-filter x.x.x.0/22 exact;
      }
      then accept;
    }
  }
  policy-statement import-route-transit1 {
    term default {
      then {
        local-preference 220;
        next policy;
      }
    }
  }
  policy-statement import-route-transit2 {
    term default {
      then {
        local-preference 200;
        next policy;
      }
    }
  }
}

この時点で(すべてが完璧で、両方のルーティングテーブルが調和して機能していました)、完全に分離されていました。つまり。相互に共有/リークされたルートはありませんでした。そこで、ルートを分散できるように、フィルターベースの転送を設定しました。

まず、vlanインターフェースで入力フィルターを使用しました

interfaces {
  vlan {
    unit 10 {
      family inet {
        address x.x.x.110/30;
      }
    }
    unit 20 {
      family inet {
        address x.x.x.114/30;
      }
    }
    unit 30 {
      family inet {
        filter {
          input transit-pa-int;
        }
        address x.x.x.50/24;
      }
    }
    unit 30 {
      family inet {
        address x.x.x.1/24;
      }
    }                
    unit 3999 {
      family inet {
        filter {
          input transit-bgp-int;
        }
        address x.x.x.1/22;
      }
    }
  }
}

次のファイアウォールルールを使用しました

firewall {
  family inet {
    filter transit-pa-int {
      term one {
        from {
          destination-address {
            x.x.x.0/22;
          }
        }
        then {
          routing-instance transit-bgp;
        }
      }
      term default {
        then {
          routing-instance transit-pa;
        }
      }
    }
    filter transit-bgp-int {
      term one {
        condition {
          destination-address {
            x.x.x.0/24;
          }
        }
        then {
          routing-instance transit-pa;
        }
      }
      term default {
        then {
          routing-instance transit-bgp;
        }
      }
    }
  }
}
1
choco-loo

EXスイッチはVRF-Liteを実行して、複数のルーティングテーブルをサポートできます。まず、ジュニパーのこのKB記事をご覧ください。

http://kb.juniper.net/InfoCenter/index?page=content&id=KB14926

必要なのは、VRF /仮想ルーターのBGPサポートです。このためには、EXスイッチにAFLライセンスが必要です。 EXシリーズのソフトウェア機能表は次のとおりです。これは常に役立ちます。

http://www.juniper.net/techpubs/en_US/junos10.2/topics/concept/ex-series-software-features-overview.html#layer-3-protocols-features-by-platform-テーブル

ライセンスをインストールした場合は、その下でルーティングインスタンスとBGPプロトコルを構成できます。

routing-instances {
test {
    instance-type virtual-router;
    protocols {
        bgp {
            local-as 65565;
        }
    }
}

eBGP(外部BGP、プロバイダーへ)セッションは通常、インターフェイスIP間で行われます。したがって、インターフェイスの/ 30にIPを構成し(他のスイッチの2番目のアップリンクに対して繰り返します)、プロバイダールーターのIPへのBGPセッションを確立します。デフォルトルートを発表するようにプロバイダーに依頼してください。

2つのスイッチを接続し、それらの間でiBGP(内部BGP)を話し、両方が相互にルーティング情報を取得できるようにする必要があります。

一方のアップリンクに障害が発生した場合、またはBGPセッションがドロップした場合、スイッチは自動的にもう一方のアップリンクに切り替わります。

EXスイッチのBGPに関する一般的な情報は次のとおりです。

http://www.juniper.net/techpubs/en_US/junos10.4/information-products/pathway-pages/ex-series/bgp.html

これは簡単な答えです。 BGPルーティングは非常に幅広いトピックであり、ネットワークだけでなくプロバイダーネットワークでも、極端な場合でも世界中で大混乱を引き起こす可能性があることに注意してください。初期設定については専門家の助けを借りることをお勧めします。

2