
機能の最大数と機能制限の最小数が含まれているのはこのエミュレーターです(適用されず、シスコの従業員のみが使用できることを思い出してください)。
その主な利点は、十分に高速であり、データリンクレイヤーで適切に機能することです。
できるだけ正確に言うと、IOUはSolarisでのみ機能し、LinuxでIOLが起動しますが、誰もが1つの共通名を使用することに慣れているため、記事の共通名に固執します。
最初から最後まで、インストールから構成までを検討し、最後に実際のネットワークにリリースします。
IOUのセットアップのみに関心がある場合は、インストール手順をスキップして、IOUのセットアップに直接進むことができます。
設置
したがって、インストールの開始時に。
事前にインストールされたIOUのオプションは考慮しません。多くの異なるアセンブリがありますが、すべてを自分の手で組み立てることは非常に興味深いです。
それでは、ゼロから始めましょう。
IOUを独立して構築するには、Unixライクなシステムの基本的な知識が必要です。
Linux、たとえばrpmベースのCentOSを取り上げます(ただし、Debianを使用したバリアントも可能です)。 そして、仮想化ツール-VMwareまたはVirtualBoxを試してみてください。 VirtualBoxを使用すると、クラウドは機能しません(つまり、IOUを実際のネットワークにリリースする方法はありません)。
まず、仮想マシンを作成してCentOSをインストールする必要があります(このプロセスは記事の範囲外であり、特に難しいことではありませんが、インストールについてはこちらまたはこちらをご覧ください 。
その後、仮想マシンに2つの仮想ネットワークインターフェイスがあることを確認します。
インターフェースの1つは実ネットワークに移動し( ブリッジモード)、もう1つはIOUを制御します ( ホストのみ )。

それに応じて構成します。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
そして
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
キーラインはで構成されます
DEVICE="eth0" BOOTPROTO=static ONBOOT=yes IPADDR=xxx.xxx.xxx.xxx NETMASK=255.255.255.0
静的アドレスの場合
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes DHCP.
ご覧のとおり、変更を有効にするには、静的IPアドレス、マスク、またはDHCPを指定し、ネットワークサブシステムを再起動する必要があります。
# service network restart
IOUが正しく機能するように、特に簡略化のために、SELinuxとiptablesを無効にすることができます。
以下を実行することにより、現在のSELinuxモードを表示できます。
# sestatus
最初の再起動の前にオフにするには、次を実行します。
# echo 0 >/selinux/enforce
絶えず変更する場合、構成ファイルをこのタイプに編集できます。
# cat /etc/sysconfig/selinux
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=permissive # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
そして、ファイアウォールを無効にします:
# service iptables stop # chkconfig iptables off
その後、Webフロントエンドのインストールに進みます。
最近、バージョン1.2.2-21に更新されました
新しいから:
- 新しいOVF形式:より小さく、インストールが簡単です。
- より高速になりました。コードが書き直され、データベースが最適化されました。
- ioulive86の代わりに、現在iou2net.pl:IOUの開始前にクラウドを起動できます。
- 複数のクラウドがサポートされるようになりました。
- iousniffer:トラフィックの分析が可能になりました。
- 選択的インポート:インポートするものを選択できます。
- 追加されたhtml画像マップ:画像がアクティブリンクになりました。
- カウントダウンの追加:CCIEのタスクを実行する人に役立ちます。
- 遅延ロード:デバイスのロードが遅延する場合があります。
- Webコンソール:Webコンソールは機能していますが、作業には特権のないポート(32768-61000)が必要です。
- コンソールのリセット:すべてまたは1つの端末接続でリセットできます。
- Google Chromeブラウザーを使用することをお勧めします。
- 多くのバグが修正されました。
最初に、次の内容で/etc/yum.repos.d/iou-web.repoファイルを作成する必要があります。
# /etc/yum.repos.d/iou-web.repo [iou-web] name=IOU Web Interface baseurl=http://public.routereflector.com/iou-web/yum enabled=1 gpgcheck=1 gpgkey=http://public.routereflector.com/iou-web/yum/RPM-GPG-KEY-iou-web
これにより、iou-webがインストールおよび更新されるシステムに新しいリポジトリが追加されます。
次に、実際にiou-webをインストールします。
# yum install iou-web
そして、libcrypto.so.4にシンボリックリンクを作成します。このリンクなしでは、l2もl3も起動しません。
# ln -s /usr/lib/libcrypto.so.10 /usr/lib/libcrypto.so.4
iou-webのインストール中に、必要な依存関係(apacheやphpなど)がすべて厳しくなります。
ファイルは/ opt / iouディレクトリに表示され、さらにWebサーバーに必要な設定も表示されます。
/ etc / hostsファイルの末尾にもエントリが表示されます。
# tail -n 1 /etc/hosts 127.0.0.127 xml.cisco.com
この行は、Ciscoサーバーに情報を送信する機能をブロックする可能性があります。
apache configが表示されます(xml.cisco.comもあります)。

変更する必要はなく、すべてがすぐに機能します。
Andrea Dainese(iou-web開発者)は、ユーザーの生活を可能な限り簡素化し、追加のアクションの数を最小限に抑えようとしたことがわかります。
Webサーバーを起動するために残ります
# service httpd start
各システムの起動時に起動を示します。
# chkconfig httpd on
これで、Webフロントエンドのインストールが完了しました。
カスタマイズ
iou-webにログインするには、インターフェイスのIPアドレスを見つけるだけで済みます。これは、ホストオンリーモードで動作します。
# ifconfig eth1 eth1 Link encap:Ethernet HWaddr 00:0C:29:19:D8:CD inet addr:192.168.xxx.xxx Bcast:192.168.xxx.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:10 errors:0 dropped:0 overruns:0 frame:0 TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
その後、ブラウザを開き(Google Chromeを推奨)、そこでこのIPアドレスを指定します。
Webフロントエンドが目の前に表示されます。これは非常にミニマルですが、同時に素晴らしいデザインです。
IOUを直接インストールすることはありません。Linuxでコンパイルされたファイルを(Upload IOSを使用して)コピーするだけです。
2つの部分-l2とl3が必要です。
シスコは時代に歩調を合わせており、これらの2つの層はチャネルとネットワークに明確に分割されていません。 現在、L3は多かれ少なかれISRレベルのルーターに対応し、L2は3560レベルのスイッチに対するマルチプレイヤーです。
現在の最新バージョンは、ルーター用のiOS 15.2およびスイッチ用のiOS 15.1です。
l2とl3を取得したら、Webインターフェイスを開いてこれらのファイルをダウンロードできます。
これを行うには、 Manage-Manage IOSに移動し、ファイルのフルネーム、エイリアスの作成中に表示されるエイリアス(エイリアス)を指定します(たとえば、L3 15.2)。 iou / bin 。

引き続き使用できます。
ただし、トポロジを開始しようとすると、 「デバイスを開始する前にライセンスファイル(/ opt / iou / bin / iourc)を入力する必要があります」というエラーメッセージが表示されます。
Webインターフェイスの作成者が書いているように、ライセンスについては、シスコ部門の担当者にお問い合わせください。
IOUは、ライセンスキーを開始するたびにiourcファイルを検索します。
ライセンスについて簡単に説明します。
ライセンスは、現在のホストに関する情報を使用するキーで構成されます。別のホストに移動またはコピーしようとすると、IOUを使用できなくなります。
しかし、実際には、すべてが多少異なります。
注:記事の著者( sinist3r )は、ライセンスジェネレーターの著者ではなく、ライセンスジェネレーターの使用を推奨していません。 情報は情報提供のみを目的として提供されます。
ライセンスを生成するためのスクリプトは、2011年にKelによって作成されました。 2006年にCで書かれた元のコードをPythonに移植しました。
スクリプト自体は、明らかな理由で提供されていません。
それを使用するには、実行するビットを追加する必要があります。
#chmod 0755 CiscoIOUKeygen.py
そして実際の打ち上げ:
./CiscoIOUKeygen.py
推論を表示
[ライセンス]
ホスト名=キー;
[管理]-[ライセンスの管理]セクションでコピーして貼り付ける必要があります。
そして、セットアップの完了、最後の仕上げ。
デフォルトでは、デバイスをクリックすると標準のtelnetクライアントが起動します。

これは、Windowsの最新バージョンではプレインストールされなくなっていることを考えると、特に便利ではありません。 PuTTYを使用するのがはるかに一般的です。
PuTTYをブラウザーで開くには、次の形式のレジストリ用のファイルを作成する必要があります。
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\telnet] @="URL:Telnet Protocol" "EditFlags"=dword:00000002 "URL Protocol"="" "FriendlyTypeName"="@C:\\WINDOWS\\system32\\ieframe.dll.mui,-907" [HKEY_CLASSES_ROOT\telnet\DefaultIcon] @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,75,00,72,00,\ 6c,00,2e,00,64,00,6c,00,6c,00,2c,00,30,00,00,00 [HKEY_CLASSES_ROOT\telnet\shell] [HKEY_CLASSES_ROOT\telnet\shell\open] [HKEY_CLASSES_ROOT\telnet\shell\open\command] @="\"C:\\Program Files\\PuTTY\\putty.exe\" %1"
当然、PuTTYの正しい場所を指定することを忘れないでください。
64ビットシステムの場合、最後の行は次のようになります。
@="\"C:\\Program Files (x86)\\PuTTY\\putty.exe\" %1"
その後、拡張子regでファイルを保存し、実行して変更を受け入れます。
そして今、最も興味深いものに移ります-トポロジーを作成します。
IOUでトポロジを作成します
新しいスタンド/実験室を作成するには、[ 実験室 ]セクションに移動し、[ 新しい実験室を追加 ]をクリックする必要があります。

次のフィールドに入力する必要があるページが開きます。
名前、説明 -名前と説明は純粋に情報提供の役割を果たします。
時間 -設定可能なリバースレポートは、おそらくCCIEの準備をするときに意味があります。
図を表示しますか? -有効にすると、トポロジはすべてのデバイス(カーソルでドラッグ可能)で表示され、オフにすると「アクティブな画像」のみが残ります-これらはクリック可能なデバイス(描画領域、ポート番号など)の固定回路です
追加情報 -ここでは、質問やその他のテキストを書くことができます
Netmap-これは、デバイス間の接続が設定される場所です
ここでは、少し余談し、IOUのいくつかの機能を検討する価値があります。
IOU L3は2つのネットワークモジュールNM-4EおよびNM-4Tをサポートします-それぞれイーサネットおよびシリアル用。
両方のモジュールを選択する場合、イーサネットが常に最初になります。
IOU L2-イーサネットのみをサポートします。
たとえば、1つのNM-4Eと1つのNM-4Tは、e0 / 0-0 / 3、s1 / 0-1 / 3のようになります。
次のスタンドを作成するとします。
R2 e0 / 0に接続されているR1 e0 / 0
R1 s1 / 0はR3 s0 / 0に接続
R1 e0 / 1-SW1 e0 / 0
R2 e0 / 1-SW1 e0 / 1
次に、netmapの構文は次のようになります。
1:0/0 2:0/0 1:1/0 3:0/0 1:0/1 4:0/0 2:0/1 4:0/1
最初の数字はデバイスID(任意の値で、情報の役割を果たします。名前のデバイス番号と一致させることをお勧めします)。コロン番号/ポート番号はコロンで示されます。 ご覧のとおり、これはほぼ標準のCiscoインターフェイスの命名です。
その後、「 追加」ボタンをクリックします。 その結果、より多くの設定があります

初期構成パックをすべてのデバイスに適用することは、後で検討されます。
この時点で、名前を指定して適切なIOSを選択するだけです。
次に、 RAMおよびNVRAMフィールドに入力する必要があります 。15番目のIOSには、少なくとも256RAMと64 NVRAMが推奨されます。
そして今、最も重要なことはインターフェイスです。
EthフィールドとSerフィールドを空のままにしないことが重要です。そうしないと、8個のNMモジュールが追加されます。
R1にはNM-4EとNM-4Tが1つ、R2にはNM-4Eが1つ、R3にはNM-4Tが1つ、シリアルのみ。つまり、NM-4Eが0つ、NM-4Tが1つ、SW1が1つです。 NM-4Eおよび0 NM-4T。
次に、 L2キープアライブのチェックが表示されます。このテクノロジーは、相手側ですべてがオフになっている場合でも、インターフェースが稼働しているときに状況を修正します。 純粋なスイッチラボでのみ機能し、トポロジが混在している場合は含めないことをお勧めします。
ウォッチドッグ -iou-webの作成者は、常に有効にしておくことを強くお勧めします。
シスコのプロセッサには、特定の種類のハングからシステムを保護するタイマーがあります。 CPUは定期的にウォッチドッグタイマーをリセットします。 ウォッチドッグタイマーは、基本的に各プロセスの時間を制御します。 プロセスの持続時間が本来より長い場合、ウォッチドッグタイマーを使用してプロセスを終了します。
次に、デバイスのタイプと対応する画像を選択できるドロップダウンリストが表示されます。
オプション- 起動遅延 - 起動前の遅延を秒単位で設定できます。たとえば、すべてのデバイスがすぐに起動し、一部のルーターが20秒後に起動するように設定できます。
最後のオプションである初期構成 - 初期構成パックに直接依存します -これまでは変更されません。
さらに、下部にある画像セクションでは、png形式で画像をアップロードできます。
たとえば、Dia / Visioで図を描画してから、スタンドにロードできます。
[ 保存 ]をクリックして、新しく作成したスタンドをクリックします。

[ ダイアグラム ]タブ-デバイスを好みに合わせて配置し、場所を保存できます。
また、[ デバイス ]タブでは、メインコントロールが実行されます。

[すべてのデバイスを開始 ]ボタンをクリックすると、実際にスタンドを開始できます。
これで、 コンソールを開くボタンをクリックすると、各デバイスの横にターミナルウィンドウが開きます(レジストリへの変更が追加されている場合はパテ)。
Wiresharkアイコンをクリックすると、トラフィックスニッフィングを開始できます。
保存されたpcapファイルは、[ ダウンロード-スニファー]セクションで収集できます。
欠落している初期構成パックオプションに戻ります。
必要に応じて、すべてのデバイスを構成し、 wrコマンドで設定を保存してから、各デバイスでcopy running-config unix:と入力して、構成をディスクに保存できます。
次に、 すべてのUNIXをコピー:// running-config files to databaseボタンをクリックして、すべての構成をエクスポートします。
そして、Laboratoriesセクションに移動して、新しく作成された構成パックを確認できます。
このファイルには、スタンド自体と同じ方法で名前が付けられますが、説明はありません。

これで、スタンド編集モードに入り、[ すべてのデバイスに初期構成パックを適用 ]メニューで新しく作成した構成パックを選択して、変更を保存できます。

それらを有効にするには、[ デバイス ]タブで[ すべてのデバイスを停止し、すべての構成を消去する ]ボタンをクリックします。 これで、構成パックを使用してスタンドを実行できます。
実際のネットワークのIOU
では、これらすべてを実際のネットワークに導入してみましょう。
これを行うために、IOUはクラウドの概念(最大8個)を使用します。
実験室の編集モードに入りましょう。
イーサネットモジュールR1を使用します。
クラウドの場合、800などの大きなID値を明確に使用できます。
NETMAPフィールドに1行追加します。
1:0/2 800:0/0

保存して、すでにおなじみの高度な編集モードに進みます。
名前は任意です。IOSフィールドは空のままにしておく必要があります。
eth1がブリッジモードで既存のネットワークを調べる仮想ネットワークアダプターである場合、イーサネットフィールドにeth1と入力します。
次に、 Picture-Cloudを選択します(これは十分重要です)。

そして実際、結果を保存してすべてのデバイスを実行します。


目標が達成されたことがわかります。
まとめ
Linux用のバージョンとWebフロントエンドの出現により、IOUでの作業は特に難しくなく、すべてが論理的に実装されています。
多くの場合、このエミュレーターは、特にリンク層とスイッチに関しては、GNS / Dynamipsよりもはるかに遅れています。
IOUは、依然としてCCNP / CCIEの準備とトラブルシューティングに最適なツールです。
執筆プロセスでは、主にルートリフレクターサイトの資料を使用しました。
ユーザーnetvolartは、部分的に重複する資料を含む記事をリリースすることで、私を先取りしました。
いつものように、シリーズのすべての記事はlinkmeup.ruで見つけることができます。
linkmeupシグナルマン向けの最初のポッドキャストのすべてのリリースもそこにあります。