尚、お昼はさくら水産ランチの揚げ物でした…。えぇ、TKGおいしかったです。3杯食べました…(赤面
『マネジメントエンジン』ってなーに?
JUNOS BOXの一部機種(EXシリーズなど)では、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アドレスを設定します。
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(仮)をブラウザで開きます。
以上で、マネジメントエンジンが正常に機能した事が確認できました。
なぜMGMTポートが必要なのか
さて、僕の経験なのですが、実ははあるととても助かります。
過去に、顧客のネットワークで暴走したネットワークを、リモートハンドとリモート接続のみで鎮めた事があります。この時は、別ベンダのスイッチが原因で、SpaningTreeの実装にバグがあり、ブロッキングポートが解除されてしまった事が原因でした。
さて、この時仮に、リモートで乗り込める『物理的に別のネットワーク』と、『別のNIC』があった場合どうなのでしょうか。また、こうする事で、スイッチ側のチップ(ASIC)が暴走した場合でも、CPUと別のNIC・ネットワークは生きているので、暴走を鎮める(リブートする)事ができます。
この実装が、ManagementEngine=ME及びMGMTポートなのです。
参考までに、かつてCatalyst2924XLではブロードキャストパケットをCPUで処理していました。このため、ブロードキャストストームが発生するとCPUの処理がかかりきりになり、ネットワークをメンテするどころではありません。(この当時RappidSpaningTree=RSTPもなかったので、これが嫌ならばリンクアップに30秒待たなければいけません。)
また、上記の例ではなくとも、48Port全てをサービスポートに使う為、メンテナンス用VLANすら切れないネットワークもあります。このような場合にも、MGMTポートは有用です。
元記事はこちらです。
「Juniper EXのマネジメントポートを使用する。」