にゃんぱすー。cloudpack津村@おなかすきました。

尚、お昼はさくら水産ランチの揚げ物でした…。えぇ、TKGおいしかったです。3杯食べました…(赤面

『マネジメントエンジン』ってなーに?

JUNOS BOXの一部機種(EXシリーズなど)では、MGMTというポートが別途用意されています。これは、メンテナンス用にサービス用ポートとは別途独立して存在し、リモートログイン等のメンテナンスを作業を可能にします。
Juniper EX のMGMTポート: MGMTポートの様子
このポートを使用する事により、例えばスイッチの場合管理用のポート・VLANを独立させる事で、全てのポートをサービス用に使用する事が出来るようになります。

ここでは、Juniper EX2200-48T-4GのMGMTポートについて、具体的な設定を投入してみます。

1. インターフェースについて

背面に存在する「MGMT」と書かれた物理ポートが、マネジメントポートになります。論理的インターフェース名は「me0」というインターフェースがそれにあたります。

2. オプションについて

このインターフェースでは、以下のConfigを投入する事ができます。

root# set interfaces me0 unit 0 family inet ?
Possible completions:
  <[Enter]>            Execute this command
> accounting           Configure interface-based accounting options
> address              Interface address/destination prefix
  allow-filter-on-re   Enable kernel filter on network ports
+ apply-groups         Groups from which to inherit configuration data
+ apply-groups-except  Don't inherit configuration data from these groups
> dhcp                 Configure DHCP Client
> filter               Packet filtering
  mtu                  Protocol family maximum transmission unit
  no-neighbor-learn    Disable neighbor address learning on interface
  no-redirects         Do not redirect traffic
  primary              Candidate for primary interface in system
> rpf-check            Enable reverse-path-forwarding checks on this interface
  unconditional-src-learn  Glean from arp packets even when source cannot be validated
  |                    Pipe through a command

3. デフォルトの設定

デフォルトでは以下のConfigが投入されています。
要するに、DHCPでアドレスを取得するようになるようです。

root> show configuration | display set | match me0 | no-more<
set interfaces me0 unit 0 family inet dhcp vendor-id Juniper-ex2200-48t-4g

4. 設定を投入してみる。

WebUIおよびSSHによるCLIが、MGMTポートから可能なよう設定します。

root> configure
Entering configuration mode
root# delete interfaces me0 unit 0 family inet dhcp
root# set interfaces me0 unit 0 family inet address 192.168.0.1/24
root# set system services ssh
root# set system services web-management https
root# set system services web-management https system-generated-certificate
root# commit check
configuration check succeeds
root# commit
configuration check succeeds
commit complete

5. 設定を確認する

CLIモードで以下のコマンドを投入する事で、MEについてのconfigを表示できます。

root> show configuration | display set | match me0 | no-more
set interfaces me0 unit 0 family inet address 192.168.0.1/24

PCには、192.168.0.2/24を設定します。
ここでは、USB Ethernet3に、手入力でIPアドレスを設定します。
Juniper EX のMGMTポート: 手入力でIPアドレスを設定

ICMPの疎通の確認

双方にアドレスを設定後、ICMPが疎通する事を確認します。

$ ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1): 56 data bytes
64 bytes from 192.168.0.1: icmp_seq=0 ttl=64 time=1.274 ms
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=1.027 ms
SSHでのログイン

次に、SSHでログインできる事を確認します。
まず、SSH(22/tcp)をLISTENしているか確認します。

$ telnet 192.168.0.1 22
Trying 192.168.0.1...
Connected to 192.168.0.1.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.0
^]
telnet> quit
Connection closed.

SSHでログインします。

$ ssh root@192.168.0.1
The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
RSA key fingerprint is eb:xx:69:xx:53:xx:d2:xx:de:xx:a3:xx:01:xx:f7:xx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.1' (RSA) to the list of known hosts.
root@192.168.0.1's password:
--- JUNOS 12.3R7.7 built 2014-06-12 14:14:29 UTC
root@:RE:0%
WebUI(https)の確認

http://192.168.0.1(仮)をブラウザで開きます。
Juniper EX のMGMTポート: WebUIにアクセス
Juniper EX のMGMTポート: WebUIでポートの様子を確認
以上で、マネジメントエンジンが正常に機能した事が確認できました。

なぜMGMTポートが必要なのか

さて、僕の経験なのですが、実ははあるととても助かります。

過去に、顧客のネットワークで暴走したネットワークを、リモートハンドとリモート接続のみで鎮めた事があります。この時は、別ベンダのスイッチが原因で、SpaningTreeの実装にバグがあり、ブロッキングポートが解除されてしまった事が原因でした。

さて、この時仮に、リモートで乗り込める『物理的に別のネットワーク』と、『別のNIC』があった場合どうなのでしょうか。また、こうする事で、スイッチ側のチップ(ASIC)が暴走した場合でも、CPUと別のNIC・ネットワークは生きているので、暴走を鎮める(リブートする)事ができます。

この実装が、ManagementEngine=ME及びMGMTポートなのです。

参考までに、かつてCatalyst2924XLではブロードキャストパケットをCPUで処理していました。このため、ブロードキャストストームが発生するとCPUの処理がかかりきりになり、ネットワークをメンテするどころではありません。(この当時RappidSpaningTree=RSTPもなかったので、これが嫌ならばリンクアップに30秒待たなければいけません。)

また、上記の例ではなくとも、48Port全てをサービスポートに使う為、メンテナンス用VLANすら切れないネットワークもあります。このような場合にも、MGMTポートは有用です。

元記事はこちらです。
Juniper EXのマネジメントポートを使用する。