【Linux】ネットワーク系のトラブルシュート 〜 DNS編 〜

◾️はじめに

久々にネットワーク系のトラブルを解決し
自分なりのトラブルシュートの型が欲しかったので
これを機に整理してみた

目次

【1】トラブル
 1)エラー内容
 2)発生環境
【2】調査手順
 Step1:curlコマンドを投げてみる
 Step2:nslookupコマンドを投げてみる
【3】DNSサーバ登録方法
【4】補足:WSL上での本質的な解決方法

【1】トラブル

sbtコマンド実行で、以下のエラーが発生した

1)エラー内容

Host repo1.maven.org not found. url=https://repo1.maven.org/maven2/org/scala-sbt/...

2)発生環境

* OS: Debian on Windows11 / WSL

【2】調査手順

Commands Explanations Memo
curl インターネット疎通確認 wget/ping で代用可能
nslookup DNS名前確認 dig/getent host で代用可能

Step1:curlコマンドを投げてみる

* 目的:ネットワーク接続が問題ないかどうかを確認するため
* curlコマンドがなければ「wget --spider https://...」

curl コマンド
https://dk521123.hatenablog.com/entry/2017/12/05/233100

# -I: HTTPレスポンスヘッダーの取得
# -v (–verbose): 処理状況の更なる詳細や説明を出力
curl -I https://repo1.maven.org/maven2/org/scala-sbt/...
 => エラー"curl: (6) Could not resolve host: repo1.maven.org"
 => ホスト「repo1.maven.org」が解決できなかった、、、

# 対象外のURLでも試す
curl -I https://www.google.com
 => 問題なく返ってくる(インターネットはOKとわかる)

Step2:nslookupコマンドを投げてみる

* 目的:名前解決できているかを確認するため
* nslookupコマンドがなければ、以下を試す
 + dig <HOST名>
 + getent hosts <HOST名>

ネットワーク系コマンド ~ DNS編 ~
https://dk521123.hatenablog.com/entry/2021/08/07/000000

nslookup repo1.maven.org

** server can't find repo1.maven.org: REFUSED
 => 名前解決できていなさそう

【3】DNSサーバ登録方法

sudo vim /etc/resolv.conf

# => 以下を追記して保存し再度確認したら繋がった!

/etc/resolv.conf

nameserver 8.8.8.8
nameserver 8.8.4.4

【4】補足:WSL上での本質的な解決方法

* 以下の関連記事を参照のこと

WSLで外部に繋げない
https://dk521123.hatenablog.com/entry/2023/01/11/000000

関連記事

DNS 〜 入門編 〜
https://dk521123.hatenablog.com/entry/2015/02/03/151621
DNS 〜 セキュリティ攻撃 〜
https://dk521123.hatenablog.com/entry/2016/01/12/115100
DNSDebianでTimeout設定 〜
https://dk521123.hatenablog.com/entry/2017/05/26/004035
WSLで外部に繋げない
https://dk521123.hatenablog.com/entry/2023/01/11/000000
ネットワーク系コマンド ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2016/07/27/214633
ネットワーク系コマンド ~ DNS編 ~
https://dk521123.hatenablog.com/entry/2021/08/07/000000
curl コマンド
https://dk521123.hatenablog.com/entry/2017/12/05/233100