-
Notifications
You must be signed in to change notification settings - Fork 14
8‐2 Add Commands_jp
Masterファイルを直接編集するため、実行前に必ずMasterファイルをバックアップしてください。
CLIから以下のaddコマンドを実行できます
- add area_location *Added in Ver 2.6.1
- add device *Added in Ver 2.6.1
- add device_location *Added in Ver 2.6.1
- add ip_address
- add l1_link *Added in Ver 2.6.1
- add l1_link_bulk *Added in Ver 2.6.1
- add l2_segment
- add portchannel
- add virtual_port
- add vport_l1if_direct_binding
- add vport_l2_direct_binding
- add waypoint *Added in Ver 2.6.1
python [file path]/network_sketcher.py [command] --master [master file path]- 以下のように[command] 、--master [master file path] の場所は変更可能
python [file path]/network_sketcher.py -master [master file path] [command]
エリア全体のレイアウト(配置マップ)を更新します。2次元配列でエリアの配置を指定することで、エリアの位置関係を一括で変更できます。新しいエリアも同時に追加可能です。
python [file path]/network_sketcher.py add area_location "[['area_name1','area_name2'],['area_name3','area_name4']]" --master [master file path]- ex.
+BEFORE+
#python .\network_sketcher.py show area_location --master "C:\work[MASTER]test.xlsx"
[['DC1', 'DC2']]
+area_location updated+
#python .\network_sketcher.py add area_location "[['DC1','DC2'],['DC3','DC4']]" --master "C:\work[MASTER]test.xlsx"
--- Area layout updated ---
New areas added: ['DC3', 'DC4']
Device added for DC3: DC3_device_
Device added for DC4: DC4_device_
New area layout:
['DC1', 'DC2']
['DC3', 'DC4']
+AFTER+
#python .\network_sketcher.py show area_location --master "C:\work[MASTER]test.xlsx"
[['DC1', 'DC2'], ['DC3', 'DC4']]
[Tips]
- すべての既存エリアは新しいレイアウトに含める必要があります
- 新しいエリアには自動的にデフォルトデバイスが追加されます(通常エリア: [area_name]_device_、waypointエリア: [area_name]から_wp_を除いた名前)
- Waypoint専用エリア(_wp_で終わるエリア名)を横に連続して配置することはできません
既存のデバイスを基準として、新しいデバイスを指定した方向に追加します。デバイスは通常のエリア(非waypointエリア)に追加されます。
python [file path]/network_sketcher.py add device [new_device_name] [reference_device] [direction] --master [master file path][direction]の指定:
UP : 基準デバイスの上に追加
DOWN : 基準デバイスの下に追加
LEFT : 基準デバイスの左に追加
RIGHT : 基準デバイスの右に追加
UP_WITH_GRID : 基準デバイスの上に行を追加して配置
DOWN_WITH_GRID : 基準デバイスの下に行を追加して配置
LEFT_WITH_GRID : 基準デバイスの左に列を追加して配置
RIGHT_WITH_GRID : 基準デバイスの右に列を追加して配置
- ex.
+BEFORE+
#python .\network_sketcher.py show device_locatoin --master "C:\work[MASTER]test.xlsx"
['tmp', [['sw1', 'sw2']]]
+device added+
#python .\network_sketcher.py add device 'sw4' 'sw1' RIGHT --master "C:\work[MASTER]test.xlsx"
--- Device added --- sw4 relative to sw1 with direction RIGHT
+AFTER+
#python .\network_sketcher.py show device --master "C:\work[MASTER]test.xlsx"
['tmp', [['sw1', 'sw4', 'sw2']]]
[Tips]
- 追加するデバイス名は既存のデバイス名と重複できません
- waypointエリアに配置されているデバイスを基準にすることはできません
特定のエリア内のデバイス配置を更新します。2次元配列でデバイスのグリッドレイアウトを指定することで、エリア内のデバイス位置を一括で変更できます。既存のデバイスはすべて置き換えられます。
python [file path]/network_sketcher.py add device_location "['area_name',[['device_name1','device2_name'],['device_name3','device_name4']]]" --master [master file path]ex.
+BEFORE+
#python .\network_sketcher.py show device_location --master "C:\work[MASTER]test.xlsx"
['DC1', [['SW-1', 'SW-2']]]
+device_location updated+
#python .\network_sketcher.py add device_location "['DC1',[['SW-1','SW-2'],['SW-3','AIR']]]" --master "C:\work[MASTER]test.xlsx"
--- Device location updated for area "DC1" ---
Added devices: ['SW-3']
New device layout (normalized):
['SW-1', 'SW-2']
['SW-3', 'AIR']
+AFTER+
#python .\network_sketcher.py show device_location --master "C:\work[MASTER]test.xlsx"
['DC1', [['SW-1', 'SW-2'], ['SW-3', 'AIR']]]
[Tips]
- デバイスグリッドは自動的に中央揃え・正規化されます
- _AIR_を使用して空のセルを明示的に指定できます
- 新しいデバイスが他のエリアに既に存在する場合はエラーになります
- デバイス配置の変更のみ(追加・削除なし)も可能です
レイヤ3インタフェースにIPアドレスを作成します。1回に1つのIPアドレスが作成できます。繰り返すことで複数のIPアドレスの追加が可能です。
python [file path]/network_sketcher.py add ip_address [device name] [layer3_portname] [ip_address/subnetmask] --master [master file path] - ex.
+BEFORE+
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'Vlan 100', '', '']
+IP Address added+
#python .\network_sketcher.py add ip_address 'L3SW2' 'Vlan 100' '192.168.100.100/24' --master "C:\work\[MASTER]test.xlsx"
--- IP Address added --- L3SW2,Vlan 100,192.168.100.100/24
+AFTER+
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'Vlan 100', '', '192.168.100.100/24']
デバイス間にレイヤ1物理接続を作成します。1回に1つの物理リンクが作成できます。繰り返すことで複数のリンクの追加が可能です。
python [file path]/network_sketcher.py add l1_link [from_device] [to_device] [from_portname] [to_portname] --master [master file path]- ex.
+BEFORE+
#python .\network_sketcher.py show l1_link --master "C:\work[MASTER]test.xlsx"
[['SW-1', 'GigabitEthernet 0/0'], ['SW-3', 'GigabitEthernet 0/1']]
+l1_link added+
#python .\network_sketcher.py add l1_link 'SW-1' 'SW-2' 'GigabitEthernet 0/1' 'GigabitEthernet 0/0' --master "C:\work[MASTER]test.xlsx"
--- Added Layer 1 link --- SW-1 SW-2 GigabitEthernet 0/1 GigabitEthernet 0/0
+AFTER+
#python .\network_sketcher.py show l1_link --master "C:\work[MASTER]test.xlsx"
[['SW-1', 'GigabitEthernet 0/0'], ['SW-3', 'GigabitEthernet 0/1']]
[['SW-1', 'GigabitEthernet 0/1'], ['SW-2', 'GigabitEthernet 0/0']]
[Tips]
- ポート名にスペースが含まれるため、シングルクォート('port 0')で囲む必要があります
複数のレイヤ1物理接続を一括で作成します。配列形式で複数のリンク定義を指定することで、効率的に複数のリンクを追加できます。
python [file path]/network_sketcher.py add l1_link_bulk "[['from_device1','to_device1','from_port1','to_port1'],['from_device2','to_device2','from_port2','to_port2']]" --master [master file path]- ex.
+BEFORE+
#python .\network_sketcher.py show l1_link --master "C:\work[MASTER]test.xlsx"
[['SW-1', 'GigabitEthernet 0/0'], ['SW-3', 'GigabitEthernet 0/1']]
+l1_link_bulk added+
#python .\network_sketcher.py add l1_link_bulk "[['SW-1','SW-2','GigabitEthernet 0/1','GigabitEthernet 0/0'],['SW-2','SW-3','GigabitEthernet 0/1','GigabitEthernet 0/2']]" --master "C:\work[MASTER]test.xlsx"
--- Added 2 Layer 1 link(s) in bulk ---
SW-1(GigabitEthernet 0/1) ↔ SW-2(GigabitEthernet 0/0)
SW-2(GigabitEthernet 0/1) ↔ SW-3(GigabitEthernet 0/2)
Affected devices: ['SW-1', 'SW-2', 'SW-3']
+AFTER+
#python .\network_sketcher.py show l1_link --master "C:\work[MASTER]test.xlsx"
[['SW-1', 'GigabitEthernet 0/0'], ['SW-3', 'GigabitEthernet 0/1']]
[['SW-1', 'GigabitEthernet 0/1'], ['SW-2', 'GigabitEthernet 0/0']]
[['SW-2', 'GigabitEthernet 0/1'], ['SW-3', 'GigabitEthernet 0/2']]
[Tips]
- すべての要素(デバイス名、ポート名)はシングルクォートまたはダブルクォートで囲む必要があります
- バッチ内で同じポートを複数回使用するとエラーになります
- 既存のリンクで使用されているポートは使用できません
インタフェースにVLAN等のレイヤ2セグメントを作成します。1回に1つのレイヤ2セグメントが作成できます。複数のレイヤ2セグメントの作成が可能です。
python [file path]/network_sketcher.py add l2_segment [device name] [layer2_portname] [l2segment_name] --master [master file path] - ex.
+BEFORE+
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'GigabitEthernet 0/0', '', 'Vlan100,Vlan200,Vlan300', '']
+l2_segment added+
#python .\network_sketcher.py add l2_segment 'L3SW2' 'GigabitEthernet 0/0' 'addvlan999' --master "C:\work\[MASTER]test.xlsx"
--- l2 Segment added --- L3SW2,GigabitEthernet 0/0,addvlan999
+AFTER+
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'GigabitEthernet 0/0', '', 'Vlan100,Vlan200,Vlan300,addvlan999', '']
レイヤ1インタフェースにポートチャネル(LAG)を作成します。
python [file path]/network_sketcher.py add portchannel [device name] [layer1_portname] [portchannel_name] --master [master file path] - ex.
+BEFORE+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW1', 'GigabitEthernet 0/0', '', '', '']
['L3SW1', 'GigabitEthernet 0/1', '', '', '']
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW1', 'GigabitEthernet 0/0', '', '']
['L3SW1', 'GigabitEthernet 0/1', '', '']
+portchannel added+
#python .\network_sketcher.py add portchannel 'L3SW1' 'GigabitEthernet 0/0' 'PortChannel 1' --master "C:\work\[MASTER]test.xlsx"
--- portchannel added --- L3SW1,GigabitEthernet 0/0,PortChannel 1
#python .\network_sketcher.py add portchannel 'L3SW1' 'GigabitEthernet 0/1' 'PortChannel 1' --master "C:\work\[MASTER]test.xlsx"
--- portchannel added --- L3SW1,GigabitEthernet 0/1,PortChannel 1
+AFTER+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW1', 'GigabitEthernet 0/0', 'PortChannel 1', '', '']
['L3SW1', 'GigabitEthernet 0/1', 'PortChannel 1', '', '']
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW1', 'PortChannel 1', '', '']
VLAN インターフェイス (SVI) などのレイヤー 3 インターフェイスを作成します。virtual port作成後は、ループバックアドレスの状態となるため、VLANなどのレイヤ2セグメントと接続する場合は、追加でadd l2_segmentコマンドを実施し、作成したvirtual portとl2_segmentを接続してください。
python [file path]/network_sketcher.py add virtual_port [device name] [virtual_portname] --master [master file path] - ex.
+BEFORE+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', '', 'Vlan 300', 'Vlan300', '']
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'Vlan 300', '', '']
+virtual_port added+
#python .\network_sketcher.py add virtual_port 'L3SW2' 'addvlan 999' --master "C:\work\[MASTER]test.xlsx"
--- Virtual Port added --- L3SW2,addvlan 999
+AFTER+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', '', 'addvlan 999', '', '']
['L3SW2', '', 'Vlan 100', 'Vlan100', '']
#python .\network_sketcher.py show l3_interface --master "C:\work\[MASTER]test.xlsx"
['L3SW2', 'Vlan 300', '', '']
['L3SW2', 'addvlan 999', '', '']
レイヤ1インタフェースと直接接続するVirutal portを追加します。例えば、ルータでサブインタフェースを作成し、サブインタフェース毎にdot1qタギングを構成する場合に使用します。1つのレイヤ1インタフェースで複数のVirtual portを接続させる構成も可能です。この設定のみではサブインタフェースを作成した状態であるため、レイヤ2を送受信するには、この設定にadd vport_l2_direct_bindingを追加して作成したVirutal portにVLAN等のレイヤ2要素を追加する必要があります。
python [file path]/network_sketcher.py add vport_l1if_direct_binding [device name] [Layer1 port] [vport_name_direct_binding] --master [master file path] - ex.
+BEFORE+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['Catalyst 3560', 'GigabitEthernet 0/0', '', '', '']
+vport_l1if_direct_binding added+
#python .\network_sketcher.py add vport_l1if_direct_binding "Catalyst 3560" "GigabitEthernet 0/0" "GigabitEthernet 0/0.100" --master "C:\work\[MASTER]test.xlsx"
--- vport_l1if_direct_binding added --- Catalyst 3560,GigabitEthernet 0/0,GigabitEthernet 0/0.100
+AFTER+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['Catalyst 3560', 'GigabitEthernet 0/0', 'GigabitEthernet 0/0.100', '', '']
Virtualポートで直接VLANのようなレイヤ2を送受信させます。通常は、Virtualポートはl2_segmentと接続して、そのl2_segmentとレイヤ1インタフェースと接続することで、レイヤ1インタフェースとVirtualポートを接続しますが、このコマンドは、直接Virtualポートとレイヤ1インタフェースとを接続し、VLAN(l2_segment)のようなレイヤ2の要素を送受信させます。例えば、ルータでサブインタフェースを作成し、サブインタフェース毎にdot1qタギングを構成する場合に使用します。1つのVirtualポートで複数のVLANのようなレイヤ2を送受信させる構成も可能です。なお、同じVirtual portでl2_segmentとvport_l2_direct_bindingを同時に登録することはできません。また、事前にVirutal portの設定が必要となりますが、add vport_l1if_direct_bindingコマンドで追加してください。add virtual_portコマンドで作成したVirtual portはadd vport_l2_direct_bindingコマンドで使用しません。
python [file path]/network_sketcher.py add vport_l2_direct_binding [device name] [virtual port] [l2_name_direct_binding] --master [master file path] - ex.
+BEFORE+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['Catalyst 3560', 'GigabitEthernet 0/0', 'GigabitEthernet 0/0.100', '', '']
+vport_l2_direct_bindingadded+
#python .\network_sketcher.py add vport_l2_direct_binding "Catalyst 3560" "GigabitEthernet 0/0.100" vlan100 --master "C:\work\[MASTER]test.xlsx"
--- vport_l2_direct_binding added --- Catalyst 3560,GigabitEthernet 0/0.100,vlan100
+AFTER+
#python .\network_sketcher.py show l2_interface --master "C:\work\[MASTER]test.xlsx"
['Catalyst 3560', 'GigabitEthernet 0/0', 'GigabitEthernet 0/0.100', '', 'vlan100']
既存のwaypointを基準として、新しいwaypointを指定した方向に追加します。Waypointはwaypoint専用エリア(_wp_で終わるエリア名)に追加されます。
python [file path]/network_sketcher.py add waypoint [new_waypoint_name] [reference_waypoint] [direction] --master [master file path][direction]の指定:
UP : 基準waypointの上に追加
DOWN : 基準waypointの下に追加
LEFT : 基準waypointの左に追加
RIGHT : 基準waypointの右に追加
- ex.
+BEFORE+
#python .\network_sketcher.py show waypoint_locatoin --master "C:\work[MASTER]test.xlsx"
['WAN-1_wp_', [['WAN-1']]]
+waypoint added+
#python .\network_sketcher.py add waypoint 'WAN-2' 'WAN-1' 'RIGHT' --master "C:\work[MASTER]test.xlsx"
--- Waypoint added --- WAN-2 relative to WAN-1 with direction RIGHT
+AFTER+
#python .\network_sketcher.py show waypoint_locatoin --master "C:\work[MASTER]test.xlsx"
['WAN-1_wp_', [['WAN-1', 'WAN-2']]]
[Tips]
- Waypointは必ずwaypoint専用エリア(_wp_で終わるエリア名)内に配置されます
- 基準デバイスがwaypoint専用エリアに存在しない場合はエラーになります
- X軸に隣接するエリアに通常エリアが存在する場合、UP/DOWNのみ使用可能です
- X軸に隣接するエリアがすべてwaypointエリアまたは空の場合、LEFT/RIGHTのみ使用可能です
- Yusuke Ogawa - Security Architect, Cisco | CCIE#17583
SPDX-License-Identifier: Apache-2.0
Copyright 2023 Cisco Systems, Inc. and its affiliates
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.