Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

cRPDの管理

トポロジーの構築

トポロジーの設定や Docker コンテナへの接続に使用 open-vswitch できます。これにより、ブリッジ、インターフェイス命名、IPアドレッシングの作成を制御します。

トポロジーを構築するには::

  1. ユーティリティをダウンロードしてインストールopenvswitch-switchします。

    root@ubuntu-vm18:~# apt-get install openvswitch-switch

  2. 以下のパスに移動します。

    root@ubuntu-vm18:~# cd /usr/bin

  3. ダウンロード ovs-docker with wget:

    root@ubuntu-vm18:~# wget "https://raw.githubusercontent.com/openvswitch/ovs/master/utilities/ovs-docker"

  4. モードを変更します。

    root@ubuntu-vm18:~# chmod a+rwx ovs-docker

  5. コンテナ crpd01 を作成します。

    root@ubuntu-vm18:~# docker run --rm --detach --name crpd01 -h crpd01 --net=bridge --privileged -v crpd01-config:/config -v crpd01-varlog:/var/log -it enterprise-hub.juniper.net/crpd-docker-prod/crpd:19.2R1.8

  6. コンテナ crpd02 を作成します。

    root@ubuntu-vm18:~# docker run --rm --detach --name crpd02 -h crpd02 --net=bridge --privileged -v crpd02-config:/config -v crpd02-varlog:/var/log -it enterprise-hub.juniper.net/crpd-docker-prod/crpd:19.2R1.8

ネットワーク Docker コンテナ

Docker コンテナは、ユーザー定義のブリッジを使用して接続されています。docker ブリッジの詳細なドキュメントについては、「 ブリッジ ネットワークの使用」を参照してください。

Docker ネットワークを作成するには、以下の手順にしたがっています。

  1. ブリッジ my-net を作成します。

    root@ubuntu-vm18:~# docker network create --internal my-net

    引数により --internal 、場合によっては望ましいホスト ネットワークにブリッジが接続されるのを防ぎます。ブリッジを作成すると、コンテナをアタッチまたはアタッチ解除できます。

  2. ブリッジを使用して 2 つのコンテナを接続します。

    root@ubuntu-vm18:~# docker network connect my-net crpd01

    root@ubuntu-vm18:~# docker network connect my-net crpd02

    これにより、crpd01とcrpd02上に172.18.0.0/16サブネットを持つ eth1 が作成されます。

ブリッジの取り外し

  1. ブリッジを取り外します。
    root@ubuntu-vm18:~# docker network rm my-net
  2. コンテナからブリッジを取り外します。
    root@ubuntu-vm18:~# docker network disconnect my-net crpd01
    root@ubuntu-vm18:~# docker network disconnect my-net crpd02

OVS ブリッジの作成

OVS ブリッジを作成し、docker を 2 つのコンテナ crpd01 および crpd02 に接続するには、

  1. crpd01 と crpd02 を接続するブリッジを作成します。

    root@ubuntu-vm18:~# ovs-vsctl add-br crpd01-crpd02_1

  2. ブリッジにインターフェイスを追加します。

    root@ubuntu-vm18:~# ovs-docker add-port crpd01-crpd02_1 eth1 crpd01

    root@ubuntu-vm18:~# ovs-docker add-port crpd01-crpd02_1 eth1 crpd02

  3. インターフェイスにIPアドレスを設定します。

    root@ubuntu-vm18:~# docker exec -d crpd01 ifconfig eth1 10.1.1.1/24

    root@ubuntu-vm18:~# docker exec -d crpd02 ifconfig eth1 10.1.1.2/24

  4. ループバックインターフェイスにIPアドレスを設定します。

    root@ubuntu-vm18:~# docker exec -d crpd01 ifconfig lo 10.255.255.1 netmask 255.255.255.255

    root@ubuntu-vm18:~# docker exec -d crpd02 ifconfig lo 10.255.255.2 netmask 255.255.255.255

  5. crpd01 にログインします。

    root@ubuntu-vm18:~# docker exec -it crpd01 bash

  6. インターフェイスの詳細を確認します。

    root@crpd01:/# ifconfig

  7. crpd02 との接続を確認します

    root@crpd01:/# ping 10.1.1.2 -c 2

OSPF の設定

  1. crpd01 を設定して OSPF プロトコルを設定します。

    root@ubuntu-vm18:~# set policy-options policy-statement adv term 1 from route-filter 10.10.10.0/24 exact

    root@ubuntu-vm18:~# set policy-options policy-statement adv term 1 then accept

    root@ubuntu-vm18:~# set routing-options router-id 10.255.255.1

    root@ubuntu-vm18:~# set routing-options static route 10.10.10.0/24 reject

    root@ubuntu-vm18:~# set protocols ospf export adv

    root@ubuntu-vm18:~# set protocols ospf area 0.0.0.0 interface eth1

    root@ubuntu-vm18:~# set protocols ospf area 0.0.0.0 interface lo.0

  2. crpd02 を設定して OSPF プロトコルを設定します。

    root@ubuntu-vm18:~# set policy-options policy-statement adv term 1 from route-filter 10.20.20.0/24 exact

    root@ubuntu-vm18:~# set policy-options policy-statement adv term 1 then accept

    root@ubuntu-vm18:~# set routing-options router-id 10.255.255.2

    root@ubuntu-vm18:~# set routing-options static route 10.20.20.0/24 reject

    root@ubuntu-vm18:~# set protocols ospf export adv

    root@ubuntu-vm18:~# set protocols ospf area 0.0.0.0 interface eth1

    root@ubuntu-vm18:~# set protocols ospf area 0.0.0.0 interface lo.0

  3. crpd01 にログインします。
    docker exec -it crpd01 bash
  4. OSPF ルートの詳細を検証します。

    root@crpd01:/# cli

    root@crpd01> show ospf neighbor

    root@crpd01> show ospf route

    root@crpd01> show route

  5. ルートを確認します。

    root@crpd01> exit

    root@crpd01:/# ip route

    root@crpd01:/# ping 10.255.255.2 -c 2

インターフェイスとブリッジの削除

インターフェイスとブリッジを削除するには::

  1. インターフェイスを削除します。

    root@ubuntu-vm18:~# ovs-docker del-port crpd01-crpd02_1 eth1 R1

  2. ブリッジを取り外します。

    root@ubuntu-vm18:~# ovs-vsctl del-br crpd01-crpd02_1

実行中の cRPD でのコンテナ プロセスの表示

コンテナプロセスを表示するには:

コマンドをdocker exec実行して、コンテナで実行されているプロセス(アプリケーション、サービス、およびステータス)の詳細を表示します。

root@ubuntu-vm18:~# docker exec crpd01 ps aux

cRPD CLIおよびBashシェルへのアクセス

CLIとbashシェルを使用してcRPDにアクセスするには:

  1. docker exec -it crpd1 cli 実行して Junos CLI を起動します。

    root@ubuntu-vm18:~# docker exec -it crpd01 cli

  2. docker exec -it crpd1 bash実行して Junos シェルを起動します。

    root@ubuntu-vm18:~# docker exec -it crpd01 bash

cRPDコンテナ内でプロセスを一時停止および再開する

1 つまたは複数のコンテナー内ですべてのプロセスを一時停止または再開できます。

cRPDを一時停止して再起動するには、次の手順にいます。

  1. コマンドを docker pause 実行して、cRPDコンテナ内のすべてのプロセスを中断します。

    root@ubuntu-vm18:~# docker pause crpd-container-name

  2. コマンドを docker unpause 実行して、cRPDコンテナ内のすべてのプロセスを再開します。

    root@ubuntu-vm18:~# docker unpause crpd-container-name

cRPD インスタンスの削除

cRPD インスタンスまたはイメージを削除するには、以下の手順に示します。

メモ:

cRPDイメージを削除する前に、まずcRPDインスタンスを停止して削除する必要があります。

  1. コマンドを docker stop 実行してcRPDを停止します。

    root@ubuntu-vm18:~# docker stop crpd-container-name

  2. cRPDを docker rm 削除するには、 コマンドを実行します。

    root@ubuntu-vm18:~# docker rm crpd-container-name

    メモ:

    実行中のcRPDの強制的な除去を含める --force

  3. コマンドを docker rmi 実行して、Docker エンジンから 1 つ以上の cRPD イメージを削除します。
    メモ:

    cRPD画像を強制的に除去することを含む --force

    root@ubuntu-vm18:~# docker rmi crd-Image-name

Docker 統計とログの表示

統計情報とログを表示するには、以下の手順にしたがっています。

  1. コマンドをdocker stats実行して、リソースの使用率を監視します。
  2. コンテナログをdocker logs crpd-container-name抽出するための コマンドを実行します。

アクティブなコンテナの表示

現在のアクティブなコンテナとそのステータスを表示するには、次の手順にしたがっています。

または コマンドをdocker ps実行して、docker container lsアクティブなコンテナを一覧表示します。

root@ubuntu-vm18:~# docker container ls

root@ubuntu-vm18:~# docker ps

コンテナの停止

コンテナを停止するには、次の手順にしたがっています。

以下のコマンドを使用してコンテナを停止できます。

root@ubuntu-vm18:~# docker stop crpd-container-name