GNU/Linux >> Linux の 問題 >  >> Linux

curl:(6) ホストを解決できませんでした:google.com;名前やサービスは不明

おそらく、非常に奇妙で制限的な SELinux ルールが設定されているのではないでしょうか?

そうでない場合は、strace -o /tmp/wtf -fF curl -v google.com を試してください /tmp/wtf から見つけてみてください 出力ファイルに何が起こっているのか.


問題は次のとおりです:

<オール>
  • IPV6 対応
  • 間違った DNS サーバー
  • 修正方法は次のとおりです:

    IPv6 の無効化

    • ターミナルを開く
    • su と入力します スーパーユーザーとしてログインするために入力します
    • root パスワードを入力してください
    • cd /etc/modprobe.d/ と入力します ディレクトリを /etc/modprobe.d/ に変更します
    • vi disableipv6.conf と入力します そこに新しいファイルを作成する
    • Esc + iを押してください ファイルにデータを挿入する
    • install ipv6 /bin/true と入力します IPV6 関連モジュールのロードを回避するためのファイル
    • Esc + : と入力 そして wq 保存して終了
    • reboot と入力します フェドラを再起動する
    • 再起動後、ターミナルを開いて lsmod | grep ipv6 と入力します
    • 結果が得られない場合は、IPV6 を適切に無効にしたことを意味します

    Google DNS サーバーを追加

    • ターミナルを開く
    • suと入力 スーパーユーザーとしてログインするために入力します
    • root パスワードを入力してください
    • cat /etc/resolv.conf と入力します Fedoraが使用しているDNSサーバーを確認します。ほとんどの場合、これはモデムの IP アドレスになります。
    • 次に、強力な DNS サーバーを見つけなければなりません。幸いなことに、Google が管理するオープン DNS サーバーがあります。
    • このページにアクセスして、「Google Public DNS IP アドレス」とは何かを調べてください
    • 今日は 8.8.8.8 です と 8.8.4.4 .ただし、将来的には変更される可能性があります。
    • vi /etc/resolv.confと入力してください resolv.conf を編集するには ファイル
    • Esc + iを押してください ファイルへのデータの挿入用
    • 各行の先頭に # を挿入して、ファイル内のすべてのものにコメントを付けます。将来役立つ可能性があるため、何も削除しないでください。
    • ファイルに以下の 2 行を入力してください

      ネームサーバー 8.8.8.8
      ネームサーバー 8.8.4.4

      -Esc + :と入力 そして wq 保存して終了

    • これで完了です。すべて正常に動作します (再起動する必要はありません)。
    • ただし、コンピュータを再起動するたびに、デフォルトで /etc/resolv.conf が置き換えられます。だから、それを避ける方法を見つけさせてあげましょう。

    これに関する私のブログ投稿は次のとおりです。 http://codeketchup.blogspot.sg/2014/07/how-to-fix-curl-6-could-not-resolve.html


    nslookup google.com を試して、DNS に問題があるかどうかを判断してください。192.168.1.254 はローカル ネットワーク アドレスであり、システムがそれを DNS サーバーとして使用しているようです。これはゲートウェイ/モデム ルーターでもありますか?google.com に ping を実行するとどうなりますか?インターネットの Web ブラウザーで閲覧できますか?


    今日も同様の問題があります。しかし、もっと奇妙です。

    • ホスト - 動作 host pl.archive.ubuntu.com
    • dig - デフォルトおよび他のすべての DNS の dig pl.archive.ubuntu.com で動作します 、 dig @127.0.1.1 pl.archive.ubuntu.com
    • カール - うまくいきません!しかし、一部のアドレスではそうです。変! Ruby、APT などでも同じです。
    $ curl -v http://google.com/
    *   Trying 172.217.18.78...
    * Connected to google.com (172.217.18.78) port 80 (#0)
    > GET / HTTP/1.1
    > Host: google.com
    > User-Agent: curl/7.47.0
    > Accept: */*
    >
    < HTTP/1.1 302 Found
    < Cache-Control: private
    < Content-Type: text/html; charset=UTF-8
    < Referrer-Policy: no-referrer
    < Location: http://www.google.pl/?gfe_rd=cr&ei=pt9UWfqXL4uBX_W5n8gB
    < Content-Length: 256
    < Date: Thu, 29 Jun 2017 11:08:22 GMT
    <
    <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
    <TITLE>302 Moved</TITLE></HEAD><BODY>
    <H1>302 Moved</H1>
    The document has moved
    <A HREF="http://www.google.pl/?gfe_rd=cr&ei=pt9UWfqXL4uBX_W5n8gB">here</A>.
    </BODY></HTML>
    * Connection #0 to host google.com left intact
    
    $ curl -v http://pl.archive.ubuntu.com/
    * Could not resolve host: pl.archive.ubuntu.com
    * Closing connection 0
    curl: (6) Could not resolve host: pl.archive.ubuntu.com
    

    啓示

    最終的に strace を使用しました curl で nscd への接続であることがわかりました

    connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = 0
    

    解決策

    nscd サービス (Name Service Cache Daemon) を再起動したところ、この問題の解決に役立ちました!

    systemctl restart nscd.service
    

    Linux
    1. カールサービス

    2. git rebase はエディターを実行できませんでした

    3. ssh:ホスト名 [ホスト名] を解決できませんでした:ノード名もサーブ名も指定されていないか、不明です

    1. カールサービス

    2. @reboot が CRON で機能しない

    3. exim4 が HELO/EHLO を送信するとき、送信するホスト名をどのように設定すればよいですか?

    1. ドメイン名を含めるか、/ etc / hostsに含めないか?

    2. 提供されたホスト名が無効なエラーのトラブルシューティング

    3. 「ntpq -pn」コマンドで「名前またはサービスが不明です」というエラーが返される