技術部ネットワーク課の若松です。
これまでシナプスではCisco社製とヤマハ社製のルータ/スイッチを触る機会が多かったのですが、この度Juniper(ジュニパーネットワークス)社のMX204を触らせていただく機会に恵まれました。 簡単ですが、製品と設定について紹介させていただきます。
MX204とは
詳細についてはメーカサイトに譲りますが、1Gbps/10Gbps兼用のポートが8つ、40Gbps/100Gbps兼用のポートが4つ実装されており、最大スループット400Gbpsという高性能の割にコンパクトな1Uサイズのルータです。 個人的には"なかなかイイ!"と思います。
JunOSとは
JunOS(ジュノス)とは、Juniper社製のルータ/スイッチで稼働するOSでFreeBSDをベースに開発されております。
基本的な設定
3つのモード
JunOSでは、シェルコマンドモード、CLIオペレーションモード、CLIコンフィグレーションモードの3つの操作モードがあります。 シェルコマンドモードでは、FreeBSDのコマンドなども実行可能です。
CLIオペレーションモードではルータ/スイッチの状態を確認する際に使用し、CLIコンフィグレーションモードでは、実際の設定が可能です。 それぞれのモードに切り替えは以下の通りです。
例えば、CLIオペレーションモードからCLIコンフィグレーションモードに切り替えるには、configure と入力します。
root> configure Entering configuration mode [edit] root#
[edit]のあとのプロンプトが > から # になりました。
逆ににCLIコンフィグレーションモードからCLIオペレーションモードに切り替えるにはquit か exit と入力します。
root# exit Exiting configuration mode root>
プロンプトが # から > に戻りました。
使えるインターフェース名の確認
ここから簡単な設定をしてみます。 まずは、インターフェースにIPv4アドレスを設定しようと思ったのですが、当初使えるインターフェース名が分かりませんでした。 インターフェース名は、CLIオペレーションモードで show interfaces terse を実行すればよいということが分かりました。
root> show interfaces terse Interface Admin Link Proto Local Remote (途中略) xe-0/0/0:0 up down xe-0/0/0:0.16386 up down xe-0/0/0:1 up down xe-0/0/0:1.16386 up down xe-0/0/0:2 up down xe-0/0/0:2.16386 up down (途中略) xe-0/1/0 up down xe-0/1/0.16386 up down xe-0/1/1 up down xe-0/1/1.16386 up down xe-0/1/2 up down xe-0/1/2.16386 up down xe-0/1/3 up down xe-0/1/3.16386 up down (途中略)
IPv4アドレスの設定
次に xe-0/1/0 にIPv4アドレスを設定してみます。
root> configure CLIコンフィグレーションモードへ移行 Entering configuration mode [edit] root# set interfaces xe-0/1/0 unit 0 family inet address 192.168.0.1/24 [edit] root#
IPv4アドレス設定の際にご注意いただきたいのは、IPv4アドレスを間違ってしまった場合、正しいIPv4アドレスを再度入れたとしても誤ったほうも残ってしまう(自動的に複数のIPv4アドレスが割り当てられた状態になる)ということです。 正しいIPv4を設定するには、
root# delete interfaces xe-0/1/0 unit 0 family inet address <誤って設定したIPv4アドレス>
とdeleteコマンドで一旦削除するか
root# rename interfaces xe-0/1/0 unit 0 family inet address <正しい\Pv4アドレス>
というように rename コマンドで再設定します。
変更箇所の表示
コンフィグレーションの変更箇所(差分)のみの表示をするには show | compare を実行します。
root# show | compare [edit interfaces] + xe-0/1/0 { + unit 0 { + family inet { + address 202.208.178.210/30; + } + } + } [edit]
xe0/1/0 の変更箇所が表示されました。 追加された部分の先頭に + が表示されています。
もし設定削除した場合は先頭に - が表示されます。
コンフィグレーションの表示
現在のコンフィグレーション全体を表示するには show コマンドを実行します。 コンフィグレーションはカッコで階層表示されます。 また、表示される内容は Candidate(候補)コンフィグレーションです。
root# show ## Last changed: 2021-05-26 10:00:53 UTC version 19.4R3.11; system { (途中略) } interfaces { xe-0/1/0 { unit 0 { family inet { address 192.168.0.1/24; } } } fxp0 { unit 0 { family inet { dhcp { vendor-id Juniper-mx204-BK207; } } } } } [edit]
また、CLIオペレーションモードでshow configuration コマンドを実行することで同様の確認が可能です。
設定の有効化
CLIコンフィグレーションモードで表示されたコンフィグレーションはCiscoやヤマハと違いすぐには有効化(反映)されません。
設定の有効化
設定の有効化には、commit コマンドを使用します。 commitコマンドには以下のようなオプションがあります。
コマンド(オプション) | 説明 |
---|---|
commit and-quit | commit後にコンフィグレーションモードを抜ける |
commit at <TIME> | 指定時刻にcommitする |
commit check | 設定を有効化せず、チェックのみ行う |
commit comment | 設定にコメントを付ける |
commit confirmed <Minutes> | 指定した時間にのち、commit前の状態に戻す |
なお、commit confirmed コマンドを使用すれば、一旦Candidateコンフィグレーションの内容を有効化しますが、設定時間内に再度commitコマンドが入力されない場合、自動的にcommit前の状態に戻ります。 このコマンドは遠隔地のルータを設定変更する時に、設定誤りなどでリモートログインできなくなった場合に備える意味で大変有用だと思います。 とりあえず、今回は commit と入力し、有効化しました。
root# commit commit complete [edit]
set形式でのコンフィグレーションの表示
CLIオペレーションモードで、set configration | display set と入力すると、実際に設定をする際の形式(set ~)でも表示できます。
root> show configuration | display set set version 19.4R3.11 set system syslog user * any emergency set system syslog file messages any notice set system syslog file messages authorization info set system syslog file interactive-commands interactive-commands any (途中略) set interfaces xe-0/1/0 unit 0 family inet address 192.168.0.1/24 set interfaces fxp0 unit 0 family inet dhcp vendor-id Juniper-mx204-BK207
この形式は作業履歴を残したり、差分を確認する際に大変有用だと思います。
インターフェース状態の確認
インターフェースにIPv4アドレスも割り当てたことですし、光ケーブルを接続し show interfaces xe-0/1/0コマンドでインターフェースがアップ状態になっているか確認してみます。
root> show interfaces xe-0/1/0 Physical interface: xe-0/1/0, Enabled, Physical link is Up Interface index: 165, SNMP ifIndex: 559 Link-level type: Ethernet, MTU: 1514, MRU: 1522, LAN-PHY mode, Speed: 10Gbps, BPDU Error: None, Loop Detect PDU Error: None, MAC-REWRITE Error: None, Loopback: None, Source filtering: Disabled, Flow control: Enabled, Speed Configuration: Auto Pad to minimum frame size: Disabled Device flags : Present Running Interface flags: SNMP-Traps Internal: 0x4000 Link flags : None CoS queues : 8 supported, 8 maximum usable queues Schedulers : 0 Current address: e4:fc:82:45:4c:2f, Hardware address: e4:fc:82:45:4c:2f Last flapped : 2021-05-26 08:57:01 UTC (01:45:02 ago) Input rate : 0 bps (0 pps) Output rate : 0 bps (0 pps) Active alarms : None Active defects : None PCS statistics Seconds Bit errors 2 Errored blocks 2 Interface transmit statistics: Disabled Logical interface xe-0/1/0.0 (Index 99) (SNMP ifIndex 575) Flags: Up SNMP-Traps 0x4004000 Encapsulation: ENET2 Input packets : 513 Output packets: 2 Protocol inet, MTU: 1500 Max nh cache: 100000, New hold nh limit: 100000, Curr nh cnt: 0, Curr new hold cnt: 0, NH drop cnt: 0 Flags: Sendbcast-pkt-to-re Addresses, Flags: Is-Default Is-Preferred Is-Primary Destination: 192.168.0/24, Local: 192.168.0.1, Broadcast: 192.168.0.255 Protocol multiservice, MTU: Unlimited Flags: Is-Primary
Physical link is Upと、アップしていることが分かります。
対向側の機器(192.168.0.2)へpingしてみます。
root> ping count 5 192.168.0.2 PING 192.168.0.2 (192.168.0.2): 56 data bytes 64 bytes from 192.168.0.2: icmp_seq=0 ttl=255 time=0.751 ms 64 bytes from 192.168.0.2: icmp_seq=1 ttl=255 time=0.593 ms 64 bytes from 192.168.0.2: icmp_seq=2 ttl=255 time=0.586 ms 64 bytes from 192.168.0.2: icmp_seq=3 ttl=255 time=0.522 ms 64 bytes from 192.168.0.2: icmp_seq=4 ttl=255 time=0.496 ms --- 192.168.0.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.496/0.590/0.751/0.089 ms
とりあえずうまく行ったようです。
感想
短時間触ってみましたが、ついついCiscoのコマンドを入れてしまうなど、慣れが必要な面もありました。 しかし、今まで触ったことがない機器に触れるのは楽しいものですね。 気分としては今まで乗ったことが無い車に乗るような感じです。
今後もリンクアグリゲーションやTAG-VLAN(802.1Q)、ダイナミックルーティング(OSPF/BGP4)や、IPv6回りも検証を進めていきたいと思います。