演習 - カスタム ルーターを構成する

完了

注意事項

このコンテンツでは、サポート終了 (EOL) 状態となっている Linux ディストリビューションである CentOS について説明します。 適宜、使用と計画を検討してください。 詳細については、「CentOS のサポート終了に関するガイダンス」を参照してください。

以下の手順を使って、FRR のインフラストラクチャを構成し、既定のルートを生成します。

az network vnet subnet create  -n <NVA-Subnet-name> -g <resource-group-name> --vnet-name <vnet-name>  --address-prefix 10.0.2.0/24

az network nic create -g <resource-group-name> --vnet-name <vnet-name>  --subnet <NVA-Subnet-name> -n <NVA-nic-name>

az vm availability-set create --name <nva-availability-set-name> --resource-group <resource-group-name> --location <your-preferred-azure-region>

az vm create --name <nva-vm-name>  --resource-group <resource-group-name>  --location <your-preferred-azure-region> --image OpenLogic:CentOS:8_5:8.5.2022012100 --size Standard_D1_v2        --availability-set <nva-availability-set-name>  --authentication-type password  --admin-username <vm-admin-user-name>  --admin-password <vm-admin-username-password> --storage-sku Standard_LRS  --nics <NVA-nic-name>

NVA で FRR ルーティングを構成する

次に、FRR ソフトウェアを構成します。

  1. 以下のスクリプトで、routeServerSubnetPrefix および bgpNvaSubnetGateway 変数を更新します。

    #
    # IP prefix of the RouteServerSubnet in the Firewall VNet. 
    #  
    routeServerSubnetPrefix="<azure-route-server-subnet-prefix>"
    
    #
    # The first IP address of the subnet to which the "eth0" device is attached.
    #
    bgpNvaSubnetGateway="<nva-azure-subnet-first-ip-address>"
    
    # Install FRR
    sudo dnf install frr -y
    
    # Configure FRR to run the bgpd daemon
    sudo sed -i 's/bgpd=no/bgpd=yes/g' /etc/frr/daemons
    sudo touch /etc/frr/bgpd.conf
    sudo chown frr /etc/frr/bgpd.conf
    sudo chmod 640 /etc/frr/bgpd.conf
    
    # Start FRR daemons
    sudo systemctl enable frr --now
    
    
    # Add static routes to ensure reachability for Route Servers (Route Server are not-directly-connected external BGP neighbours).
    
    # Please note that this configuration is transient and will be lost if the VM is rebooted.
    
    # On CentOS VMs, you can add these routes to /etc/sysconfig/network-scripts/route-eth<X> to make them persistent across reboots. 
    
    sudo ip route add $routeServerSubnetPrefix via $bgpNvaSubnetGateway dev eth0
    
  2. 上記の編集済みスクリプトをコピーします。

  3. NVA VM のシェルにログインします。

  4. NVA のシェルに、コピーしたスクリプトをクリップボードからプレーンテキストとして貼り付けます (Ctrl+ Shift + V キー)。

  5. スクリプトを実行し、スクリプトが完了するまで 1 分ほど待ちます。

  6. 実行後にエラーが報告されていないことを確認します。

    NVA VM でのスクリプト実行のスクリーンショット。スクリーンショットはスクリプトの実行後にエラーが表示されていないことを示しています。

  7. sudo vtysh を実行します

  8. FRR が実行され、そのコマンド シェルが開始されていることを確認します。

    NVA VM での sudo プロンプトのスクリーンショット。スクリーンショットはコマンド 'sudo vtysh' が実行されていることを示しています。

BGP ネイバーと NVA の既定のルートを構成する

この手順では、Azure Route Server をその BGP ネイバーとして持つように FRR NVA を構成します。 既定のルート (0.0.0.0/0) も NVA に追加します。

  1. 以下のスクリプトで次の変数を更新します。

    1. <ファイアウォールのプライベート IP アドレス>
    2. <Route Server インスタンスの IP アドレス #0>
    3. <Route Server インスタンスの IP アドレス #1>
    conf term
    !
    route-map SET-NEXT-HOP-FW permit 10
    set ip next-hop <Firewall Private IP address>
    exit
    !
    router bgp 65111
    no bgp ebgp-requires-policy
    neighbor <IP address of Route Server instance #0> remote-as 65515  
    neighbor <IP address of Route Server instance #0> ebgp-multihop 2
    neighbor <IP address of Route Server instance #1> remote-as 65515 
    neighbor <IP address of Route Server instance #1> ebgp-multihop 2
    network 0.0.0.0/0
    !
    address-family ipv4 unicast
      neighbor <IP address of Route Server instance #0> route-map SET-NEXT-HOP-FW out
      neighbor <IP address of Route Server instance #1> route-map SET-NEXT-HOP-FW out
    exit-address-family
    !
    exit
    !
    exit
    !
    write file
    !
    
  2. FRR シェルにログインします。

  3. 更新された変数を含むスクリプトを貼り付けます。

  4. show ip bgp を実行して、NVA が、独自の既定のルートを除いてまだルートを学習していないことを確認します。

  5. show ip bgp sum を実行して、NVA がまだ BGP セッションを確立していないことを確認します。

    NVA VM でのコマンド実行のスクリーンショット。スクリーンショットは NVA の BGP ネイバーとしての Azure Route Server を示しています。

Azure Route Server とのピアリングを構成する

次の手順では、FRR NVA と Azure Route Server の間に BGP ピア関係を確立します。

  1. Azure CLI プロンプトで次のコマンドを実行します。

    
     az network routeserver peering create  --name <nva-vm-name>  --peer-ip <private-ip-of-nva-vm-name>  --peer-asn <asn-value-other-than-65515-65520>  --routeserver <routeserver-name>  --resource-group <resource-group-name>`
    
     az network routeserver update --name <routeserver-name>  --resource-group <resource-group-name>   --allow-b2b-traffic true`
    
  2. FRR シェルにログインします。

  3. show ip bgp を実行して、NVA が Azure Route Server からのルートを学習したことを確認します。

    NVA VM でのコマンド実行のスクリーンショット。スクリーンショットは AVS ネットワークのネクスト ホップとしての Azure Route Server を示しています。

  4. Azure Firewall がインターネットに直接接続されていることを確認します。 これは、Azure portal を使って、Azure Firewall のサブネットに関連付けられているルート テーブルを調べることで確認できます。

    Azure portal メニューのスクリーンショット。

この時点で、セキュリティで保護された送信インターネット接続を実装するように Azure VMware Solution プライベート クラウドを構成できました。 Azure VMware Solution プライベート クラウドと NVA の間の効果的なルート交換のために Azure Route Server をデプロイしました。 その後、インターネットに向けたすべてのトラフィックの出口ポイントとして Azure Firewall をデプロイしました。 その後に FRR を使用しました。これはカスタム ルーターであり、Azure Firewall をネクスト ホップとした既定のルートを Azure VMware Solution プライベート クラウドに挿入します。

次のユニットでは、Azure VMware Solution プライベート クラウドからのネットワーク トラフィックを許可または拒否する、Azure Firewall でのきめ細かいアクセスの制御を実装する方法について説明します。

知識チェック

1.

既定のルートの作成と挿入をサポートしている Azure サービスはどれですか?

2.

Azure Route Server に割り当てられるプライベート IP アドレスの数はいくつですか?