はじめに
前回はラボノードにコンソール接続する方法について紹介しました。
今回は外部のネットワークと接続する方法について紹介します。
外部ネットワークとの接続方法
外部のネットワークとCML2
のラボ環境を接続するためには、External Connector
のノードを使用します。
外部ネットワークと接続する際の接続方式は以下の3つあり、External Connector
の設定タブにある「EDIT CONFIG」から設定を行います。
接続タイプ | 構成イメージ |
---|---|
NAT | |
Bridge | |
Custom |
但し、設定といっても細かな設定はできず、どのタイプで接続するかを選ぶ程度しかできません。
NAT接続
「NAT」は外部と通信する際にCML2
ホストのアドレスにNAPT変換して通信する方法です。
いわゆるIPマスカレードによる変換となるため、外部からCML2
ラボ内のノードに対して接続することはできません。
NATタイプにした場合のExternal Connector
はDHCPサーバが動いているため、DHCPクライアントの設定を行えばアドレスが割り振られますが、以下の設定で動作するため、各ノードでセグメントを合わせて固定でアドレスを設定しても問題ありません。
External Connector | 設定値 |
---|---|
IPアドレス | 192.168.255.1 |
ネットマスク | 255.255.255.0 |
Bridge接続
「Bridge」は外部に繋がっているインタフェースと直接接続を行う方法です。
「NAT」と異なり、External Connector
でアドレス変換は行われず、直接外部ネットワークと接続されるため、External Connector
はアドレスを持たず、単に外部との橋渡し(Bridge)するだけのノードとなります。
外部と直接接続することになるため、外部からTelnet
やSSH
でノードに直接接続することも可能となります。
外部のネットワークに直接繋がるということは、何かあった場合に外部のネットワークに直接影響が発生することになるため、アドレス重複やループ構成になるようなことがないように十分注意しましょう!
Custom接続
「Custom」も外部に繋がっているインタフェースと直接接続を行う方法です。
「Bridge」との違いは「Bridge」はCML2
ホストにデフォルトで設定されている1番目のインタフェースとのブリッジしかできませんが、「Custom」の場合、他のインタフェースとブリッジすることも可能となります。
もちろん他のインタフェースが存在しなければ「Bridge」と変わらないため、複数インタフェースを追加した場合にしか意味がありません。
但し、「Custom」での使用は推奨されておらず、CML2のオンラインマニュアルにもやり方が載っていないため、設定は自己責任となります。
外部ネットワークとの接続
外部ネットワークと接続するため、「Bridge」で接続してみようと思います。
External Connector
を配置して、「EDIT CONFIG」から「BRIDGE」を選択します。
確認のためのノードを直接接続した後、ノードをすべて起動します。
外部ネットワークと通信したいノードにコンソールからIPアドレスの設定とリモートからのアクセス設定(vtyやパスワード設定)を行ってからtelnet
等で接続すれば外部から接続できるはずです。
※一般的なCisco機器の設定のため説明は除外
Customでの接続方法
上述の通り、マニュアルにも記載がないため自己責任となりますが、複数インタフェースを使う方法を紹介します。
CML2のオンラインマニュアルにも設定方法が載っていませんが、External Connector
のヘルプマークにフォーカスすると、以下の様な説明が表示されます。
画像の左に書かれている「Custom Bridge Name」に指定できる名前はvirbr
、bridge
もしくはvlan
しか指定ができないため、指定の名前のブリッジインタフェースを作成していきます。
Cockpit管理画面へのログイン
CML2
には今まで操作してきたCML2
の管理画面の他に、CML2
のサービス自体を動かしているOSを操作するためのCockpit
の管理画面が存在します。
Cockpit
はCisco
独自のアプリケーションではなく、オープンソースで公開されているサーバ管理ツールとなります。
Cockpit
画面は「https://[CML2のアドレス]:9090」にアクセスすることで以下の様な画面が表示されるので、CML2
セットアップ時に設定した「sysadmin」のアカウントを使ってログインします。
ログイン画面を見れば分かる通り、CML2
はCentOS
で動作していることが分かると思います。
ブリッジインタフェースの作成
先ほどの説明の通り、指定できるインタフェース名が決められているため、デフォルトで作成されるbridge0
以外のブリッジインタフェースを作成します。
左ペインにある「ネットワーキング」から「ブリッジの追加」を選択します。
以下の画面のようにブリッジ名の入力とブリッジするインタフェースを選択します。
今回の場合、2つ目のインタフェースは「ens33」で作られたため、「ens33」を選択します。
設定項目 | 値 |
---|---|
名前 | bridge1 |
ポート | ens33 |
設定後、先ほどの画面に作成したブリッジが表示されます。
もし、2つ目以降のインタフェースに個別にIPアドレスを割り振りたい場合、画面のブリッジ名をクリックすることで、インタフェースの設定画面が表示されるため、そこからアドレス設定することも可能です。
ブリッジインタフェースの指定
CML2
の管理画面に戻り、「Custom Bridge Name」の設定項目に、先ほど作成したブリッジ名を指定します。
External Connector
の設定変更は無効化状態でしかできないため、有効化している場合はWipe Node
して無効化してから変更しましょう。
変更が完了したら再度ノードを起動して指定のインタフェース経由で接続できるか確認出来たら完了です。
External Connector
の接続タイプの設定はExternal Connector
のノードごとに設定できるため、それぞれ別のブリッジに接続するExternal Connector
を作成すれば、複数の外部ネットワークに接続することも可能です。
おわりに
今回の設定でCML2
上のノードが直接外部ネットワークの機器と通信できるようになったので、すでに外部のネットワークで提供しているサービスなどとも連携できるようになりました。
CML2
の中だけでも様々なサーバノードが用意されているため、外部と繋がなくても色々とテストはできますが、規模が大きくなると、全てをCML2
内で完結させるにはリソースが不足したりするので、外部ネットワークのサービスを利用できるのであれば今回の外部ネットワーク接続設定を行ったほうが良いと感じます。