この講習会では、仮想的に接続された機器の設定を通して、インターネットが動くのに必要な要素技術を実用的な形で学習します。
講習会は一連の講義で構成されており、各講義には対応するディレクトリがあるので詳しくは各リポジトリのREADME.mdを参照してください。
1969年にその原型となったARPANETが誕生して以来、インターネットは今や生活のあらゆる場面に登場し、社会インフラの一部となりました。 この講習会では、インターネットを支える技術のなかでも識別子の扱いや経路制御、名前解決などに注目して掘り下げていきます。(前提知識は特に要求しません)
各講義は作業の背景知識となるLessonと、実際に手を動かしてネットワークの設定を行うAssignmentで構成されています。
長年かけて発展してきたインターネットの技術を網羅的に扱う都合上、Lessonにはあまり詳しい内容は書かないので各自で積極的に調べるようにしてください。 Assignmentの解答はsolution以下にあるので困ったときは参考にしてください。
- 動作環境
- Ubuntu 20.04 LTS
- GCP e2-micro
- vCPU x2
- memory 1GB
Exec this script:
curl https://raw.githubusercontent.com/hijiki51/InternetArchLecture/main/setup/setup.sh | bash
現状dockerとbridgeの接続がコンテナの停止によって切断されてしまう。 そのため、コンテナを再起動したときには以下の手順で復旧を行う。
$ ovs-vsctl list-ports br-r4-server | xargs -IXXX ovs-vsctl del-port br-r4-server XXX
$ ovs-vsctl list-ports br-rEX-server | xargs -IXXX ovs-vsctl del-port br-rEX-server XXX
$ nic_full_reset
$ seq 1 3 | xargs -IXXX ovs-docker add-port br-r4-server ens4 sXXX
$ ovs-docker add-port br-rEX-server ens4 sEX
# config
# load
# commit
# save
# exit