HiRoLabブログ

HiRoのゆるふわIT備忘録

AristaのcEOS-lab環境を構築してみた

tarファイルのダウンロード

AristaのcEOS-labをdockerとして構築を行う。

まずdocker-imageを作成するためのtarファイルをダウンロードする。

ダウンロード先はこちらからダウンロードを行う。 アカウントが無い人は作成後ダウンロード可能になる。

www.arista.com

今回ダウンロードしたバージョンはEOS-4.25.1F

f:id:HiRo1325:20210201200410p:plain

docker-イメージの作成

ダウンロードしてきたtarファイルからdocker-イメージを作成する。

docker import  cEOS-lab-4.25.1F.tar ceos:latest  

イメージの作成できているかdocker imagesで確認。

REPOSITORY                               TAG                            IMAGE ID       CREATED          SIZE
ceos                                     latest                         a699767f6e07   12 minutes ago   1.69GB`

docker-コンテナの作成

ダウンロードページのcEOS-lab-README-generic.txtを参考に下記のように構築を行った。

docker-イメージ:  ceos:latest
docker-コンテナ名:  ceos2

※docker-イメージやコンテナ名は任意なので、個人の環境に合わせてください。

docker create --name=ceos2 --privileged -e INTFTYPE=eth -e ETBA=1 -e SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1 -e CEOS=1 -e 
EOS_PLATFORM=ceoslab -e container=docker -i -t ceos:latest /sbin/init systemd.setenv=INTFTYPE=eth 
systemd.setenv=ETBA=1 systemd.setenv=SKIP_ZEROTOUCH_BARRIER_IN_SYSDBINIT=1 systemd.setenv=CEOS=1 
systemd.setenv=EOS_PLATFORM=ceoslab systemd.setenv=container=docker

コンテナ接続用のネットワークの作成

cEOSのコンテナが接続するネットワークの作成するコマンドです。 接続するネットワーク分作成を行う。

今回はお試しに3つ作成。

docker network create net1
docker network create net2
docker network create net3

ネットワークに接続

新しく作ったネットワークにceos2コンテナを接続

docker network connect net1 ceos2
docker network connect net2 ceos2
docker network connect net3 ceos2

コンテナの起動

コンテナを起動します。

docker start ceos2

Cliログイン

Cliログインを行う

docker exec -it ceos2 Cli

3つのネットワークに接続したことで、3つのインターフェースを使用することが可能。 次のコマンドで確認ができる。

localhost#show int status
Port       Name   Status       Vlan     Duplex Speed  Type            Flags Encapsulation
Et1               connected    1        full   unconf EbraTestPhyPort
Et2               connected    1        full   unconf EbraTestPhyPort
Et3               connected    1        full   unconf EbraTestPhyPort

最後に

いろいろ調べてるとSRも扱えそうに見えた。 次は実際にルーティングをしてみる。

localhost(config)#mpls label range ?
  bgp-sr   Specify labels reserved for BGP SR global segment identifiers (SIDs)
  dynamic  Specify labels reserved for dynamic assignment
  isis-sr  Specify labels reserved for IS-IS SR global segment identifiers (SIDs)
  l2evpn   Specify labels reserved for L2 EVPN routes
  srlb     Specify labels reserved for SR local segment identifiers (SIDs)
  static   Specify labels reserved for static MPLS routes