クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

スタティックルーティングの基本

レッスン全文をここで読めます。無料アカウントを作成すると、実際のラボで実践できます。

仮想マシンラボ読了目安 9分コマンド6個

このレッスンでやること

ネットワークは、パケットを次へ渡すルーターと、パケットを送ったり受け取ったりするホストでできています。ここでは h1 がホスト、r1 と r2 がルーター、h2 がもう1つのホストです。ルーターが知っているのは、直接つながっているネットワークだけです。1つ目のネットワークのラボを見て回り、通り抜けられないパケットを送って、その理由を調べます。直すところまではやりません。それはラボ自身の課題です。

はじめる前に

メモ

このレッスンの上のバーにある ラボを起動 を押します。このラボは、あなた専用の Ubuntu マシンまるごとで、その中に小さなネットワークが作られています。そのため、コンテナより立ち上がるまで少し時間がかかります。下の 実行 ボタンを押すと、コマンドがマシンのターミナルに順番に入力されます。マシンがまだ起動中と出たときは、数秒待ってからもう一度押してください。動きを見たり自分で入力したりするには、バーの ターミナルを開く(新しいタブ) を押します。

1. マシンを知る

ここにあるものは全部、あなたの Ubuntu マシン1台の中に作られています。ルーターもホストも、それぞれ別のネットワーク名前空間(network namespace:1台のマシンの中で、独立したネットワークを作る仕組み)で、それぞれ自分のアドレスを持っています。netlab status で一覧が出ます。r1 と r2 がルーター、h1、h2、mgmt がホストです。to- で始まる名前はネットワークケーブルで、数字はアドレスです。

コマンド
netlab status

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

2. となりのルーターと話す

sudo ip netns exec h1 は、続くコマンドを h1 自身のネットワークの中で実行します。これは、r2 へのケーブル上にある r1 のアドレスに ping を送ります。答えが返ります。h1 は自分のルーターに届き、ルーターは自分の2本のケーブルを知っているということです。

コマンド
sudo ip netns exec h1 ping -c 2 -W 1 10.0.12.1

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

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. ルーターが何を知っているか聞く

ルート(経路)は、ルーターの表の1行です。「このネットワークに行くには、こちらへ進む」という意味です。これは r1 の表を表示します。ケーブル1本につき1行で、全部で2行あります。h2 があるネットワーク 10.0.3.0/24 の行はありません。だからパケットは止まったのです。

コマンド
sudo ip netns exec r1 ip route

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

5. パケットがどこで止まるか見る

traceroute は、パケットが通るルーターを全部表示します。1行目は r1 で、その後ろの !N は「ネットワークに届かない」という意味です。パケットはそれより先へ進みませんでした。

コマンド
sudo ip netns exec h1 traceroute -n -m 4 -w 1 10.0.3.2

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

6. ルーター自身のコンソールで聞く

ここのルーターは、無料のルーティングソフトウェア FRRouting を動かしています。vtysh はそのコンソールで、実際のネットワーク機器でも使われているものです。show ip route は同じ表を、凡例付きで表示します。C は connected(直接つながっている)という意味です。

コマンド
sudo vtysh -N r1 -c "show ip route"

ここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。

ラボに取り組もう

ヒント

パケットがどこで、なぜ止まるのかが分かりました。動くようにするのは、このラボの課題です。ターミナルで cat README.md と入力して、ホームフォルダーの README.md を開いてください。何をするかが書かれていますが、答えは書かれていません。

先生へ

ヒント

このレッスンは、ラボで進めるレッスンの小さな例です。手順と実行ボタンがレッスンで、ラボは生徒一人ひとりのコピーです。このレッスンは VM のラボで進めます。生徒一人ひとりが自分の Ubuntu マシンを持ち、その中にネットワークがあります。実行ボタンはそのターミナルに入力し、出力を表示します。ラボ自体には、完成したネットワークを採点するチェックがあります。ご自分のモジュールにコピーして変更するか、レッスンビルダーの ラボ メニューから最初から作ってください。

このラボとソースについて: スタティックルーティングのラボ:小さなネットワークの経路をブラウザーで作る

授業で教えていますか?これらのレッスンを生徒に割り当て、採点と生徒ごとのラボを使えます。