このレッスンですること
ネットワークは、パケットを次へ渡すルーターと、パケットを送ったり受け取ったりするホストでできています。ここでは r1 が AS 65001 というひとつのネットワーク全体、r2 が AS 65002 という別のネットワーク全体です。自律システム(AS)とは、ひとつの組織が持つネットワークのこと。BGP は、インターネット上の組織どうしが「自分のところにはここまで届くよ」と教え合うための仕組みです。
3つめのネットワークのラボを見て回り、届かないパケットを送って、その理由を調べます。直すところまではやりません。それはラボ自身の課題です。
始める前に
メモ
このレッスンの上のバーでラボを起動を押してください。このラボは、自分専用のUbuntu マシンまるごとで、その中に小さなネットワークが作ってあります。コンテナより起動に少し時間がかかります。下の実行ボタンは、コマンドをマシンのターミナルに順番に入力してくれます。「マシンはまだ起動中です」と出たら、数秒待ってからもう一度押してください。入力の様子を見たり、自分でコマンドを打ったりするときは、バーのターミナルを開く(新しいタブ)を押します。
1. マシンを確かめよう
ここにあるものはすべて、あなたの Ubuntu マシンの中に作られています。ルーターもホストも、それぞれ別々のネットワーク名前空間(network namespace)で、自分のアドレスを持っています。netlab status で一覧が見られます。r1 と r2 がルーターで、どちらも BGP のプログラム bgpd を動かしています。priv は r2 の奥にあるプライベートネットワークです。to- で始まる名前はネットワークケーブル、数字はアドレスです。
netlab statusここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
2. となりのルーターと話そう
2台のルーターは1本のケーブルでつながっているので、お互いに話せます。次は r1 から r2 に ping を送ります。
sudo ip netns exec r1 ping -c 2 -W 1 10.0.12.2ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
3. ネットワークを越えてみよう
今度は向こう側のホスト 10.0.3.2 に送ります。ping は小さなパケットを送って、返事を待つコマンドです。何も届きません。h1 のとなりのルーターが、理由を教えてくれます。Destination Net Unreachable(宛先ネットワークに届きません)、つまり「そのネットワークへの道を知りません」という意味です。
sudo ip netns exec h1 ping -c 2 -W 1 10.0.3.2ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
4. BGP が動いているか聞こう
show bgp summary は、このルーターが BGP のセッションを張っている相手の一覧を出します。プログラムは動いていますが、まだだれも BGP を設定していないので、聞く相手のインスタンスさえありません。
sudo vtysh -N r1 -c "show bgp summary"ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
5. r1 が何を知っているか聞こう
BGP がないと、r1 が知っているのは、つながっている2つのネットワークだけです。C(connected、直接つながっている)と L(自分のアドレス)の印がついた行がそれです。h2 がいるネットワークは載っていません。だから手順3は失敗したのです。
sudo vtysh -N r1 -c "show ip route"ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
ラボに取り組もう
ヒント
パケットがどこで止まるか、そしてなぜ止まるかが分かりました。動くようにするのはこのラボの課題です。ターミナルで cat README.md を実行して、ホームフォルダの README.md を開いてください。やることが書いてありますが、答えは書いてありません。
先生へ
ヒント
このレッスンは、ラボで進めるレッスンの小さな例です。手順と実行ボタンがレッスンで、ラボは生徒ひとりひとりのコピーです。これは VM ラボのレッスンで、生徒はそれぞれ自分の Ubuntu マシンを持ち、その中に2つの自律システムがあります。ラボのチェックは、セッションが Established になっていること、そしてプライベートネットワークが広告されていないことを見ます。ご自分のモジュールにコピーして変更するか、レッスンビルダーのラボメニューから一から作ってください。