おそらく、非常に奇妙で制限的な SELinux ルールが設定されているのではないでしょうか?
そうでない場合は、strace -o /tmp/wtf -fF curl -v google.com
を試してください /tmp/wtf
から見つけてみてください 出力ファイルに何が起こっているのか.
問題は次のとおりです:
<オール>修正方法は次のとおりです:
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