KnowHow

技術的なメモを中心にまとめます。
検索にて調べることができます。

Linuxでネットワークテスト環境を構築する(その1)

登録日 :2026/03/14 22:05
カテゴリ :Linux

libvirtとgen3で仮想環境を構築する

  1. RockyLinux8 事前準備

まず仮想化を有効にします。

sudo dnf update -y
sudo dnf install epel-release -y

KVMインストール

sudo dnf install qemu-kvm libvirt virt-install bridge-utils -y

libvirt起動

sudo systemctl enable --now libvirtd

ここまではうまくできる。
確認

lsmod | grep kvm

期待結果

kvm_intel
kvm
  1. GNS3インストール

RockyLinuxでは pip版が一番簡単です。

sudo dnf install python3 python3-pip python3-devel gcc \
                 redhat-rpm-config libvirt-devel -y

GNS3インストール

pip3 install --upgrade pip
pip3 install --upgrade setuptools wheel
pip3 install gns3-server gns3-gui

起動

gns3

これはQtの問題で起動できない。python3.9以上にしてPyQtをインストールしていく手法が考えられるが、一旦うまくいかなかった。
(参考)

sudo dnf install -y python39 python39-pip

python3.9 -m venv ~/venvs/gns3
source ~/venvs/gns3/bin/activate

pip install --upgrade pip setuptools wheel
pip install PyQt5 PyQtWebEngine
pip install gns3-server gns3-gui

ダメなら
pip install PyQt5-sip==12.15.0
pip install PyQt5==5.15.10
pip install gns3-server==2.2.45 gns3-gui==2.2.45

gns3

対策として

sudo dnf install python3-qt5

そこで、GUIはいったん諦めて、gen3serverでCUIモードでも使用できることは確認した。

一番おすすめの進め方
A. まず server だけ動くか確認
gns3server --version
gns3server
  1. Dynamips / VPCS インストール

GNS3のラボでPCを作るために必要です。

sudo dnf install dynamips vpcs -y
4. Cisco IOSv イメージ準備

GNS3では Cisco IOSv(仮想ルータ)を使います。

vios-adventerprisek9-m.SPA.159-3.M6.qcow2

イメージを入手するには、Ciscoと契約が必要(Personal $199/Year)
これを保存

~/GNS3/images/QEMU/
5. GNS3にIOSv登録

GNS3 GUI

 → Preferences
 → QEMU VMs
 → New

設定

項目 設定

VM name IOSv
RAM 512MB
CPU 1
Disk    IOSv qcow2

NIC

4 interfaces
6. ラボトポロジ作成

今回のACL検証ラボ

PC1 --------|
            |--- IOSv L3 Switch --- Server
PC2 --------|

VLAN

VLAN10 client
VLAN20 server
VLAN30 blocked client
  1. VPCS設定

PC1

ip 192.168.10.10 255.255.255.0 192.168.10.1

PC2

ip 192.168.30.10 255.255.255.0 192.168.30.1

Server

ip 192.168.20.10 255.255.255.0 192.168.20.1
  1. Cisco L3 Switch 設定

コンソール接続

enable
conf t

VLAN

vlan 10
vlan 20
vlan 30

SVI

interface vlan 10
ip address 192.168.10.1 255.255.255.0
no shutdown

interface vlan 20
ip address 192.168.20.1 255.255.255.0
no shutdown

interface vlan 30
ip address 192.168.30.1 255.255.255.0
no shutdown

L3 routing

ip routing
  1. ACL検証

ACL作成

ip access-list extended BLOCK_SERVER
deny ip 192.168.30.0 0.0.0.255 192.168.20.0 0.0.0.255
permit ip any any

適用

interface vlan 30
ip access-group BLOCK_SERVER in
  1. テスト

PC1

ping 192.168.20.10

→ 通る

PC2

ping 192.168.20.10

→ 通らない

  1. ACLヒット確認
show access-lists

deny ip 192.168.30.0 0.0.0.255 192.168.20.0 0.0.0.255 (5 matches)
  1. RockyLinuxでのベスト運用

おすすめ構成

RockyLinux
 ├─ GNS3
 ├─ IOSv (L3 switch)
 ├─ VPCS (test client)
 └─ Docker container (Linux server)

これで

ACL
NAT
routing
firewall
VLAN
BGP / OSPF

全部検証できます。

重要(あなたの業務的にかなり役立つ話)

あなたは

HPCクラスタ
Cisco L3
Firewall
VLAN設計

を扱っているので、

次の検証ラボを作るとかなり実務力が上がります

Login node
   |
Firewall
   |
Core L3 Switch
 |       |
Compute  Storage

検証できるもの

ACL事故
Storage遮断
Login Node保護
Compute通信

これは 実際のHPCセンターでもよくやる検証です。


ここでの実務的なおすすめ

あなたの目的は Rocky Linux 8 で Cisco L3 スイッチ+ACL 検証ラボを作ることなので、最短で前に進むなら次です。

推奨ルート

Rocky Linux 8 では gns3server だけ動かす。
GUI は手元PC側で動かして、Rocky の server に接続する。

この構成の利点は大きいです。

Rocky 側は QEMU / Dynamips / Docker / IOSv 実行に専念
GUI の PyQt トラブルを Rocky 側から切り離せる
将来的に lab サーバとして常駐させやすい
HPCや検証用ホストのように、実行基盤と操作端末を分けられる


次にやること

まず Rocky 側で、server の待受確認をします。

ss -lntp | grep 3080

0.0.0.0:3080 が見えれば待受中です。

次に、もし firewalld が有効なら、接続元PCから使うために 3080/TCP を開けます。

firewall-cmd --add-port=3080/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-ports

そのうえで、GUI 側の GNS3 から Rocky の IP と 3080 番へ接続します。
GNS3 のセットアップでは local server / remote server を設定する流れがあります。GUI から server の host binding と port を指定して接続するのが基本です。

もし Rocky 側を常駐サーバにするなら

公式には gns3server を daemon として動かす方法もあります。
--daemon、--log、--pid などのオプションが使えます。

たとえば手動起動ならこんな形です。

gns3server --daemon --log /var/log/gns3.log --pid /var/run/gns3server.pid

ただし、最初はまず手動起動で十分です。
ACL 検証ラボが動いてから service 化した方が安全です。

「Rocky Linux 8 上の gns3server に、別PCの GNS3 GUI から接続して IOSv を登録し、L3 スイッチ+ACL 検証ラボを作る手順」


Cisco IOS イメージは GNS3 が提供するものではなく、Cisco から正規に入手する必要があります。

つまり

GNS3 → エミュレータ

Cisco IOS → 別途ライセンス対象ソフト

です。

これは Cisco のライセンス上のルールです。

  1. 正規の入手方法(推奨)

Cisco公式サイトからダウンロードします。
対象は Cisco IOSv / IOSvL2 です。
これが GNS3 で一番使われる仮想イメージです。

Cisco Software Download

  1. Cisco契約が無い場合

以下の方法があります。

方法1

企業の Cisco 契約を使う
(会社でネットワーク機器を保守していれば普通あります)

方法2

Cisco Modeling Labs
Cisco Modeling Labs

これを購入すると

IOSv
IOSvL2
NXOSv
CSR1000v

が合法的に使えます。


Cisco Modeling Labsとは

Cisco Modeling Labs は、
Cisco が提供している 公式ネットワークエミュレーション環境です。

特徴は次の通りです。

Ciscoが公式に提供している仮想ネットワークラボ

つまり

Ciscoルータ
Ciscoスイッチ
Firewall
NX-OS

などを 仮想マシンとして動かせる環境です。

もともとは

VIRL (Virtual Internet Routing Lab)

という名前でしたが、現在は Cisco Modeling Labs に統合されています。

何ができるのか

CMLを使うと次のようなCisco OSを合法的に使えます。

OS 用途
IOSv ルータ
IOSvL2 L2スイッチ
NX-OSv Nexus
CSR1000v 高機能ルータ
IOS-XRv キャリア向け

つまり

L2
L3
ACL
OSPF
BGP
VLAN
STP

などを 実機とほぼ同じ挙動で検証できます。

料金

Cisco Modeling Labs Personal の場合

おおよそ

プラン 価格
Personal 約 $199 / 年
Personal Plus 約 $349 / 年

(価格は年によって多少変わります)