Mungkin Anda memiliki beberapa aturan SELinux yang sangat aneh dan membatasi?
Jika tidak, coba strace -o /tmp/wtf -fF curl -v google.com
dan coba temukan dari /tmp/wtf
file keluaran apa yang terjadi.
Masalahnya adalah:
- IPV6 diaktifkan
- Server DNS salah
Inilah cara saya memperbaikinya:
Menonaktifkan IPV6
- Buka Terminal
- Ketik
su
dan enter untuk masuk sebagai pengguna super - Masukkan kata sandi root
- Ketik
cd /etc/modprobe.d/
untuk mengubah direktori menjadi/etc/modprobe.d/
- Ketik
vi disableipv6.conf
untuk membuat file baru di sana - Tekan
Esc + i
untuk memasukkan data ke file - Ketik
install ipv6 /bin/true
pada file untuk menghindari pemuatan modul terkait IPV6 - Ketik
Esc + :
laluwq
untuk menyimpan dan keluar - Ketik
reboot
untuk memulai ulang fedora - Setelah reboot, buka terminal dan ketik
lsmod | grep ipv6
- Jika tidak ada hasil, berarti Anda telah menonaktifkan IPV6 dengan benar
Tambahkan server DNS Google
- Buka Terminal
- Ketik
su
dan enter untuk masuk sebagai pengguna super - Masukkan kata sandi root
- Ketik
cat /etc/resolv.conf
untuk memeriksa server DNS apa yang digunakan Fedora Anda. Sebagian besar ini akan menjadi alamat IP Modem Anda. - Sekarang kita harus Menemukan server DNS yang kuat. Untungnya ada server DNS terbuka yang dikelola oleh Google.
- Buka halaman ini dan temukan "alamat IP DNS Publik Google"
- Hari ini adalah
8.8.8.8
dan8.8.4.4
. Namun di masa mendatang hal tersebut dapat berubah. - Ketik
vi /etc/resolv.conf
untuk mengeditresolv.conf
berkas - Tekan
Esc + i
untuk menyisipkan data ke file - Komentari semua hal dalam file dengan menyisipkan # di awal setiap baris. Jangan hapus apa pun karena dapat berguna di masa mendatang.
-
Ketik dua baris di bawah ini pada file
server nama 8.8.8.8
server nama 8.8.4.4-Ketikkan
Esc + :
laluwq
untuk menyimpan dan keluar - Sekarang Anda selesai dan semuanya bekerja dengan baik (Tidak perlu memulai ulang).
- Tetapi setiap kali Anda me-restart komputer /etc/resolv.conf Anda akan diganti secara default. Jadi saya akan membiarkan Anda menemukan cara untuk menghindarinya.
Inilah posting blog saya tentang ini:http://codeketchup.blogspot.sg/2014/07/how-to-fix-curl-6-could-not-resolve.html
Coba nslookup google.com untuk menentukan apakah ada masalah DNS.192.168.1.254 adalah alamat jaringan lokal Anda dan sepertinya sistem Anda menggunakannya sebagai server DNS. Apakah ini router gateway/modem Anda juga? Apa yang terjadi ketika Anda mencoba melakukan ping ke google.com. Bisakah Anda menjelajahinya di browser web Internet?
Saya punya hari ini masalah yang sama. Tapi lebih aneh.
- host - berfungsi
host pl.archive.ubuntu.com
- dig - berfungsi pada default dan pada semua
dig pl.archive.ubuntu.com
DNS lainnya ,dig @127.0.1.1 pl.archive.ubuntu.com
- keriting - tidak berfungsi! tetapi untuk beberapa alamat memang demikian. ANEH! Sama di Ruby, APT, dan banyak lagi.
$ 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
Wahyu
Akhirnya saya menggunakan strace
di curl dan menemukan bahwa itu adalah koneksi ke nscd
setan.
connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = 0
Solusi
Saya telah memulai ulang layanan nscd (Name Service Cache Daemon) dan ini membantu menyelesaikan masalah ini!
systemctl restart nscd.service