0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

『体験しながら学ぶ ネットワーク技術入門』をやってみる@勉強記録①

Posted at

体験しながら学ぶ ネットワーク技術入門を購入しましたので、こちらの勉強記録を乗せる記事となります。
諸々に気を付けながら、主に自身のモチベーションアップの目的で投稿。

意気込み

ネットワーク勉強するぞ!

Chapter1 検証環境を作ろう

wslを利用してUbuntuをインストール

まずは検証環境をつくるべく、Hyper-v上WSL2を利用してUbuntu 20.04をインストールする

powershell
wsl --install --distribution Ubuntu-20.04
インストール中: Ubuntu 20.04 LTS
Ubuntu 20.04 LTS はインストールされました。
Ubuntu 20.04 LTS を起動しています...

上記を実行したところ、別のPorewshell画面が起動したが問題発生、さっそくエラーが、

powershell
Installing, this may take a few minutes WslRegisterDistribution failed with 
error: 0x800701bc Error: 0x800701bc WSL 2 ???????????? ??????????????????????? https://aka.ms/wsl2kernel ?????????

調べたところどうやらLinuxカーネルのバージョンが古いようで、下のDocsの通りやると無事エラーが解決。
https://learn.microsoft.com/ja-jp/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

パスワードやrootユーザーの設定などもろもろする。
基本この後の作業はrootユーザーで実施。

セットアップスクリプトの実行

本書用に用意されたセットアップスクリプトをUbuntu上で実行するよう。

規定でWSL上のUbuntuにWindowsのCドライブが/mnt/c/でマウントされるので、Windowsでセットアップスクリプトを落とした後、Ubutuから実行する。
セットアップスクリプトで以下を実施。

  • DNSクライアントの設定
    DNSサーバの指定をWSLからの生成ファイルでなく、固定で持たせる。
  • Ubuntuのアップデート
  • Dockerファイルのインストール
  • tinetのインストール
  • wsl.confの設定
    • ホスト名の変更
    • reslve.confの自動生成の無効化
    • Dockerの自動起動
    • defaultログインユーザーの指定

驚くことに設定ファイルだけでなく、設定が問題なく完了しているか確認するスクリプトも用意されている。。!

WSL2の使い方

よく使うコマンドを抜粋
WSLは再起動のコマンドがないため、起動停止したのち起動する

powershell
wsl --distribution <WSLインスタンス名> #WSLインスタンスの起動(すでに起動している場合はログイン)
wsl --distribution <インスタンス名> --user <ユーザー名> #指定したインスタンスに指定したユーザーでログイン
wsl --list --verbose #インスタンスの状態確認
wsl --shutdonw #すべてのインスタンスの停止
wsl --terminate <WSLインスタンス名> #指定したインスタンスの停止 

WSLインスタンスとWindowsのファイルのやり取り

  • Windows→WSLへアクセス
    エクスプローラで「\wsl.localhost」配下からアクセスできる
    image.png

  • WSL→WSL
    /mnt/c/配下にcドライブがマウントされる

Doerkerの使い方

よく使うコマンドを抜粋

docker exec #実行中のコンテナ内でコマンドを実行
docker ps #起動しているコンテナの一覧を表示
docker image #ダウンロードしたイメージの一覧を表示
docker start #起動
docker stop #停止

tinetの使い方

よく使うコマンドを抜粋

tinet up -c <設定ファイル> #設定ファイルからネットワーク機器のコンテナを作成できる
tinet conf-c <設定ファイル> #設定ファイルからコンテナの設定をする
tinet test -c <設定ファイル> #設定ファイルからテストコマンドを実行
tinet image -c <設定ファイル> | dot -Tpng <ファイル> #ネットワーク環境の可視化、事前準備としてGraphvizのインストールが必須

検証環境構築

用意されているyamlファイルをtinetコマンドからWSLにて実行し検証環境を作成。コマンドや実行ログは無害化が面倒なので割愛。

作成された環境は家庭のPCからインターネット接続する環境に寄せた構成となっている。
家庭内LAN→インターネット→サーバーサイトの3つのブロックに分けてあり、スイッチ、ルーター、FW、DNS、LBなどが配置される。

最終的にはCurlで指定したURLからコンテンツが返ってくるか確認しOKであれば検証環境の構築は完了。

curl -k https://www.example.com/
sv1.example.com

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?