CML の機能紹介

ネットワーク
この記事は1年以上前に書かれたものです。 情報が古い可能性があります。

いろんな機能があるのでちょこちょこ書いていこうかと。

今回は主にノードについてです~

各ノードのデフォルトパスワードが知りたい方はこちら (https://developer.cisco.com/docs/modeling-labs/#!faq/reference-platform-and-images-questions)

External Connecter

CML ラボと外部ネットワークを接続する機能です。NAT モードと Bridge モードがあります。

NAT モード

NAT モードだと CML の管理 IP と同じ IP でほかのネットワークと接続されます。外部から CML 内部への通信はできないので、必要な場合は Bridge モードを使いましょう。

NAT モードでは DHCP でアドレスが配布されます。

External Connecter とルーターなどを接続し、インターフェイスを DHCP に設定しましょう。

Network192.168.255.0 /24
Gateway192.168.255.1
DHCP Pool192.168.255.2 - .254

使い方は External Connecter を配置し、Edit Config からモードを選択します。(起動後のモード変更はできません。)

ルーターを接続し、起動します。

ルーターの IP アドレスを DHCP で取得するよう設定すれば、インターネットと疎通できます。

Router>
Router>en
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)#int gi 0/0
Router(config-if)#ip address dhcp
Router(config-if)#no shut
Router(config-if)#end
*May 14 18:29:29.240: %LINK-3-UPDOWN: Interface GigabitEthernet0/0, changed state to up
Router#
*May 14 18:29:30.240: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet0/0, changed state to up
*May 14 18:29:30.884: %SYS-5-CONFIG_I: Configured from console by console
*May 14 18:29:45.692: %DHCP-6-ADDRESS_ASSIGN: Interface GigabitEthernet0/0 assigned DHCP address 192.168.255.110, mask 255.255.255.0, hostname 
Router#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is 192.168.255.1 to network 0.0.0.0

S*    0.0.0.0/0 [254/0] via 192.168.255.1
      192.168.255.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.255.0/24 is directly connected, GigabitEthernet0/0
L        192.168.255.110/32 is directly connected, GigabitEthernet0/0
Router#ping 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 9/12/18 ms

 Bridge モード

Bridge モードだと管理 IP と同じネットワークに接続されます。External Connecter がブリッジの役割になるので、ルーターを環境に合わせて設定しましょう。

作り方は NAT モードと同じで、起動前に Edig Config から Bridge モードに変更しましょう。

Custom モード

こちらは Bridge に使う Linux Bridge を選択できます。CML の管理画面以外に NIC を追加し、ブリッジの作成を行った場合に使用できます。

詳しくは Administrator ガイドの Networking ページをご参照ください。

Administering CML 2.0 - Networking [Cisco Modeling Labs]
Networking

WAN Emulater

あまり情報が出てませんが(検索が下手…)、遅延や帯域幅を制御できるノードです。

GPRS なら 500ms, 50kbit, 2% ロス, といったようにプロファイルが用意されています。もちろん設定を変えることも可能です。

使い方はノードの間に挟んで遅延などを発生させます。

これはルーターの間に挟んで遅延を 200ms 増加させた場合です。

手軽に遅延やパケロスを設定できるので、面白いなと思いました。(*^_^*)

Trex

Trex は Cisco が開発しているオープンソースのトラヒックジェネレーターです。

とてもとても期待していたのですが、現時点では動きませんでした!(2020/05/15)

-> /etc/trex_cfg.yaml を編集して動くことを確認しました!(2020/05/16)

/etc/trex_cfg.yaml を以下のように修正します。

/opt/v2.65 # cat /etc/trex_cfg.yaml 
-
  low_end: true
  port_limit: 2
  version: 2
  interfaces: ['eth1', 'eth2']

./_t-rex-64-o -i で起動し、GUI アプリ(https://github.com/cisco-system-traffic-generator/trex-stateless-gui)から接続できます。

Trex についてはそのうちまとめるつもりです。。。たぶん。。。


ーーーーーーーーーーーーー以下旧記事ーーーーーーーーーーーーーー
症状はこちらの通りで、Pane is dead. と表示されます。(tmux なので Ctrl + b, n で画面が切り替わります)

Cisco Learning Network

Linux インターフェイスでは認識していますが、Trex が テスト用に2つ必要な NIC を1つしか認識しないため、エラーになっているようです。

ドキュメントがないためコンテナ版ではない Trex から想像すると、管理、GUI 接続用の NIC が eth0、テスト用の NIC が eth1, eth2 になると考えられます。

また、内部についても公開されているもの(https://github.com/cisco-system-traffic-generator/trex-core)と異なり、バイナリとなっているようなので cisco の修正を待つしかないと思われます。

バージョンも少し古いですね。続報があれば追記いたします。
ーーーーーーーーーーーー旧記事終わりーーーーーーーーーーーーーー

Server

サーバーって何という話ですが、、、

Tiny Core Linux という最小限の機能だけを備えた軽量な Linux です。

Console と VNC が使えます。(といってもどちらも CUI ですが。)

Console から cisco/cisco でログインできます。

IP アドレスはデフォルトだと DHCP で取得できます。

[                   filetool.sh         mktemp              sudo
[[                  find                modinfo             sudoedit
addgroup            flock               modprobe            sulogin
adduser             fold                more                sum
adjtimex            free                mount               swapoff
ar                  freeramdisk         mountables.sh       swapon
arp                 fromISOfile         mv                  switch_root
arping              fsck                nameif              sync
ash                 fsck.ext2           nbd-client          sysctl
autologin           fsck.ext3           nc                  syslogd
autoscan-devices    fsck.ext4           netstat             tail
awk                 fsck.ext4dev        nice                tar
backup              fstrim              nohup               taskset
basename            fstype              nslookup            tc-terminal-server
bbcheck.sh          ftpget              ntpd                tce
bcrypt              ftpput              od                  tce-ab
bigHomeFiles.sh     fuser               ondemand            tce-audit
blkid               getTime.sh          openssl             tce-fetch.sh
bunzip2             getdisklabel        openvt              tce-load
busybox             getopt              passwd              tce-remove
busybox.suid        getty               patch               tce-run
bzcat               grep                pccardctl           tce-setdrive
bzip2               gunzip              pgrep               tce-setup
c_rehash            gzip                pidof               tce-size
cache-clear         halt                ping                tce-status
cal                 hdparm              ping6               tce-update
calc                head                pivot_root          tcemirror.sh
cat                 hexdump             pkill               tee
cd_dvd_symlinks.sh  history             poweroff            telnet
chgrp               hostid              printenv            test
chkonboot.sh        hostname            printf              text2lp0
chmod               hwclock             provides.sh         tftp
chown               id                  ps                  tftpd
chpasswd            ifconfig            pstree              time
chroot              inetd               pwd                 timeout
chrt                init                rdate               top
chvt                insmod              readlink            touch
cksum               install             realpath            tr
clear               ipcalc              reboot              traceroute
cliorx              ipcrm               rebuildfstab        true
cmp                 ipcs                renice              tty
comm                kill                reset               tune2fs
cp                  killall             resize              udevadm
cpio                killall5            rev                 udevd
crond               klogd               rm                  udhcpc
crontab             last                rmdir               udhcpd
ctty-hack           ldconfig            rmmod               udpsvd
cut                 ldd                 rotdash             umount
date                less                route               uname
dc                  linux32             rpm                 uncompress
dd                  linux64             rpm2cpio            uniq
deallocvt           ln                  scp                 unix2dos
delgroup            loadcpufreq         script              unlink
deluser             loadfont            search.sh           unlzma
depmod              loadkmap            sed                 unxz
df                  locale              seekWinPartition    unzip
diff                logger              select              uptime
dirname             login               seq                 usleep
dmesg               logname             setarch             uuid
dnsdomainname       logread             setconsole          uuidgen
dos2unix            losetup             sethostname         vconfig
du                  ls                  setkeycodes         version
dumpkmap            lsmod               setsid              vi
dumpleases          lsof                sftp                visudo
e2fsck              lspcmcia            sh                  vlock
echo                lzcat               sha1sum             watch
egrep               lzma                showbootcodes       wc
eject               md5sum              sleep               wget
env                 mesg                sort                which
ether-wake          microcom            split               who
exitcheck.sh        mkdir               ssh                 whoami
exittc              mke2fs              ssh-add             xargs
expr                mkfifo              ssh-agent           xz
false               mkfs.ext2           ssh-keygen          xzcat
fbset               mkfs.ext3           ssh-keyscan         yes
fdflush             mkfs.ext4           sshd                zcat
fdformat            mkfs.ext4dev        start-stop-daemon   zsync
fdisk               mklost+found        strings
fgconsole           mknod               stty
fgrep               mkswap              su

Alpine

軽量な Linux ディストリビューションの Alpine Linux です。Console および VNC から CLI で操作できます。

他と同様 cisco/cisco でログインできます。nslookup や tcpdump は入ってました。

 
[                      ipneigh                readprofile
[[                     iproute                realpath
ac                     iprule                 reboot
accton                 iptunnel               reformime
acpid                  isohybrid              remove-shell
add-shell              isohybrid.pl           rename
addgroup               isosize                renice
addpart                kbd_mode               reset
adduser                keytab-lilo            resize
adjtimex               kill                   resize2fs
agetty                 killall                resizepart
amuFormat.sh           killall5               resizepart.sh
apk                    klogd                  rev
arch                   kmod                   rfkill
arp                    last                   rm
arping                 lastcomm               rmdir
ash                    lbu                    rmmod
awk                    lbu_commit             route
badblocks              lbu_exclude            routem
base64                 lbu_include            routem.june04.2008
basename               lbu_status             rtcwake
bbconfig               lbu_update             run-parts
bbsuid                 ldattach               runscript
bc                     ldconfig               sa
beep                   ldd                    scanelf
blkdiscard             lddtree                scp
blkid                  less                   script
blkzone                link                   scriptreplay
blockdev               linux32                sed
bootchartd             linux64                sendmail
brctl                  ln                     seq
bunzip2                loadfont               service
busybox                loadkmap               setarch
busybox-extras         logger                 setconsole
bzcat                  login                  setfont
bzip2                  logread                setkeycodes
cal                    logsave                setlogcons
cat                    look                   setpriv
chattr                 losetup                setserial
chcpu                  ls                     setsid
chgrp                  lsattr                 setterm
chmem                  lsblk                  setup-acf
chmod                  lscpu                  setup-alpine
choom                  lsipc                  setup-apkcache
chown                  lslocks                setup-apkrepos
chpasswd               lslogins               setup-bootable
chroot                 lsmem                  setup-disk
chrt                   lsmod                  setup-dns
chvt                   lsns                   setup-gparted-desktop
cksum                  lsof                   setup-hostname
clear                  lspci                  setup-interfaces
cmp                    lss16toppm             setup-keymap
col                    lsusb                  setup-lbu
colcrt                 lz                     setup-mta
colrm                  lzcat                  setup-ntp
column                 lzma                   setup-proxy
comm                   lzop                   setup-sshd
conspy                 lzopcat                setup-timezone
cp                     makemime               setup-xen-dom0
cpio                   mattrib                setup-xorg-base
crond                  mbadblocks             sftp
crontab                mcat                   sh
cryptpw                mcd                    sha1pass
ctrlaltdel             mcheck                 sha1sum
cut                    mclasserase            sha256sum
cvtsudoers             mcomp                  sha3sum
date                   mcopy                  sha512sum
dc                     md5pass                showkey
dd                     md5sum                 shred
deallocvt              mdel                   shuf
debugfs                mdeltree               slattach
delgroup               mdev                   sleep
delpart                mdir                   smemcap
deluser                mdu                    sort
depmod                 memdiskfind            split
df                     mesg                   ssh
diff                   mformat                ssh-add
dirname                microcom               ssh-agent
dmesg                  minfo                  ssh-copy-id
dnsd                   mkdir                  ssh-keygen
dnsdomainname          mkdiskimage            ssh-keyscan
dos2unix               mkdosfs                ssh-pkcs11-helper
du                     mke2fs                 sshd
dump-acct              mkfifo                 ssl_client
dump-utmp              mkfs                   start-stop-daemon
dumpe2fs               mkfs.bfs               stat
dumpkmap               mkfs.cramfs            strings
dumpleases             mkfs.ext2              stty
e2freefrag             mkfs.ext3              su
e2fsck                 mkfs.ext4              sudo
e2image                mkfs.minix             sudoedit
e2label                mkfs.vfat              sudoreplay
e2mmpstatus            mkinitfs               sum
e2scrub                mklost+found           supervise-daemon
e2scrub_all            mkmanifest             swaplabel
e2undo                 mkmntdirs              swapoff
e4crypt                mknod                  swapon
e4defrag               mkpasswd               switch_root
echo                   mkswap                 sync
ed                     mktemp                 sysctl
egrep                  mlabel                 syslinux
eject                  mmd                    syslinux2ansi
env                    mmount                 syslogd
ether-wake             mmove                  tac
ethtool                modinfo                tail
expand                 modprobe               tar
expr                   more                   taskset
extlinux               mount                  tcpdump
factor                 mountpoint             tee
fakeidentd             mpartition             telnet
fallocate              mpstat                 telnetd
false                  mrd                    test
fatattr                mren                   tftp
fbset                  mshortname             tftpd
fbsplash               mshowfat               tgz
fdflush                mtools                 time
fdformat               mtoolstest             timeout
fdisk                  mtype                  top
fgrep                  mv                     touch
filefrag               mxtar                  tr
fincore                mzip                   traceroute
find                   namei                  traceroute6
findfs                 nameif                 true
findmnt                nanddump               truncate
findssl.sh             nandwrite              tty
flock                  nbd-client             ttysize
fold                   nc                     tunctl
free                   netstat                tune2fs
fsck                   nice                   udhcpc
fsck.cramfs            nl                     udhcpc6
fsck.ext2              nlplug-findfs          udhcpd
fsck.ext3              nmeter                 ul
fsck.ext4              nohup                  umount
fsck.minix             nologin                uname
fsfreeze               nproc                  uname26
fstrim                 nsenter                unexpand
fsync                  nslookup               uniq
ftpd                   ntpd                   uniso
ftpget                 od                     unix2dos
ftpput                 openrc                 unlink
fuser                  openrc-init            unlzma
getconf                openrc-run             unlzop
getent                 openrc-shutdown        unshare
gethostip              openssl                unxz
getopt                 openvt                 unzip
getty                  partprobe              update-conf
grep                   partx                  update-extlinux
groups                 passwd                 update-kernel
gunzip                 paste                  uptime
gzip                   patch                  usleep
halt                   pgrep                  utmpdump
hd                     pidof                  uudecode
hdparm                 ping                   uuencode
head                   ping6                  uuidgen
hexdump                pipe_progress          uuidparse
hostid                 pivot_root             uz
hostname               pkill                  vconfig
httpd                  pmap                   vi
hwclock                poweroff               visudo
i386                   powertop               vlock
iconv                  ppmtolss16             volname
id                     printenv               wall
ifconfig               printf                 watch
ifdown                 prlimit                watchdog
ifenslave              ps                     wc
ifup                   pscan                  wdctl
inetd                  pstree                 wget
init                   pwd                    whereis
inotifyd               pwdx                   which
insmod                 pxelinux-options       whoami
install                raidautorun            whois
ionice                 raw                    wipefs
iostat                 rc                     x86_64
ip                     rc-service             xargs
ipaddr                 rc-sstat               xxd
ipcalc                 rc-status              xzcat
ipcmk                  rc-update              yes
ipcrm                  rdate                  zcat
ipcs                   rdev                   zramctl
iperf                  readahead
iplink                 readlink

Desktop

Xfce の Alpine Linux です。 VNC から GUI を操作できます。

パスワードは cisco です。

メモリは初期値の 512MB だとかなり厳しいので 1024MB 程度にすることをお勧めします。(起動前か一度停止 (Stop) して初期化 (Wipe Node) して変更する必要があります。)

Ubuntu

Ubuntu です。CLI only です。どうぞご自由にお使いください。

ちなみに CML が CentOS8 です。なんで Ubuntu が入ってて CentOS がないのか謎です。

ubuntu/cisco でログインです。なんでこれだけ違うねん…

CoreOS

CoreOS はコンテナホスト用の軽量 Linux ディストリビューションです。

メモリデフォルトの 2048MB だとコンソールが反応しませんでした。

雑に 8GB, 4core ぐらいにしてください。cisco/cisco でログインできます。

docker コマンドは入ってます。あまり詳しくないので、ここはもっと詳しい記事にお任せします。。。

それでは今日はこの辺で。(/・ω・)/

コメント

タイトルとURLをコピーしました