Debian でネットワークの問題を解決する方法

Debian でネットワークの問題を解決する方法

今日私はLinuxボックスを再起動しましたが、再起動後にLinuxボックスにネットワーク接続がありません。

これが私が今まで試したことです:

  1. 別のコンピュータで動作する別のイーサネットケーブルを使用してください。お金を守ってください。

  2. NetworkManager(KDE)から有線ネットワーク接続を削除して再作成します。役に立たない。それでも画面右下にシステム通知が表示されます。

    Network Interface
    Connection New Wired Connection failed
    
  3. > sudo /etc/init.d/networking restart再起動に成功したようですが、まだネットワークがありません。
  4. 確認しました/etc/network/interfaces。その中にある唯一のコードは、インターネットで話すことです。

    auto lo
    
    iface lo inet loopback
    
  5. GoogleのパブリックDNSサーバーの1つにpingを試して、単なるDNSの問題ではないことを確認してください。

    $ ping 8.8.8.8
    connect: Network is unreachable
    

    DNSの問題ではないようです。

  6. 新しいルーティングを編集してください。私はこのrouteコマンドを使用して私のルーターのIPアドレスを指すデフォルトゲートウェイを追加しました(@chaosに感謝します)。

    $ /sbin/route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
    
  7. 新しいIPアドレスがあることを確認してください

    $ /sbin/ifconfig -a
    eth0      Link encap:Ethernet  HWaddr 74:d4:35:5f:0b:09  
      inet6 addr: fe80::76d4:35ff:fe5f:b09/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:2999 errors:0 dropped:0 overruns:0 frame:0
      TX packets:0 errors:0 dropped:1711 overruns:0 carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:365026 (356.4 KiB)  TX bytes:0 (0.0 B)
      Interrupt:73 Base address:0xc000 
    
    
    lo        Link encap:Local Loopback  
      inet addr:127.0.0.1  Mask:255.0.0.0
      inet6 addr: ::1/128 Scope:Host
      UP LOOPBACK RUNNING  MTU:16436  Metric:1
      RX packets:4913 errors:0 dropped:0 overruns:0 frame:0
      TX packets:4913 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:0 
      RX bytes:1559718 (1.4 MiB)  TX bytes:1559718 (1.4 MiB)
    

IPv6アドレスはありますがIPv4アドレスはないようです。eth0that で始まる行があればいいのですが、そうではありませinet addr:ん。

それでは、IPアドレスを取得する方法は?

役に立つかもしれないし、そうでないかもしれない追加情報は次のとおりです。

システムメッセージ

$ uname -a
Linux mocha 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1 x86_64 GNU_Linux

イーサネットコントローラ

$ lspci | grep -i eth
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

次は何をすべきですか?

答え1

connect: Network is unreachableこのネットワークへの不足しているパス(この場合はデフォルトパス)。

使用:

route -n

現在のルーティングテーブルを表示します。次のパスが必要です。

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         <gateway-ip>    0.0.0.0         UG    0      0        0 eth0

これは<gateway-ip>ルーター/ゲートウェイのIPアドレスです。Ifaceシステムに複数のネットワークインターフェイスがある場合でも異なる場合があります。

ただし、次のコマンドを使用してデフォルトパスを手動で追加します。

route add default gw <gateway-ip>

答え2

これらすべてのコマンドをrootとして実行して、ifconfig -aインターフェイスにIPアドレスがあることを確認し、そうでない場合は問題が見つかった場合はnetstat -rnルーティングが正しいことを確認します。それでは、iptables -L出てこないようにするファイアウォールルールがあることを確認してみましょう。すべてが正常な場合、あなたのIPアドレスはおそらくルーターのネットワークに属していません。

答え3

ここでの問題は有線インターフェイス(eth0)です。いいえIPv4アドレスがあります。 IPv4パスを手動で追加したがIPv4アドレスがないと、送信元IP(システム)にIPアドレスを割り当てることができないため、トラフィックをルーティングできません。

あなたの環境についてもっと知らないまま(DSL接続を使用していますか?会社のネットワークにいますか?誰がIPアドレスを提供する必要がありますか?)と推測します。 IPアドレス。 DHCPサーバー。静的に設定されたアドレスがある場合(設定は表示されません)、再起動後にアドレスが失われます。

IPv6 アドレスは「自動設定」されているため表示されます。まだ設定していないため、有線インターフェイスはローカルネットワークとの通信に使用できるインターフェイスのみを生成します。

あなたが提供したifconfig情報によれば、ネットワークカードはイーサネットパケットを受信しますが送信していないようです。奇妙なことに、破棄されたパケットがたくさん表示されます。

初心者の場合は、次のことをお勧めします。

  1. ネットワークのIPアドレス指定方式に関する情報を取得します。ネットワーク管理者に問い合わせるか、ISPから提供された情報を確認してください。あるいは、(勇敢な場合)ネットワークトラフィックに対してスヌーピングを実行し、 tcpdump -ni eth0システムが受信するパケットに基づいて内部ネットワークアドレスを推測することもできます。

    これからは、ネットワークがプライベートIPアドレスの範囲内にあるとします。これは非常に一般的な現象です。今日、多くのネットワークは192.168.1.0/24スペースで事前設定されています。つまり、IP アドレスは 192.168.1.1 から始まり、192.168.1.254 で終わります。

  2. /etc/network/interfacesNetwork Manager(つまりデスクトップ経由)を使用するか、正しい設定を使用してネットワークインターフェイスの静的IPアドレスとゲートウェイを設定します。ここで完全に説明されています。Debian Wiki

    注:実行するように手動で設定することもできますip addr add 192.168.1.15 dev eth0; ip route add default via 192.168.1.1。しかし、これはいいえシステムの再起動後も維持されます。

  3. パケットをゲートウェイに送信して、ゲートウェイに到達していることを確認してください。ゲートウェイが192.168.1.1であると仮定し、ping -c 10 192.168.1.1コマンドが10個のテストをすべてOKとして返すと、ゲートウェイが表示されます。

  4. 次に、よく知られているパブリックIPアドレスにアクセスしてみてください。たとえば、Google DNS サーバーがping -c 10 8.8.8.8機能しない場合は、トラッキング テストを実行してtraceroute -n 8.8.8.8パケットがドロップされる場所を確認します。

  5. 最後に、以下を実行してこれを実行できることを確認してくださいhost www.google.comping -c 10 www.google.com

手順5ですべてが順調に進んでいる場合は、インストールをお勧めします。ifupdown - 追加パック。がインストールされますネットワークテストこのツールは、上記のネットワークテスト(およびそれ以上)の多くを実行して、ネットワークの問題または構成エラーがあるかどうかを診断できます。

一度固定IPアドレスを使用して接続できます。 DHCPを使用した動的IP構成であった可能性がある以前の構成に戻ります。

これを行うには:

  1. 動的IPアドレスを使用するようにインターフェイスを再設定します。

  2. ネットワーク管理者が操作を完了するのを待ちます。デスクトップ環境で失敗した(または失敗していない)ことを確認できますが、システムログから詳細を取得することもできます。具体的には/var/log/syslog。 Network Managerログをフィルタリングするとかなりの情報が得られるので、実行してgrep NetworkManager /var/log/syslog出力を確認してください。

  3. network-test接続が正しいことを確認するために実行

  4. ネットワークに接続していない場合は、実行中のIPアドレスを手動で要求して、dhclient eth0IPアドレスが提供されていることを確認してください。

上記のテストに基づいて、ネットワークのどの部分が失敗し、どの部分が正しく機能しているかをよりよく理解し、それに応じてシステムを構成する必要があります。

関連情報