🏡

番外編④ GNS3に最新のFRRを作成してIF名をeth0にする

に公開

GNS3でFRRを使用する場合、簡単な方法は公式サイトにあるアプライアンスからFRRをダウンロードする方法かと思います。
https://gns3.com/marketplace/appliances/frr
しかし、更新が滞っていてバージョンが8.2.2です。古いです。そこで最新のバージョンでFRRを使用する方法を紹介します。

DebianにFRRを入れる

https://zenn.dev/labathome/articles/701b5e8da2b360
以前紹介したこちらがベースになります。


このようにDebianと外部ネットワーク(インターネット)とNATで接続します。外部ネットワークとの接続はCloudもありますが、Cloudはスループットが劇的に遅いので、ブリッジじゃなくていい場合はNATにしましょう。

FRRを入れるには公式サイトにあるように以下を投入します。
https://deb.frrouting.org/

# add GPG key
curl -s https://deb.frrouting.org/frr/keys.gpg | sudo tee /usr/share/keyrings/frrouting.gpg > /dev/null

# possible values for FRRVER: 
frr-6 frr-7 frr-8 frr-9 frr-9.0 frr-9.1 frr-10 frr10.0 frr10.1 frr-10.2 frr-10.3 frr-stable
# frr-stable will be the latest official stable release
FRRVER="frr-stable"
echo deb '[signed-by=/usr/share/keyrings/frrouting.gpg]' https://deb.frrouting.org/frr \
     $(lsb_release -s -c) $FRRVER | sudo tee -a /etc/apt/sources.list.d/frr.list

# update and install FRR
sudo apt update && sudo apt install frr frr-pythontools

これで最新版のFRRになります。

debian@debian:~$ sudo vtysh

Hello, this is FRRouting (version 10.3.1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

debian#

ポート番号をeth0にしたい

Debian上ではIFはens4から採番されており、IFを増やすとens4からカウントアップされていきます。
IFが増えていくと分かりにくくなりますのでeth0から採番されるように変更します。

debian@debian:~$ sudo vim /etc/default/grub

怖いですがGRUBを変更します。

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 cc
onsoleblank=0"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200"

変更点はこちら
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0"

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0 biosdevname=0"
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0,115200 earlyprintk=ttyS0,115200 cc
onsoleblank=0"
GRUB_TERMINAL="console serial"
GRUB_SERIAL_COMMAND="serial --speed=115200"

変更後にUpdateをかけます。

debian@debian:~$ sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.1.0-37-cloud-amd64
Found initrd image: /boot/initrd.img-6.1.0-37-cloud-amd64
Found linux image: /boot/vmlinuz-6.1.0-22-cloud-amd64
Found initrd image: /boot/initrd.img-6.1.0-22-cloud-amd64
done
debian@debian:~$

一度再起動してIFを確認するとeth0からカウントアップするように変更されています。
あとはGNS3からポート数を必要すう増やしてください。

debian@debian:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 0c:20:c0:48:00:00 brd ff:ff:ff:ff:ff:ff
    altname enp0s4
    altname ens4
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0c:20:c0:48:00:01 brd ff:ff:ff:ff:ff:ff
    altname enp0s5
    altname ens5
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0c:20:c0:48:00:02 brd ff:ff:ff:ff:ff:ff
    altname enp0s6
    altname ens6
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0c:20:c0:48:00:03 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
    altname ens7
6: eth4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0c:20:c0:48:00:04 brd ff:ff:ff:ff:ff:ff
    altname enp0s8
    altname ens8
7: eth5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0c:20:c0:48:00:05 brd ff:ff:ff:ff:ff:ff
    altname enp0s9
    altname ens9
8: eth6: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0c:20:c0:48:00:06 brd ff:ff:ff:ff:ff:ff
    altname enp0s10
    altname ens10
9: eth7: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 0c:20:c0:48:00:07 brd ff:ff:ff:ff:ff:ff
    altname enp0s11
    altname ens11
debian@debian:~$ sudo vtysh

Hello, this is FRRouting (version 10.3.1).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

debian# show interface brief
Interface       Status  VRF             Addresses
---------       ------  ---             ---------
eth0            up      default
eth1            down    default
eth2            down    default
eth3            down    default
eth4            down    default
eth5            down    default
eth6            down    default
eth7            down    default
lo              up      default

debian#

Discussion