Linuxでネットワークテスト環境を構築する(その1)
| 登録日 | :2026/03/14 22:05 |
|---|---|
| カテゴリ | :Linux |
libvirtとgen3で仮想環境を構築する
- 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
- 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
- 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
- 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
- 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
- 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
- テスト
PC1
ping 192.168.20.10
→ 通る
PC2
ping 192.168.20.10
→ 通らない
- ACLヒット確認
show access-lists
例
deny ip 192.168.30.0 0.0.0.255 192.168.20.0 0.0.0.255 (5 matches)
- 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 のライセンス上のルールです。
- 正規の入手方法(推奨)
Cisco公式サイトからダウンロードします。
対象は Cisco IOSv / IOSvL2 です。
これが GNS3 で一番使われる仮想イメージです。
Cisco Software Download
- 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 / 年
(価格は年によって多少変わります)