入門

パート 7

ネットワークを勘で直さない:一層ずつ診断する

層ごとに観察できれば、ネットワーク問題はずっと理解しやすくなります。

Web リクエストは複数の質問の積み重ね

DNS、サービスのポート、TLS、HTTP はそれぞれ別の層です。ブラウザーが最後に表示したエラーだけで判断せず、順番に切り分けてください。

名前とアドレスは別物

dns は名前解決、ip はアドレス/ネットワークを調べます。DNS 成功だけでは Web サービスの存在を証明しません。

install ping dns ip tcp curl cert net geo
dns example.com -a -aaaa
ip 192.0.2.10/24
ip server

lil-terminal の `ping` は HTTP の確認

一般的な ICMP ping と異なり、lil-terminal の ping は HTTP ステータス、最終 URL、所要時間、解決されたアドレスを調べます。

ping https://example.com -t
ping example.com -i

アドレスだけでなくサービスと信頼が必要

tcp ... -tls でサービス、cert -h で証明書を確認します。-k は診断上の例外だけにします。

tcp example.com 443 -tls -i
cert -h example.com
tcp example.com 80

HTTP ヘッダーが問題を説明することが多い

curl -I / -i でステータス、リダイレクト、プロトコルメタデータを直接見られます。

curl https://example.com -I
curl https://example.com -i -t 10
curl https://example.com -o network-example.html

ローカルインターフェースと GeoIP は用途が違う

net は見えるインターフェース、geo は近似的なネットワーク/位置情報です。IP 位置は人の識別情報ではありません。

net -l
net -4
geo example.com -c

役立った診断順序を保存する

同じ読み取り専用確認をスクリプトにすれば、別ホストでも同じ方法で比較できます。

スクリプトとして残す

network-check.lilexample.com に対して五つの読み取り専用確認を実行します。

#lil
@install ping dns tcp curl cert
ping https://example.com -t
dns example.com -a -aaaa
tcp example.com 443 -tls
curl https://example.com -I
cert -h example.com