ルータが特定のデバイスをブロックする

ルータが特定のデバイスをブロックする

新しいルーターを介してコンピュータをインターネットに接続しようとしていますが、これまで見た中で最も混乱した方法では動作しません。

  1. 一般的な方法でWi-Fiネットワークに接続すると、

    Computer --(Wifi)--> Router
    

    これにより、問題なくルータにpingを送信できます。しかし、8.8.8.8にはpingを送信できません。

    PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
    

    言うまでもなく他のサイトにもアクセスできませんでした。

  2. イーサネットに切り替えると、

    Computer --(Ethernet)--> Router
    

    これは、状況は(1)とまったく同じで、Wi-Fiの問題ではないことを示します。

  3. 次に、下の図に示すように、他の2台の電話機をルーターに接続しました。

    Computer --(Wifi)--> Router
    Phone 1  --(Wifi)--> Router
    Phone 2  --(Wifi)--> Router
    

    両方の携帯電話は正常にインターネットに接続でき、3つのデバイスはお互いとルーターにpingを送信できますが、コンピュータはまだインターネットに接続できません。

  4. USBテザリングを介してコンピュータに接続するために携帯電話をブローカーとして使用してみました。

    Computer --(USB tethering)--> Phone --(Wifi)--> Router
    

    コンピュータはまだインターネットに接続できません。しかし、携帯電話をモバイルデータに切り替えると

    Computer --(USB tethering)--> Phone --(Mobile Data)--> Mobile Network
    

    すべてがうまく機能し、これはネットワーク共有設定に問題がないことを示します。

私が試したこと

  • (過去には)別のルーターを使用してください。彼らはすべて働いた。

  • コンピュータのワイヤレス規制ドメインが正しく設定されていることを確認しました。

  • ルータを再起動します。

  • ルーターをリセットできません。

  • コンピュータのMACアドレスをなりすまします。イーサネットを使用する場合を除き、違いはありません。これでルータにまったく接続できません。

  • 地下鉄をご利用ください。 mtr 8.8.8.8 を実行すると、次の結果が表示されます。

     Host
     1. _gateway
     2. 10.12.0.1
     3. (waiting for reply)
    

    10.12.0.1がルーターアドレスだと思います。しかし、それ以上に進化せず、間違いなくdns.googleには含まれていません。

  • Arch Wikiが推奨するようにTCPウィンドウのサイズ変更を無効にします。これは完全に暗闇の中で撮影されました。それも動作しません。

  • Arch Linuxの代わりにDebian LiveUSBを実行してください。

  • mtuを1500から128に減らします。 [追加]

その他の有用な情報[追加]

  • コンテンツ/etc/resolv.conf:

     # Generated by NetworkManager
     nameserver 127.0.0.1
     options edns0 trust-ad
    
  • コンテンツNetworkManager.conf:

     [main]
     plugins=keyfile
     dns=dnsmasq
     dhcp=internal
    
  • イーサネット経由で接続されている場合のシステムログ:

    https://pastebin.com/rAQqjvmk

一般化する

私が何をしても、このルータは私のコンピュータで正しく動作しているようです。どういうわけか、偽のMACアドレスと新しいオペレーティングシステムを使用して、電話の背後に隠されているときに自分のコンピュータを認識しました。この時点で私が推測する最も良い推測は、いくつかのハードウェア識別情報が何らかの方法でpingパケットに入り、ルータがそれをブラックリストに追加したことです。したがって、質問は明らかです。

  • 動作しない原因は何ですか?
  • どのように機能させますか?

ベストアンサー1

議論していただきありがとうございますチャット、私は問題を正常に解決し、何かを学びました。

理由

ここで2つの不快なことが起こっています。どちらも私のルーターとインターネットの間にあるネットワークスイッチに関連しています。

コンピュータ-->ルータ-->変化-->インターネット

  1. スイッチがpingパケットをブロックしています。

    つまり、インターネットに接続できてもping、、、traceroute。などのツールがtracepath機能しないため、この場合診断ツールとしては使用できません。mtr明らかに、一部の管理者は「セキュリティ上の理由から」これらのツールを無効にしましたが、私が知っている限り、このツールは最終的に多くの混乱を引き起こしました。私はこれを野生で見たことがないし、それが行われていることを聞いたことがないので、これはオプションだとは思わない。ここで学ぶことができる教訓は、ping自分がいつも利用可能であると信じられないことです。

    ルータ自体はpingパケットをうまく処理します。これは、同じルーターに接続されている別のデバイスをpingできますが、他の操作を実行できない理由を説明します。

    (事実、この推論はあまりにも素朴かもしれません。@Cbhiheによるとチャット、最終的にルーターがブロックされている可能性があります。まだわかりませんが、上の図はまだ問題が何であるかを示す有用なモデルです。 )

しかし、これが問題の原因ではありません。これを調べる試みは挫折するだけです。しかし、これらの変化がある面で悪いことを考えると、他の面でも悪くなる可能性があります。これにより、我々は...

  1. ローカルDHCPサーバーがDHCPクライアントと正しく通信できません。

    各コンピュータには、ネットワークに接続するときにIPアドレスを割り当てるためのDHCPクライアントが必要です。私は、のdhcp=internal説明に従ってNetworkManagerの内部dhcpクライアントですNetworkManager.conf。このDHCPクライアントは非常に基本的なものであることがわかりました。これまでは機能していましたが、このDHCPサーバーでは機能しません。マイコンピュータのIPアドレス情報が正しく設定されていないことがわかりました。

    正確に何が間違って設定されているのかわかりません。もちろん、私のコンピュータは、図のようにすでに有効なIPアドレスを受け取りました。ip addrそうしないと、電話はそのアドレスをpingできません。しかし、何か他の問題があるようです。スイッチが落ち着かず、すべてのIPパケットが破棄されるためです。

    ループバックアドレス127.0.0.1には問題ありません/etc/resolv.conf。これはdns=dnsmasq、NETで説明したように、DNSキャッシュにdnsmasqを使用していることを反映していますNetworkManager.conf。アイデアは、dnsmasqが127.0.0.1でDNS要求を受信し、キャッシュに存在することを確認し、そうでない場合は実際のDNSサーバーに転送することです。私はずっと前にこれを微細最適化に設定しました。実際のDNSサーバーは妥当な値に設定されているため、ここではDNSが直接的な要因ではないようです。問題を解決するためにまだDNSサーバーと通信できませんが、これは正しく設定されていないためではなく、すでに述べた問題によるものです。

解決策

問題の原因は私のDHCPクライアントです。私はそれをより強力なものに置き換え、dhclientすべてがうまくいった。それでもpingはできませんが、インターネットにアクセスできることが重要です。

より良い構成

もう少し設定した後、dnsmasqを最新のsystemd-resolvedに置き換えることにしましたが、すべてがまだ機能します。今私がNetworkManager.conf読んでいるのは

[main]
plugins=keyfile
dns=systemd-resolved   # Not strictly necessary, but helpful to remind me
dhcp=dhclient

そのうち、dhclientは設定する必要はありませんが、systemd-resolvedは設定する必要があります。

systemctl start systemd-resolved
systemctl enable systemd-resolved
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

おすすめ記事