Masalah DNS pada instalasi baru CentOS

8

Saya mengalami beberapa masalah DNS pada kotak baru yang saya instal dengan CentOS 6.2.

Saya dapat mencari nama menggunakan nslookup, menggali, atau host. Saya dapat melakukan ping mesin dengan nama atau alamat IP. Namun, ketika saya mencoba alat lain, seperti ssh, wget, atau yum, mereka tidak dapat menyelesaikan nama. Sebagai contoh:

# wget http://www.google.com
--2012-03-08 14:48:06--  http://www.google.com/
Resolving www.google.com... failed: Name or service not known.
wget: unable to resolve host address `www.google.com'
# ssh www.google.com
ssh: Could not resolve hostname www.google.com: Name or service not known
# ping -c 1 www.google.com
PING www.l.google.com (74.125.113.106) 56(84) bytes of data.
64 bytes from vw-in-f106.1e100.net (74.125.113.106): icmp_seq=1 ttl=46 time=43.6 ms

--- www.l.google.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 59ms
rtt min/avg/max/mdev = 43.665/43.665/43.665/0.000 ms
# host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.113.99
www.l.google.com has address 74.125.113.103
www.l.google.com has address 74.125.113.104
www.l.google.com has address 74.125.113.105
www.l.google.com has address 74.125.113.106
www.l.google.com has address 74.125.113.147

File /etc/nsswitch.conf saya adalah default, termasuk baris (standar) ini:

hosts:      files dns

/etc/resolv.conf sudah diatur oleh DHCP:

; generated by /sbin/dhclient-script
nameserver 192.168.1.254

192.168.1.254 adalah server DNS yang berfungsi (modem DSL saya, bekerja bertahun-tahun dengan komputer lain)

Adakah yang tahu mengapa ping akan bekerja, tetapi ssh / wget akan gagal?


Sesuai saran NcA, saya mencoba mengubah /etc/resolv.conf untuk menunjuk ke 8.8.8.8. Anehnya, ini membuatnya bekerja. Jelas, modem DSL saya merespons permintaan DNS dengan cara yang tidak disukai sebagian sistem resolusi Linux. Melihat tcpdump, saya tidak dapat melihat perbedaannya. Tentu saja, kedua server mengirimkan alamat yang sama.

Inilah output dari tcpdump -nn -Xdengan server yang diatur ke server DNS pada modem DSL. Jelas membalas dengan alamat yang benar, tetapi ssh / wget tampaknya tidak senang dengan itu karena beberapa alasan:

15:53:52.133580 IP 192.168.1.254.53 > 192.168.1.2.54836: 33157 7/0/0 CNAME www.l.google.com., A 74.125.115.105, A 74.125.115.106, A 74.125.115.147, A 74.125.115.99, A 74.125.115.103, A 74.125.115.104 (148)
        0x0000:  4500 00b0 e33a 0000 ff11 53b1 c0a8 01fe  E....:....S.....
        0x0010:  c0a8 0102 0035 d634 009c 7528 8185 8180  .....5.4..u(....
        0x0020:  0001 0007 0000 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 0001 0001 c00c 0005  gle.com.........
        0x0040:  0001 0007 acd0 0008 0377 7777 016c c010  .........www.l..
        0x0050:  c02c 0001 0001 0000 0001 0004 4a7d 7369  .,..........J}si
        0x0060:  c02c 0001 0001 0000 0001 0004 4a7d 736a  .,..........J}sj
        0x0070:  c02c 0001 0001 0000 0001 0004 4a7d 7393  .,..........J}s.
        0x0080:  c02c 0001 0001 0000 0001 0004 4a7d 7363  .,..........J}sc
        0x0090:  c02c 0001 0001 0000 0001 0004 4a7d 7367  .,..........J}sg
        0x00a0:  c02c 0001 0001 0000 0001 0004 4a7d 7368  .,..........J}sh
15:53:52.135669 IP 192.168.1.254.53 > 192.168.1.2.54836: 65062- 0/0/0 (32)
        0x0000:  4500 003c e33b 0000 ff11 5424 c0a8 01fe  E..<.;....T$....
        0x0010:  c0a8 0102 0035 d634 0028 98f9 fe26 8000  .....5.4.(...&..
        0x0020:  0001 0000 0000 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 001c 0001            gle.com.....

Saya tidak cukup ahli untuk mengetahui apakah ini cacat dalam beberapa cara, tetapi ping tampaknya melakukan hal yang benar dengannya.

Sebagai perbandingan, inilah hal yang sama ketika menanyakan 8.8.8.8:

15:57:27.990270 IP 8.8.8.8.53 > 192.168.1.2.49028: 59114 7/0/0 CNAME www.l.google.com., A 74.125.113.105, A 74.125.113.103, A 74.125.113.106, A 74.125.113.147, A 74.125.113.104, A 74.125.113.99 (148)
        0x0000:  4500 00b0 5530 0000 2f11 6453 0808 0808  E...U0../.dS....
        0x0010:  c0a8 0102 0035 bf84 009c 39f8 e6ea 8180  .....5....9.....
        0x0020:  0001 0007 0000 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 0001 0001 c00c 0005  gle.com.........
        0x0040:  0001 0001 516a 0008 0377 7777 016c c010  ....Qj...www.l..
        0x0050:  c02c 0001 0001 0000 0116 0004 4a7d 7169  .,..........J}qi
        0x0060:  c02c 0001 0001 0000 0116 0004 4a7d 7167  .,..........J}qg
        0x0070:  c02c 0001 0001 0000 0116 0004 4a7d 716a  .,..........J}qj
        0x0080:  c02c 0001 0001 0000 0116 0004 4a7d 7193  .,..........J}q.
        0x0090:  c02c 0001 0001 0000 0116 0004 4a7d 7168  .,..........J}qh
        0x00a0:  c02c 0001 0001 0000 0116 0004 4a7d 7163  .,..........J}qc
15:57:28.018909 IP 8.8.8.8.53 > 192.168.1.2.49028: 31984 1/1/0 CNAME www.l.google.com. (102)
        0x0000:  4500 0082 7b1b 0000 2f11 3e96 0808 0808  E...{.../.>.....
        0x0010:  c0a8 0102 0035 bf84 006e c67e 7cf0 8180  .....5...n.~|...
        0x0020:  0001 0001 0001 0000 0377 7777 0667 6f6f  .........www.goo
        0x0030:  676c 6503 636f 6d00 001c 0001 c00c 0005  gle.com.........
        0x0040:  0001 0001 517f 0008 0377 7777 016c c010  ....Q....www.l..
        0x0050:  c030 0006 0001 0000 0258 0026 036e 7334  .0.......X.&.ns4
        0x0060:  c010 0964 6e73 2d61 646d 696e c010 0016  ...dns-admin....
        0x0070:  91f3 0000 0384 0000 0384 0000 0708 0000  ................
        0x0080:  003c                                     .<

Saya masih tidak tahu mengapa balasan server memadai untuk ping tetapi tidak untuk ssh / wget.

Jika ada yang punya ide, saya akan senang mendengarnya. Untuk saat ini, saya bisa merujuk ke server DNS luar atau mengatur server saya sendiri di kotak baru. Ini solusi yang sepertinya tidak perlu, tetapi akan memungkinkan saya untuk melanjutkan.

Rick Koshi
sumber
Coba tambahkan "nameserver 8.8.8.8" ke /etc/resolv.conf Anda dan poskan hasil Anda. Mari kita mempersempitnya menjadi kesalahan klien atau server.
NcA
Bagaimana /etc/host.conf Anda terlihat seperti?
Nils
@Nils: /etc/host.conf adalah default, hanya berisi baris 'multi on'
Rick Koshi
Bisakah Anda memposting output menggali dari server lokal Anda dan dari 8.8.8.8 secara penuh? Berapa lama kotak Centos ini sudah ada? Apakah Anda memiliki komputer lain di belakang modem DSL ini? Apa yang terjadi dengan mereka permintaan WRT dns? Sudahkah Anda mencoba me-restart kotak Centos? Kecuali Anda tidak sengaja memotong output di atas, dua kesedihan tidak terlihat sama. Sudahkah Anda mencoba me-restart modem DSL?
kls
1
Masalah menarik. Dan pekerjaan yang cukup solid memecahkan masalah itu.
jamieb

Jawaban:

2

Menggunakan ini: https://www.centos.org/modules/newbb/viewtopic.php?topic_id=39343

Saya menemukan perintah utama yang membantu saya memecahkan masalah:

[root@localhost ~]# wget -6 URL -Gagal

[root@localhost ~]# wget -4 URL -Bekerja

Ini ada hubungannya dengan tumpukan ipv6 default yang menyebabkan masalah dengan utilitas tertentu. Nonaktifkan ipv6 untuk menyelesaikan.

David T
sumber
+1 ke ipv6. pingadalah hal yang hanya v4 (ada ping6untuk ping v6) dan itulah mengapa ia bekerja. Namun saya tidak akan menyarankan untuk menonaktifkannya - banyak ISP modern melakukan lebih buruk pada v4. Banyak yang melakukan NAT di pihak mereka ... dengan buruk. Saya menduga server DNS modem tidak mendukung catatan AAAA dengan benar yang menyebabkan kegagalan ini. Google DNS atau OpenDNS mungkin merupakan solusi yang baik.
rvs
2

Saya memiliki masalah yang sama tetapi saya memperbaikinya.

Anda harus menambahkan DNS di file konfigurasi antarmuka /etc/sysconfig/network-scripts/ifcfg-eth0,. Tambahkan baris

DNS1=xxx.xxx.xxx.xxx

Dan kemudian Anda harus memulai kembali layanan jaringan.

# systemctl restart NetworkManager
TamVo
sumber
tidak bekerja untuk saya :(
VaTo
1

Hentikan dulu firewall. Selalu hindari hal itu ketika mengatasi masalah jaringan (bila memungkinkan). Jika Anda menjatuhkan firewall dan masalah Anda hilang, masalah terpecahkan, jika tidak, setidaknya itu tidak ada untuk sekarang.

1) iptables -L lihat apakah ada aturan DROP yang dapat mempengaruhi paket keluar

2) Periksa untuk melihat apakah selinux berjalan dan melakukan sesuatu yang aneh (/ etc / selinux / config)

3) apa output dari yang berikut: route -n

4) seperti apa / etc / sysconfig / network-scripts / ifcfg-eth0

5) dapatkah Anda melakukan ping gateway tanpa masalah?

Semoga salah satu dari ini akan memberikan sedikit informasi yang Anda butuhkan untuk mendiagnosis masalah tersebut.

Jemmille
sumber
1

Berdasarkan posting asli saya menambahkan 8.8.8.8 ke /etc/resolv.confdan tidak /etc/sysconfig/network-scripts/ifcfg-eth0mengedit menyelesaikan masalah saya.

Saya kemudian mengedit /etc/nsswitch.conf:

Asli

hosts:          files  mdns4_minimal [NOTFOUND=return] dns mdns4

Diedit

hosts:          files  dns mdns4_minimal [NOTFOUND=return] mdns4

Sekarang DNS berfungsi untuk yum dan wget.

efelton
sumber
0

Coba tambahkan pesanan host, ikat ke /etc/host.conf .

Nils
sumber
-1

Cobalah untuk menambahkan baris "opsi permintaan tunggal" ke /etc/resolv.conf Anda. Ini akan memberi tahu libc untuk membuat 2 permintaan (A dan AAAA) alih-alih mengirimnya dari port yang sama. Itu akan membantu.

Alex Samorukov
sumber