編集済み 4 数週間前 によって ExtremeHow 編集チーム
ネットワーキング診断トラブルシューティングコマンドラインツール接続性シスアドミンパフォーマンス設定監視
翻訳が更新されました 4 数週間前
Linuxのネットワーク問題は診断と修正が難しい場合があります。Linuxシステムは個人用コンピュータから企業向けサーバに至るまでさまざまな環境で使用されることが多く、ネットワークの問題が一般的であり、時には複雑です。このガイドでは、ネットワークの問題を段階的にトラブルシューティングする体系的なアプローチを紹介します。このガイドの終わりまでに、Linuxのほとんどのネットワーク問題を特定し、修正できるようになるでしょう。
トラブルシューティングに入る前に、基本的なネットワークの概念をよく理解しておくことが重要です:
トラブルシューティングプロセスを開始するには、ハードウェアを確認し、物理的な接続をチェックしてください。すべてのケーブルがしっかりと接続されており、ネットワークハードウェア(ルーターやスイッチなど)が正しく動作していることを確認します。
以下のコマンドを使用して、現在のネットワークインタフェースとそのステータスを表示します:
ifconfig -a
システムにifconfig
がない場合は、最新の代替としてip addr
を試してください:
ip addr
ネットワークインターフェースに割り当てられたIPアドレスを探します。インターフェースにIPアドレスがない場合、それはネットワークに接続されていません。この情報を使用して初期接続性を確認します。
ネットワークインターフェースが有効であるか確認します:
ip link show
ネットワークインターフェースの横に「UP」または「DOWN」という言葉を探します。インターネットに接続するインターフェースが「UP」になっていることを確認します。「DOWN」の場合、次のコマンドを使用して有効にします:
sudo ip link set dev <interface-name> up
通常はeth0
やwlan0
のような有線または無線のインタフェース名である<interface-name>
を置き換えてください。
外部接続を確認するために、Google DNS(8.8.8.8)のようなよく知られた公共サービスにpingを試みます:
ping -c 4 8.8.8.8
pingが成功すれば、ネットワークデバイスはインターネットに接続されています。失敗した場合、ネットワークまたはインターネット接続に深刻な問題がある可能性があります。
ネットワークルーティングの問題をトラブルシューティングするために、ルーティングテーブルを確認します:
route -n
または最新の代替を使用します:
ip route
デフォルトゲートウェイが正しく設定されているか確認します。問題がある場合、ネットワーク設定を再構成して正しいゲートウェイアドレスを含める必要があるかもしれません。次のように不足しているルートを追加できます:
sudo route add default gw <gateway-ip> <interface-name>
実際のゲートウェイIPとネットワークインターフェース名である<gateway-ip>
と<interface-name>
を置き換えてください。
DNSサーバへの接続が失われたり、DNS解決に問題がある場合、ドメイン名をIPアドレスに変換するのが難しくなることがあります。DNS問題をテストするためにpingを試してください:
ping -c 4 google.com
IPアドレスにはpingできるがドメイン名にはpingできない場合、DNS設定が間違っている可能性があります。次の/etc/resolv.conf
でDNS構成を確認してください:
/etc/resolv.conf
有効なDNSエントリを持っていることを確認してください。例えば:
nameserver 8.8.8.8
異なるDNSを試すためにresolv.conf
を編集し、次の項目を追加することもできます:
nameserver 8.8.4.4
修正後、DNS設定を再度テストしてください。
特定のネットワークインターフェースに問題がある場合、それをテストして再起動します:
ネットワークインターフェースをリセットするには:
sudo ip link set <interface-name> down
sudo ip link set <interface-name> up
これはインターフェースをソフトリセットし、問題を解決できることがあります。
ドライバーの競合や問題は、接続性を破壊することもあります。ロードされたドライバーを表示します:
lshw -C network
音声出力の場合は次のコマンドを使用します:
lsmod | grep <driver-name>
ハードウェアドライバーがロードされていないか正しく動作していない場合、ドライバーの再インストールや更新が役立つ場合があります。
Linuxは詳細なトラブルシューティング用のユーティリティを提供しています:
オープン接続とリスニングポートを表示するには:
netstat -tuln
このコマンドはすべてのTCP/UDPリスニングポートと現在のアクティブな接続をリストします。
特定のホストのネットワークパスを確認するには:
traceroute google.com
これによりドメインへのパス上の各ホップが示され、故障点を特定するのに役立ちます。
ホストの接続性をテストするための多用途のネットワークユーティリティ:
nc -v -z <host> <port>
ホストのオープンポートを確認するには、<host>
と<port>
を置き換えます。
この多目的ツールはネットワーク設定の調整と現在の構成の表示ができます:
ip -s link
sudo ip route flush cache
システムログを確認してフィードバックやエラーをチェックします:
tail -f /var/log/syslog
このコマンドは、syslogの最後のいくつかのエントリを継続的に表示し、リアルタイムで新しいログをキャプチャします。
基本的なトラブルシューティングで問題が解決しない場合、以下を考慮してください:
Linuxでのネットワーク問題は、さまざまなデバイスと環境があるため一見厳しいものに思えますが、体系的なアプローチと基本的なネットワーク原理の理解があれば、プロセスをより簡単にすることができます。まずハードウェア接続を確認し、その後にソフトウェア構成や診断に深く入り込んでください。
結論として、これらのツールやコマンドを用いた学習と練習を続けることで、Linuxシステムでのトラブルシューティングの自信を高め、強化することができます。このガイドは最も効果的な方法とコマンドをカバーしており、Linuxのネットワーク問題の幅広い範囲に対処する力を備えることを保証します。
記事の内容に誤りがある場合, あなたは