APRESIA Technical Blog

[ホワイトボックススイッチ]Network OS基本コマンド

はじめに

本記事では、Network OS(Cumulus Linux、OcNOS)の基本コマンドについて紹介します。
Network OSのインストールとライセンス有効化方法については、こちらをご確認ください。

 

Cumulus Linux

NCLU(Network Command Line Utility)

  • Cumulus Linux3.2以降でサポートされているネットワークエンジニアにとって分かりやすいCLIベースのコマンドライン
  • netコマンドとして提供されており、設定投入やトラブルシュートを簡略化します。
  • Cumulus Linux上の各種ファイルを直接編集し設定することも可能ですが、本記事では主にnetコマンドについて解説をします。

 

設定保存

設定変更予定内容の確認

  • netコマンドによる設定後、本コマンドで設定変更予定内容を確認できます。

 cumulus@cumulus:~$ net pending

設定保存

  • 設定変更内容が確定され、装置に保存されます。

 cumulus@cumulus:~$ net commit

ホスト名の設定

  • コマンドプロンプト上のホスト名は、ログアウトするか新規のシェルを開始するまでは反映されません。

 cumulus@cumulus:~$ net add hostname {ホスト名}

設定例:ホスト名を「AS6812-32X」に設定し、設定内容を確認・反映。その後コマンドプロンプト上にホスト名を表示する。

 cumulus@cumulus:~$ net add hostname AS6812-32X
 cumulus@cumulus:~$ net pending
 cumulus@cumulus:~$ net commit
 cumulus@cumulus:~$ bash
 cumulus@AS6812-32X:~$

 

  • 設定したホスト名は/etc/hostnameと/etc/hostsファイルに保存されます。
 cumulus@AS6812-32X:~$ cat /etc/hostname
 AS6812-32X
 cumulus@AS6812-32X:~$ cat /etc/hosts
 ~
 127.0.1.1       AS6812-32X

管理用IPアドレスの設定

  • eth0はアウトバンド管理用のポートして使用され、デフォルトではDHCPに設定されています。
  • 本コマンドにより固定IPアドレスに設定変更が可能です。

 cumulus@cumulus:~$ net add interface eth0 ip address {IPアドレス/マスク長}

使用例:管理ポート(eth0)のIPアドレスを「192.168.0.10/24」に設定し、設定内容を確認・反映させる。

 cumulus@cumulus:~$ net add interface eth0 ip address 192.168.0.10/24
 cumulus@cumulus:~$ net pending
 cumulus@cumulus:~$ net commit

ゲートウェイの設定

 cumulus@cumulus:~$ net add interface eth0 ip gateway {IPアドレス}

設定例:管理ポート(eth0)のゲートウェイを「192.168.0.254」に設定し、設定を確認・反映させる。

 cumulus@cumulus:~$ net add interface eth0 ip gateway 192.168.0.254
 cumulus@cumulus:~$ net pending
 cumulus@cumulus:~$ net commit

 

  • 設定したIPアドレスおよびゲートウェイは、/etc/network/interfacesファイルに保存されます。
 cumulus@cumulus:~$ cat /etc/network/interfaces
 ~
 auto eth0
 iface eth0
  address 192.168.0.10/24
  gateway 192.168.0.254
 ~

ユーザーアカウントの設定

Cumulus Linuxでは「cumulus」と「root」の2種類のアカウントがデフォルトで設定されています。

cumulusアカウント

  • デフォルトパスワード: CumulusLinux! 
  • sudo権限を与えられたsudoグループに属するアカウント
  • ConsoleやSSHなど全てのユーザーチャネルを通してシステムにログイン可能です。
  • netコマンドでshow, configureコマンドの実行が可能です。

rootアカウント

  • パスワードはデフォルトで無効
  • スイッチのあらゆるシステムにアクセスすることができる全ての権限を持ちます。
  • SSH, telnet, FTPなどによるログインはデフォルトで無効に設定されています。

 

rootアカウントのパスワード設定方法

①cumulusアカウントでログインし、sudo passwdコマンドでrootアカウントのパスワードを設定

 cumulus@cumulus:~$ sudo passwd root
 [sudo] password for cumulus:CumulusLinux!
 Enter new UNIX password:apresia  #rootアカウント用の新規パスワードを入力
 Retype new UNIX password:apresia  #rootアカウント用の新規パスワードを再入力
 passwd: password updated successfully
 cumulus@cumulus:~$

 

②/etc/ssh/sshd_configのPermitRootLoginの設定をwithout-passwordからyesに変更

 cumulus@cumulus:~$ sudo vi /etc/ssh/sshd_config
 # Authentication:
 ~
 PermitRootLogin yes
 # without-password

 

③sshサービスをリスタート

 cumulus@cumulus:~$ sudo systemctl reload ssh.service

 

④①で設定したrootアカウントのパスワードを使用し、SSH経由でログイン可能(※)
※SSH経由でのrootログインは通常不要であり、セキュリティリスクになる場合があります。特に理由がなければ、デフォルト設定から変更しないことを推奨します。

タイムゾーンの設定

  • 対話型モードで設定をした場合、ログファイルなどの既に実行されているサービスや現在ログインしているユーザーは、即座に設定変更が反映されません。
  • 全てのサービスにタイムゾーンの変更を反映させるためには、装置再起動が必要です。
 cumulus@cumulus:~$ sudo dpkg-reconfigure tzdata

 

設定手順

①スクリーンメニューに従って、地域を選択する。

②スクリーンメニューに従って、タイムゾーンを選択する。

③選択が完了すると、以下のように現地時間と標準時間が設定される。

 Current default time zone: 'Asia/Tokyo'
 Local time is now: Wed Jul 18 09:06:38 JST 2018.
 Universal Time is now: Wed Jul 18 00:06:38 UTC 2018.

 

確認例

 cumulus@cumulus:~$ cat /etc/timezone
 Asia/Tokyo

時刻設定

スイッチには電池内蔵のハードウェアクロックを実装しており、電源オフ時やリブート中でも時刻を維持することができます。起動中にハードウェアクロックの時刻はOSのシステムクロックにコピーされ、シャットダウン時にはソフトウェアクロックはハードウェアクロックに再びコピーされます。dateコマンドを用いて、ソフトウェアクロックの時刻を設定することが可能です。

・ソフトウェアクロックの設定

 cumulus@cumulus:~$ sudo date -s "Tue Jul 19 11:40:00 2018"
 Thu Jul 19 11:40:00 JST 2018

 

・ソフトウェアクロックからハードウェアクロックへの書き込み

 cumulus@cumulus:~$ sudo hwclock -w

NTP設定

  • 本コマンドで設定されたNTPサーバーは/etc/ntp.confに保存されます。
  • ntpdデーモンはデフォルトで起動状態です。
 cumulus@cumulus:~$ net add time ntp server {IPアドレス/サーバー名} [iburst]

 

設定例:10.249.91.51のNTPサーバーをiburst(※)オプションありで追加する。
※iburst:NTPサーバーに到達できない場合、8パケット分のバーストフレームを送信する。

 cumulus@cumulus:~$ net add time ntp server 10.249.91.51 iburst

 

確認例

 cumulus@cumulus:~$ net show time ntp servers
 remote            refid              st  t  when poll  reach delay  offset      jitter
 ====================================================
 10.249.91.51  10.249.45.11 3    u  2        64    1       0.620  224.410  5.013

OcNOS

設定保存

設定の保存は、write memoryコマンドもしくはcopy running-config start-up configコマンドにて可能です。

・write memoryコマンド

 OcNOS#write memory
 Building configuration...
 [OK]

 

・copy running-config startup-configコマンド

 OcNOS#copy running-config startup-config
 Building configuration...
 [OK]

 

ホスト名の設定

  • OcNOSでは、設定後即座にコマンドプロンプト上のホスト名が表示されます。
 OcNOS(config)#hostname {ホスト名}

 

設定例:ホスト名を「AS5812-54X」に設定する。

 OcNOS(config)#hostname AS5812-54X
 AS5812-54X(config)#

 

管理用IPアドレスの設定

  • eth0はアウトバンド管理用のポートとして使用されます。
  • eth0のデフォルトIPアドレスは、Network OSインストール時にONIE上で設定したIPアドレスを引き継ぎます。
 OcNOS(config-if)#ip address {IPアドレス/マスク長}

 

設定例:管理ポート(eth0)のIPアドレスを10.249.34.7/23に設定する。

 AS5812-54X(config)#interface eth0
 AS5812-54X(config-if)#ip address 10.249.34.7/23

 

確認例

 AS5812-54X#show ip interface eth0 brief
 '*' - address is assigned by dhcp client
 Interface    IP-Address    Admin-Status    Link-Status
 eth0      10.249.34.7    up         up

 

ゲートウェイの設定

  • eth0のゲートウェイ設定は、Network OSインストール時にONIE上で設定したルート情報を引き継ぎます。
 AS5812-54X(config)#ip route vrf management {Dest} {Gateway} eth0

 

設定例:管理ポート(eth0)のゲートウェイを10.249.34.1に設定する。

 AS5812-54X(config)#ip route vrf management 0.0.0.0/0 10.249.34.1 eth0

確認例

 AS5812-54X#show ip route vrf management interface eth0
 Gateway of last resort is 10.249.34.1 to network 0.0.0.0
 S*   0.0.0.0/0 [1/0] via 10.249.34.1, eth0
 C   10.249.34.0/23 is directly connected, eth0

 

ユーザーアカウントの設定

OcNOSでは、「ocnos」と「root」の2種類のアカウントがデフォルトで設定されています。

ocnosアカウント

  • デフォルトパスワード: ocnos 
  • Console、Telnet、SSHなど全てのユーザーチャネルを通してシステムにログイン可能
  • enableモード、configモードなど全てのモードに入れます。

rootアカウント

  • デフォルトパスワード: root 
  • Consoleでのみログイン可能
  • スイッチのあらゆるシステムにアクセスすることができる全ての権限を持ちます。

 

時刻/タイムゾーンの設定

OcNOSの時刻/タイムゾーン設定はこちらで紹介しています。

 

NTP設定

  • NTPはデフォルトでdisableのため、enable設定も合わせて必要です。
 AS5812-54X(config)#ntp server {IPアドレス}
設定例:10.249.91.51のNTPサーバーを設定し、NTPをenableにする。
 AS5812-54X(config)#ntp server 10.249.91.51
 AS5812-54X(config)#ntp enable
 AS5812-54X#ntp sync-retry vrf management
確認例
 AS5812-54X#show ntp peer-status
 Total peers : 1
 ~
 remote     local      st  poll  reach  delay   offset   disp
 ==================================================
 10.249.91.51  10.249.34.7   3   16   1   0.00108  8.269109   2.81874

 

ホワイトボックススイッチに興味ある方はこちらへ