labunix's blog

labunixのラボUnix

debian stretchのbr0+tap0+GNS3環境を追加する。

■debian stretchのbr0+tap0+GNS3環境を追加する。
 実機含めて12台は繋げたいので別の仮想基盤で以下の2台目を構成する。
 今回はクリーンインストール環境

 debian stretchのホストとGNS3内のルータをブリッジとタップで接続する。
 http://labunix.hateblo.jp/?page=1512919006

$ lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.3 (stretch)
Release:	9.3
Codename:	stretch

$ tasksel --list-tasks | grep ^i
i desktop	Debian デスクトップ環境
i gnome-desktop	GNOME
i ssh-server	SSH サーバ

■Gnomeのnetwork-managerのサービスを停止する。
 必要なら。

$ systemctl list-unit-files --type=service | grep -i net
dbus-org.freedesktop.network1.service      disabled 
network-manager.service                    enabled  
networking.service                         enabled  
NetworkManager-dispatcher.service          enabled  
NetworkManager-wait-online.service         enabled  
NetworkManager.service                     enabled  
systemd-networkd-wait-online.service       disabled 
systemd-networkd.service                   disabled 

$ sudo systemctl stop network-manager
  sudo systemctl disable network-manager

■br0を作成、ens192,tap0を参加させる。

$ echo "bridge-utils uml-utilities" | tr ' ' '\n' | \
    awk '{print "echo "$1";sudo apt-get install -y "$1}' | sh

$ sudo cp /etc/network/interfaces{,.org};ls -l /etc/network/interfaces{,.org}
-rw-r--r-- 1 root root 240 1216 23:25 /etc/network/interfaces
-rw-r--r-- 1 root root 240 1216 23:42 /etc/network/interfaces.org

$ ip a | awk '/^2:/{gsub(":","",$2);print $2}'
ens192

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto br0
auto ens192

iface ens192 inet manual
	up ip link set ens192 promisc on up
	up ip address flush ens192
	down ip link set ens192 promisc off down

iface br0 inet static
	address 172.31.31.91
	netmask 255.255.255.0
	network 172.31.31.0
	broadcast 172.31.31.255
	gateway 172.31.31.252
	dns-nameservers 172.31.31.251
	bridge-ports all tap0 ens192
	bridge_stp off
	bridge_maxwait 0
	bridge_fd      0
	pre-up ip tuntap add dev tap0 mode tap user labunix
	pre-up ip link set tap0 up
	post-down ip link set tap0 down
	post-down ip tuntap del dev tap0 mode tap

■GNS3のインストール
 パケットキャプチャは非rootでも実行可能とする。

 GNS3 Installation on Linux
 https://docs.gns3.com/1QXVIihk7dsOL7Xr7Bmz4zRzTsJ02wklfImGuHwTlaA4/index.html

$ echo "deb http://ppa.launchpad.net/gns3/ppa/ubuntu xenial main
deb-src http://ppa.launchpad.net/gns3/ppa/ubuntu xenial main" | sudo tee -a /etc/apt/sources.list

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 
$ sudo apt-get update
$ apt-cache search gns3 | grep -v ^lib
dynamips - Cisco 7200/3600/3725/3745/2600/1700 Router Emulator
gns3-server - GNS3 server
gns3-gui - GNS3 GUI
gns3-iou - GNS3 support for IOU
$ sudo apt-get install --allow-unauthenticated -y gns3-gui

■XRDPをインストール。

$ sudo apt-get install -y tigervnc-standalone-server xrdp
$ sudo systemctl restart xrdp && sudo systemctl enable xrdp 

■GNS3をコピー。

$ scp -r GNS3/ labunix@vm-gns3:~/

■RemminaからXvncを指定して接続。terminalから以下を実行。

$ gns3 --version
2.1.0

■GNS3の見た目が全然違うと思ったら手元のバージョンが古かった。
 CloudとRouterを配置して、tap0に接続、RouterにIPを振って別のPCから接続確認。
 操作性は新しい方が楽なので、プロジェクトを移行してからバージョンアップをしよう。。。

■ちなみに手元のバージョンは。。。

$ gns3 --version
gns3 0.8.7