Linuxでは一部のWebサイトにアクセスできません(Windowsではできます)


10

私のインターネット接続は、以前はプロバイダーへの直接LAN接続でした。その当時、すべてがWindowsとUbuntuの両方で正常にロードされました(デュアルブート)。ただし、しばらく前に、ユーザーは(PPPoE接続を介して)ユーザー名とパスワードを使用してダイヤルする必要がありました。しかし、それ以来、私はUbuntuで特定のWebサイトを閲覧することができませんでした。ただし、Windowsではそのような問題は発生していません。Webサイトの例としては、Oviのサインインページ(share.ovi.comは正常にロードされ、nokia.comは正常にロードされます)、Live Mail(Chrome(ium)とOperaでは機能しますが、Firefox(3.6と4の両方)では機能しません)および他のランダムなウェブサイト。

読み込めないウェブサイトの中には、Chromeでタイムアウトメッセージを表示するものがあります。また、ウェブサイトによっては、ブラウザが終了せずに読み込もうとする場合があります(何時間もこのままにしておきますが、何も違うことに気づきませんでした)。

DNSサーバーをコメントで提案されているものに変更してみました。私ものFedoraのLiveCDからの起動を試してみましたし、その後、(とさえOpenDNSののものに)ものにDNSを変更しますが、まったく同じことが起こります。

Windowsでのipconfigの出力は次のとおりです。

代替テキスト

それが何らかの助けである場合、Operaのエラーメッセージはもう少し有益であるように見え、順番に次のエラーがあります:

  • 安全な接続:致命的なエラー(552)
  • 安全な接続:致命的なエラー(40)

続いて:Operaはサーバーに接続できませんでした。サーバーがサポートされていないSSL 2プロトコルを使用している可能性があります。これは、安全な通信のために十分に安全であるとは見なされていません。サイトの所有者は、TLS 1.0以降にアップグレードする必要があります。

なぜこれが起こっているのか、そしてそれをどのように修正できるのか知っていますか?

更新:ここhttp://ubuntuforums.org/showthread.php?t=1571086&highlight=pppoeを見て、他の誰かが同様の問題を抱えていることを確認し、/ etc / NetworkManagerにNetworkManager.confファイルを配置して問題を解決しました。そのファイルには何が必要ですか?


使用しているDNSサーバーがあまり良くないのではないかと思います。DNSサーバーを手動で4.2.2.2や8.8.8.8などに設定してみて、それが役立つかどうかを確認できますか。
deltaray 2010年

接続のどの部分でログイン/パスワードを入力しているのかは不明です。「ネットワーク接続」に新しい接続がありますか?ipconfigWindows でコマンドの出力を提供できますか?
Victor Sergienko、2011年

@Victor Sergienko:投稿を更新し、ipconfig出力を追加しました。
Mussnoon、2010年

うわー、パスワードを要求するVPN接続だと思ったのですが、何もありません。
Victor Sergienko、2010年

いいえ、VPNではなく、PPPoEです。
Mussnoon、2010年

回答:


16

Unix Stack Exchangeからコピー)

MTUの問題の症状があります。一部のTCP接続がフリーズし、多かれ少なかれ、特定のコマンドまたはURLで再現可能ですが、全体的なパターンを簡単に識別できません。わかりにくい症状としては、対話型のsshセッションは適切に機能しますが、ファイル転送はほとんどの場合失敗します。さらに、pppoeは、ホームユーザーにとってのMTU問題の最大の原因です。だから私はMTUチェックを処方します。

それは何ですか?M aximum T ransmission U NITは、ネットワーク・リンク上のパケットの最大サイズです。MTUはトランスポートメディアによって異なります。たとえば、有線イーサネットとwifi(802.11)には異なるMTUがあり、ATMリンク(長距離インフラストラクチャのほとんどを構成します)にはそれぞれ独自のMTUがあります。 PPPOEはカプセル化されたプロトコルです。つまり、すべてのパケットは数バイトのヘッダーと、その後に続くパケットで構成されているため、最大パケットサイズはヘッダーのサイズ分小さくなります。 IPを使用すると、ルーターがパケットがネクストホップに対して大きすぎることを検出した場合に、パケットをフラグメント化できますが、これは常に機能するとは限りません。理論的には、適切なMTUを発見する必要があります自動的に、しかしこれも常に機能するとは限りません。特にグーグルは、Network ManagerがMTUディスカバリーから取得したMTU情報に常に適切に対応するとは限らないことを示唆していますが、影響を受けるバージョンや問題のあるユースケースはわかりません。

それを測定する方法。 たとえば、ping -c 1 -s 42 8.8.8.8(Linuxでは、他のシステムでは、pingコマンドのドキュメントを調べて)それらに応答する外部ホストに、指定されたサイズのpingパケットを送信してみてください。パケットは42の十分に小さい値で通過する必要があります(42が機能しない場合、何かがpingをブロックしています。)値が大きい場合、パケットは通過しません。1464は、インフラストラクチャの制限部分がローカルイーサネットネットワークである場合の典型的な最大値です。運が良ければ、大きすぎるパケットを送信すると、のようなメッセージが表示されますFrag needed and DF set (mtu = 1492)。運が悪い場合は、最大値が見つかるまで値を試してみて、28を追加し-sます(ペイロードサイズを指定し、それに加えて28バイトのヘッダーがあります)。こちらもご覧くださいUbuntuフォーラムでMTUとRWINを使用してインターネット接続を最適化する方法

設定方法(1454は、決定したMTUとeth0ネットワークインターフェイスの名前に置き換えてください)

  • 一度限り(Linux):run ifconfig eth0 mtu 1454
  • 永久に(DebianおよびUbuntuなどの派生物、Network Managerを使用していない場合):編集/etc/network/interfaces。ネットワークインターフェースのエントリの直後(iface eth0 …ディレクティブの後)に、で行を追加しpre-up ifconfig $IFACE mtu 1454ます。または、IPアドレスが静的な場合はmtu 1454iface eth0 inet staticディレクティブにパラメーターを追加できます。
  • 永続的に(DebianおよびUbuntuなどの派生物、Network Managerの有無にかかわらず):/etc/network/if-pre-up.d/mtu次の内容で呼び出されるスクリプトを作成し、それを全世界で実行可能にします(chmod a+rx):

    #!/bin/sh
    ifconfig $IFACE mtu 1454
    

2
なぜこれが起こるのですか?パケットはPPPOE(イーサネット上のPPP)でトンネリングされ、それが1540に制限されているため、パケットとトンネルオーバーヘッドの合計がそれよりも大きい場合、フラグメント化します。一部の(MS)オペレーティングシステムは、パケットの再構成を行いません。そのため、一部のサイトにアクセスできません(MS Windowsサーバーによって提供されます)。
Tim Williscroft、

1
どうもありがとうございます!私は長い間この問題を抱えており、一部のサイトにアクセスせずに支払いを済ませました。今、私はこの問題なしにやっと続けることができます。
Kevin Jalbert、2011

おかげで、クリーンインストール後にarchlinuxにこの問題がありましたが、これを解決する方法は何もありませんでしたが、あなたのソリューションは壮大です。乾杯!
JeanK、2012年

私の問題はこのリンクで
e_soroush '20 / 06/17

0

インターフェースファイルはデフォルトの設定のままにしましたMTU=1300が、ワイヤレスルーターの「WAN」セクションにを設定しました。

それで問題は解決しました。


変更したファイルと使用したLinuxのバージョンを説明すると、この回答が改善されます。
Kevin Panko

0

同じ問題があります。一部のウェブサイトがKUBUNTU 17.04で開けません。私はこのコマンドを使用します:

echo 0 >/proc/sys/net/ipv4/tcp_timestamps

3
それが何をするか説明できますか?
アルジャン

0

問題はDNS設定に関連している可能性があります。私にとって、問題はいくつかの手順を実行することで解決しました:

  1. まず、ターミナルを開きます。
  2. 内部で実行しますsudo apt-get install resolvconfresolvconfパッケージをインストールします)。
  3. /etc/resolvconf/resolv.conf.d/ディレクトリに移動します。
  4. base実行して、root権限で指定されたファイルを開きますsudo nano base
  5. 単に、エントリを追加/変更します。有効な入力例はnameserver 8.8.8.8です。エントリは改行で区切る必要があります。以下は有効なファイルです。
    ネームサーバー8.8.8.8
    ネームサーバー8.8.4.4
    
    :DNS名とアドレスのリストは、ここにあります
  6. ファイルを保存して終了します。
  7. 実行しますsudo resolvconf -u(DNS構成を更新します)。

それでおしまい!今、読み込まれなかったいくつかのウェブサイトを読み込んでみてください、それはうまくいくはずです!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.