サイト内検索

SONiCで業界標準コマンドを試してみた~Edgecore-SONiC編~

はじめに

これまで、OpenNetworking Blogでは、Edgecore-SONiC (以下ecSONiC)を中心に、ホワイトボックススイッチやSONiCについて触れてきました。
これらが浸透していく中で、様々なお客様から、業界標準のコマンド体系に対応してほしいというお声を頂くことが増えてきました。

ecSONiCでは、昨年末リリースのバージョン「ec202111.10」で業界標準コマンド体系のCLIを新たにサポートしました。
そこで本記事では、このCLIでスイッチに対する基本設定ができるかどうか、実機で試してみた結果について触れていきます。

【本記事のポイント】

          ecSONiCで業界標準コマンド体系での設定「isCLI」をサポート。

          基本機能は、Linux CLIでもisCLIでも設定可能。

          Linux CLIでSONiCを敬遠しているエンジニアに裾野が広がることを期待。

Edgecore-SONiC業界標準コマンド体系「isCLI」

ecSONiCでは、業界標準コマンド体系のモードを「isCLI(Cisco Like CLI)」(他ベンダでは SONIC CLI等)と呼んでいます。

isCLI実装機能

ec202111.10時点で、isCLIで実装されている機能は以下の通りです。

・System Status、File Mgmt、Event Logs、Time、
・ACL、Interface、Port Channel、MCLAG、Port Mirror、
・FDB、VLAN、EVPN/VxLAN、Priority、WRED&ECN、Buffer、PFC、LLDP、
・IPv4 & IPv6、ARP、Routing、BGP、VRF、SAG

isCLIモードへの遷移

ecSONiCにログイン後、「sonic-cli」コマンドでisCLIへモード遷移します。

admin@sonic:~$ sonic-cli
sonic# configure terminal

確認結果

今回は、VlanやIPアドレス割り当て、LAG、Routingなどの基本的な機能の設定可否について確認しました。
確認した各設定項目のサマリーです。

設定内容

結果

VLAN+IPアドレス+ポートアサイン (Access Port、Trunk Port) 設定可能
Routed portに対するIPアドレス設定 設定可能
LAG LACPのみ設定可能
Static Routing 設定可能
管理系機能:HostName、NTP、SNMP NTPサーバの指定のみ可能

VLAN設定 + IPアドレス設定

Vlan及びIPアドレスは、以下で設定しました。

sonic# configure terminal

### VLANの作成 sonic(config)# vlan database sonic(config-vlan)# vlan 10 sonic(config-vlan)# vlan 11 sonic(config-vlan)# vlan 12 sonic(config-vlan)# exit

### VLANに対するIPアドレス設定 sonic(config)# interface vlan 10 sonic(config-if-Vlan10)# ip address 1.1.1.1 255.255.255.0 sonic(config-if-Vlan10)# exit

sonic(config)# interface vlan 11 sonic(config-if-Vlan11)# ip address 2.2.2.1 255.255.255.0 sonic(config-if-Vlan11)# exit

sonic(config)# interface vlan 12 sonic(config-if-Vlan12)# ip address 3.3.3.1 255.255.255.0 sonic(config-if-Vlan12)# end



設定したVlan及びIPアドレスは、以下で確認しました。


### VLAN・IPアドレス設定結果確認
sonic# show vlan brief
+-----------+--------------+---------+-----------+----------+---------------+---------------+----------------------------+
|   VLAN ID | IP Address   | Ports   | Port      | Proxy    | Description   | DHCP Helper   | DHCP Relay Configuration   |
|           |              |         | Tagging   | ARP      |               | Address       |                            |
+===========+==============+=========+===========+==========+===============+===============+============================+
|        10 | 1.1.1.1/24   |         |           | disabled |               |               | Source Interface:          |
|           |              |         |           |          |               |               | Link Selection:            |
|           |              |         |           |          |               |               | Server Vrf:                |
|           |              |         |           |          |               |               | Server ID Override:        |
|           |              |         |           |          |               |               | Primary Address:           |
|           |              |         |           |          |               |               | Max Packet Size:           |
+-----------+--------------+---------+-----------+----------+---------------+---------------+----------------------------+
|        11 | 2.2.2.1/24   |         |           | disabled |               |               | Source Interface:          |
|           |              |         |           |          |               |               | Link Selection:            |
|           |              |         |           |          |               |               | Server Vrf:                |
|           |              |         |           |          |               |               | Server ID Override:        |
|           |              |         |           |          |               |               | Primary Address:           |
|           |              |         |           |          |               |               | Max Packet Size:           |
+-----------+--------------+---------+-----------+----------+---------------+---------------+----------------------------+
|        12 | 3.3.3.1/24   |         |           | disabled |               |               | Source Interface:          |
|           |              |         |           |          |               |               | Link Selection:            |
|           |              |         |           |          |               |               | Server Vrf:                |
|           |              |         |           |          |               |               | Server ID Override:        |
|           |              |         |           |          |               |               | Primary Address:           |
|           |              |         |           |          |               |               | Max Packet Size:           |
+-----------+--------------+---------+-----------+----------+---------------+---------------+----------------------------+


作成したVLANに対し、以下の通りAccess PortTrunk Portでポートアサインの設定を投入しました。

sonic# configure terminal

### VLANのポートアサイン (Access Port) sonic(config)# interface Ethernet 0 sonic(conf-if-Ethernet0)# switchport allowed vlan add 10 untagged sonic(conf-if-Ethernet0)# exit

### VLANのポートアサイン (Trunk Port) sonic(config)# interface Ethernet 1 sonic(conf-if-Ethernet1)# switchport allowed vlan add 11-12 tagged sonic(conf-if-Ethernet1)# end


VLANのポートアサイン結果は、以下のように確認しました。

### VLANのポートアサイン結果確認
sonic# show vlan brief
+-----------+--------------+-----------+-----------+----------+---------------+---------------+----------------------------+
|   VLAN ID | IP Address   | Ports     | Port      | Proxy    | Description   | DHCP Helper   | DHCP Relay Configuration   |
|           |              |           | Tagging   | ARP      |               | Address       |                            |
+===========+==============+===========+===========+==========+===============+===============+============================+
|        10 | 1.1.1.1/24   | Ethernet0 | untagged  | disabled |               |               | Source Interface:          |
|           |              |           |           |          |               |               | Link Selection:            |
|           |              |           |           |          |               |               | Server Vrf:                |
|           |              |           |           |          |               |               | Server ID Override:        |
|           |              |           |           |          |               |               | Primary Address:           |
|           |              |           |           |          |               |               | Max Packet Size:           |
+-----------+--------------+-----------+-----------+----------+---------------+---------------+----------------------------+
|        11 | 2.2.2.1/24   | Ethernet1 | tagged    | disabled |               |               | Source Interface:          |
|           |              |           |           |          |               |               | Link Selection:            |
|           |              |           |           |          |               |               | Server Vrf:                |
|           |              |           |           |          |               |               | Server ID Override:        |
|           |              |           |           |          |               |               | Primary Address:           |
|           |              |           |           |          |               |               | Max Packet Size:           |
+-----------+--------------+-----------+-----------+----------+---------------+---------------+----------------------------+
|        12 | 3.3.3.1/24   | Ethernet1 | tagged    | disabled |               |               | Source Interface:          |
|           |              |           |           |          |               |               | Link Selection:            |
|           |              |           |           |          |               |               | Server Vrf:                |
|           |              |           |           |          |               |               | Server ID Override:        |
|           |              |           |           |          |               |               | Primary Address:           |
|           |              |           |           |          |               |               | Max Packet Size:           |
+-----------+--------------+-----------+-----------+----------+---------------+---------------+----------------------------+

Routed Portに対するIPアドレス設定

Routed Portに対するIPアドレスは、以下のように設定しました。

sonic# configure terminal
### Routed Portに対するIPアドレス設定
sonic(config)# interface Ethernet 0
sonic(conf-if-Ethernet0)# ip address 1.1.1.1/24
sonic(conf-if-Ethernet0)# end

### IPアドレス設定確認 sonic# show ip interface Ethernet 0 Interface Master IPv4 address/mask Admin/Oper BGP Neighbor Neighbor IP ----------- -------- ------------------- ------------ -------------- ------------- Ethernet0 1.1.1.1/24 up/down N/A N/A sonic#

LAG

LAGは、LACP設定のみ可能でした。
LACPは以下のように設定しました。

sonic# configure terminal
### ※VLAN設定は割愛
### LACPインターフェースの作成・設定投入 sonic(config)# interface PortChannel 1 sonic(conf-if-PortChannel1)# switchport allowed vlan add 100 untagged sonic(conf-if-PortChannel1)# exit
sonic(config)# interface PortChannel 2 sonic(conf-if-PortChannel2)# switchport allowed vlan add 200 tagged sonic(conf-if-PortChannel2)# exit
### LACPメンバーポートの設定 sonic(config)# interface Ethernet0 sonic(conf-if-Ethernet0)# lacp 1 sonic(conf-if-Ethernet0)# exit
sonic(config)# interface Ethernet1 sonic(conf-if-Ethernet1)# lacp 2 sonic(conf-if-Ethernet1)# exit sonic(config)# exit
### LACP設定結果確認 sonic# show PortChannel Port Channel : PortChannel1 MTU : 9100 Member Port : Ethernet0
Port Channel : PortChannel2 MTU : 9100 Member Port : Ethernet1

Static Routing

Static Routingは、以下のように設定しました。

### Static Routeの設定
sonic(config)# ip route 192.168.10.0 255.255.255.0 192.168.0.2

### Static Route 設定後のルート確認 sonic(config)# show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, > - selected route, * - FIB route, q - queued, r - rejected, b - backup t - trapped, o - offload failure K>* 0.0.0.0/0 [0/0] via 192.168.0.1, eth0, 21:01:30 C>* 192.168.0.0/24 is directly connected, eth0, 21:01:30 S>* 192.168.10.0/24 [1/0] via 192.168.0.2, eth0, weight 1, 00:00:30

### Static Routeの削除 sonic(config)# no ip route 192.168.10.0 255.255.255.0

### Static Routeの削除結果確認 sonic(config)# show ip route Codes: K - kernel route, C - connected, S - static, R - RIP, O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP, T - Table, v - VNC, V - VNC-Direct, A - Babel, F - PBR, f - OpenFabric, > - selected route, * - FIB route, q - queued, r - rejected, b - backup t - trapped, o - offload failure K>* 0.0.0.0/0 [0/0] via 192.168.0.1, eth0, 21:04:23 C>* 192.168.0.0/24 is directly connected, eth0, 21:04:23 sonic(config)#

管理系機能:HostName、NTP、SNMP

HostNameNTPSNMPのうち、現在のecSONiCではNTPのみサポートされています。
HostNameは下記のように設定したところ、エラーとなりました。

sonic# configure terminal
sonic(config)# hostname hoge
               ^
% Error: Invalid input detected at "^" marker.
sonic(config)#


NTP
は下記のように設定しました。

sonic(config)# ntp server 1.1.1.1
sonic(config)# end
sonic# show ntp server
NTP Server 1.1.1.1
sonic#

SNMPは下記のように設定したところ、エラーとなりました。

sonic(config)# snmp-server
                ^
% Error: Invalid input detected at "^" marker.
sonic(config)#

所感と今後

今回、ecSONiCでisCLIを使用し、VLANやIPアドレス、Static Routingなど、基本的な機能を設定することができました。

ecSONiCでは、2025年5月リリースの「ec202111.11」でも、isCLIで設定可能な機能も拡充されています。
これにより、業界標準コマンド体系のネットワーク機器を触れてきたエンジニアの皆様にも、SONiC利用のハードルが下がってくると考えています。

まとめ

今回はecSONiCの業界標準体型のコマンド「isCLI」を使用して、基本的な機能の設定可否を確認しました。
独特なコマンド体系によりSONiCを敬遠している方も、ぜひ一度触れてみてはいかがでしょうか?

資料一覧はこちら

資料一覧

マクニカが取り扱う製品のご紹介のほか、
BGPクロスネットワーク自動構築ファイルやネットワーク運用試験評価レポートなど、オープンネットワーキングに関する資料を掲載しております。

詳細はこちら

製品ページTopへ

Aviz Networks

オープンソースネットワークOSであるSONiCのパイオニアであり、可観測性や設定自動化ツール、SONiCエキスパートチームによるサポートを提供しています。

Edgecore Networks

OpenNetworking/ホワイトボックススイッチ関連製品を先行して開発・販売し、オープンネットワーキングの先駆者であり続けています。

IP Infusion

オープンネットワーキングプロバイダのマーケットリーダーとして、キャリア、サービスプロバイダ、データセンターなど600社以上のお客様に信頼性の高いネットワークソリューションを提供しています。

お問い合わせ・資料請求

株式会社マクニカ Edgecore Networks 担当

平日 9:00~17:00