Sự cố DNS trên cài đặt mới của CentOS


8

Tôi đang gặp một số vấn đề về DNS trên hộp mới Tôi đang cài đặt với CentOS 6.2.

Tôi có thể tra cứu tên bằng cách sử dụng nslookup, dig hoặc host. Tôi có thể ping máy theo tên hoặc theo địa chỉ IP. Tuy nhiên, khi tôi thử các công cụ khác, chẳng hạn như ssh, wget hoặc yum, chúng không thể phân giải tên. Ví dụ:

# 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

Tệp /etc/nsswitch.conf của tôi là mặc định, bao gồm dòng (tiêu chuẩn) này:

hosts:      files dns

/etc/resolv.conf được thiết lập bởi DHCP:

; generated by /sbin/dhclient-script
nameserver 192.168.1.254

192.168.1.254 là máy chủ DNS hoạt động (modem DSL của tôi, hoạt động nhiều năm với các máy khác)

Bất cứ ai cũng biết tại sao ping sẽ hoạt động, nhưng ssh / wget sẽ thất bại?


Theo đề xuất của NcA, tôi đã thử thay đổi /etc/resolv.conf để trỏ đến 8.8.8.8. Thật kỳ lạ, điều này làm cho nó hoạt động. Rõ ràng, modem DSL của tôi đang đáp ứng các yêu cầu DNS theo một cách nào đó mà một số phần trong hệ thống phân giải của Linux không thích. Nhìn vào tcpdump, tôi không thể thấy sự khác biệt là gì. Chắc chắn, cả hai máy chủ đều gửi cùng một địa chỉ.

Đây là đầu ra từ tcpdump -nn -Xvới máy chủ được đặt thành máy chủ DNS trên modem DSL. Đó là trả lời rõ ràng với các địa chỉ chính xác, nhưng ssh / wget không có vẻ hài lòng với nó vì một số lý do:

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.....

Tôi không đủ chuyên gia để biết liệu điều này có bị dị tật theo một cách nào đó không, nhưng ping dường như làm đúng với nó.

Để so sánh, đây là điều tương tự khi truy vấn 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                                     .<

Tôi vẫn không biết tại sao câu trả lời của máy chủ là đủ cho ping nhưng không phải cho ssh / wget.

Nếu bất cứ ai có ý tưởng, tôi rất vui khi nghe chúng. Tuy nhiên, hiện tại, tôi có thể tham khảo máy chủ DNS bên ngoài hoặc thiết lập máy chủ của riêng mình trên hộp mới. Đó là một cách giải quyết có vẻ như không cần thiết, nhưng sẽ cho phép tôi tiếp tục.


Hãy thử thêm "máy chủ tên 8.8.8.8" vào /etc/resolv.conf của bạn và đăng kết quả của bạn. Hãy thu hẹp nó xuống lỗi máy khách hoặc máy chủ.
NcA

Làm thế nào để /etc/host.conf của bạn trông như thế nào?
Nils

@Nils: /etc/host.conf là mặc định, chỉ chứa dòng 'multi on'
Rick Koshi

Bạn có thể đăng đầu ra đào từ máy chủ cục bộ của bạn và từ bản 8.8.8.8 đầy đủ không? Hộp Centos này đã tồn tại bao lâu rồi? Bạn có máy tính nào khác đằng sau modem DSL này không? Điều gì xảy ra với các truy vấn dns WRT của họ? Bạn đã thử khởi động lại hộp Centos chưa? Trừ khi bạn vô tình cắt ngắn đầu ra ở trên, hai bãi chứa trông không giống nhau. Bạn đã thử khởi động lại modem DSL chưa?
kls

1
Vấn đề thú vị. Và một công việc khá vững chắc xử lý nó.
jamieb

Câu trả lời:


2

Sử dụng cái này: https://www.centos.org/modules/newbb/viewtopic.php?topic_id=39343

Tôi tìm thấy một lệnh chính giúp tôi khắc phục sự cố:

[root@localhost ~]# wget -6 URL -Thất bại

[root@localhost ~]# wget -4 URL -Đã làm việc

Đó là một cái gì đó để làm với ngăn xếp ipv6 mặc định gây ra vấn đề với một số tiện ích nhất định. Vô hiệu hóa ipv6 để giải quyết.


+1 đến ipv6. pinglà thứ chỉ có v4 (có ping6cho ping v6) và đó là lý do tại sao nó hoạt động. Tuy nhiên tôi sẽ không khuyên bạn nên vô hiệu hóa nó - rất nhiều ISP hiện đại làm tồi tệ hơn trên v4. Nhiều người làm NAT về phía họ ... thật điên rồ. Tôi nghi ngờ máy chủ DNS của modem không hỗ trợ các bản ghi AAAA đúng cách gây ra lỗi khó xử này. Google DNS hoặc OpenDNS có thể là một cách giải quyết tốt.
rvs

2

Tôi có cùng một vấn đề nhưng tôi đã sửa nó.

Bạn phải thêm DNS trong tệp cấu hình giao diện , /etc/sysconfig/network-scripts/ifcfg-eth0. Thêm dòng

DNS1=xxx.xxx.xxx.xxx

Và sau đó bạn phải khởi động lại dịch vụ mạng.

# systemctl restart NetworkManager

không làm việc cho tôi :(
VaTo 14/03/2017

1

Dừng tường lửa trước. Luôn luôn tránh điều đó khi xử lý sự cố mạng (bất cứ khi nào có thể). Nếu bạn làm rơi tường lửa và vấn đề của bạn biến mất, vấn đề sẽ được giải quyết, nếu không, ít nhất thì bây giờ nó đã được giải quyết.

1) iptables -L xem có bất kỳ quy tắc DROP nào có thể ảnh hưởng đến các gói gửi đi không

2) Kiểm tra xem selinux có đang chạy hay không và làm bất cứ điều gì kỳ lạ (/ etc / selinux / config)

3) đầu ra của những gì sau đây: tuyến đường -n

4) cái gì / etc / sysconfig / network-scripts / ifcfg-eth0 trông như thế nào

5) bạn có thể ping cổng của bạn mà không có vấn đề?

Hy vọng rằng một trong số này sẽ cung cấp một chút thông tin bạn cần để chẩn đoán vấn đề.


1

Dựa trên bài đăng gốc, tôi đã thêm 8.8.8.8 vào /etc/resolv.conf/etc/sysconfig/network-scripts/ifcfg-eth0cả chỉnh sửa đều không giải quyết được vấn đề của tôi.

Sau đó tôi chỉnh sửa /etc/nsswitch.conf:

Nguyên

hosts:          files  mdns4_minimal [NOTFOUND=return] dns mdns4

Đã chỉnh sửa

hosts:          files  dns mdns4_minimal [NOTFOUND=return] mdns4

Bây giờ DNS hoạt động cho yum và wget.


0

Cố gắng thêm máy chủ đặt hàng, liên kết với /etc/host.conf .


-1

Cố gắng thêm dòng "tùy chọn một yêu cầu" vào /etc/resolv.conf của bạn. Điều này sẽ yêu cầu libc thực hiện 2 yêu cầu (A và AAAA) thay vì gửi chúng từ cùng một cổng. Nó sẽ giúp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.