nslookup menemukan ip, tetapi ping tidak

53

Saya tahu ini sepertinya semua pertanyaan "bisa ping via ip tapi tidak dns", tapi itu sama sekali tidak membantu saya.

Juga, memiliki file host di semua mesin tidak dapat dilakukan karena server ini pada akhirnya akan menangani banyak komputer yang terhubung dengannya.

Saya memiliki set server ldap + dns, dan saya ingin komputer di jaringan saya untuk mengotentikasi pada server ldap.

Bagian ldap berfungsi dengan baik dan saya bisa ssh ke server ldap dengan kredensial ldap baik-baik saja.

Masalahnya datang dengan mesin klien, klien diatur untuk menggunakan server dns (dalam hal ini 192.168.0.243) dan jika saya masuk ke terminal dan melakukan nslookup ia menemukan server ldap baik-baik saja.

fernando@desktest:~$ nslookup ldap.mynet.local
Server:     192.168.0.243
Address:    192.168.0.243#53

Name:   ldap.mynet.local
Address: 192.168.0.243

Tetapi ketika saya ping, itu tidak menemukan alamat ip. Itu hanya menggantung di sana tampak cantik sampai aku CTRL-C itu.

Tentu saja ping dengan alamat ip berfungsi dengan baik.

Berikut adalah file zona untuk server dns:

fernando@ldap:~$ cat /etc/bind/named.conf.local
zone "mynet.local" {
    type master;
    file "/etc/bind/db.mynet.local";
};

zone "0.168.192.in-addr.arpa" {
    type master;
    notify no;
    file "/etc/bind/db.192";
};
fernando@ldap:~$ cat /etc/bind/db.mynet.local 
;
; BIND data file for local loopback interface
;
$TTL    604800
@   IN  SOA ns.mynet.local. root.mynet.local. (
                  7     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
         604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.mynet.local.
ns  IN  A   192.168.0.243
server  IN  A   192.168.0.250
desktest    IN  A   192.168.0.249
remote  IN  A   192.168.0.248
winserver   IN  A   192.168.0.247
web         IN  A   192.168.0.246
tempfs  IN  A   192.168.0.245
ldap    IN  A   192.168.0.243
antenarfb   IN  A   192.168.0.253
antenapan   IN  A   10.82.223.7
adslgvt IN  A   192.168.0.1
fernando@ldap:~$ cat /etc/bind/db.192 
;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@   IN  SOA mynet.local. root.mynet.local. (
                  6     ; Serial
             604800     ; Refresh
              86400     ; Retry
            2419200     ; Expire
             604800 )   ; Negative Cache TTL
;
@   IN  NS  ns.
1   IN  PTR ns.mynet.local.
2   IN  PTR server.mynet.local.
3   IN  PTR desktest.mynet.local.
4   IN  PTR remote.mynet.local.
5   IN  PTR winserver.mynet.local.
6   IN  PTR web.mynet.local.
7   IN  PTR tempfs.mynet.local.
8   IN  PTR ldap.mynet.local.
9   IN  PTR antenarfb.mynet.local.
10  IN  PTR antenapan.mynet.local.
11  IN  PTR adslgvt.mynet.local.
fernando@ldap:~$ 

Saya benar-benar bingung tentang apa yang harus dilakukan dan bantuan apa pun akan sangat dihargai.

---- sunting ----

sebelum ada yang bertanya, ya server sedang berjalan :)

root@ldap:/etc/bind# rndc status
version: 9.7.0-P1
CPUs found: 1
worker threads: 1
number of zones: 16
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running

---- end edit ----

Fernando
sumber
setelah lebih banyak pengujian saya cukup yakin saya melakukan sesuatu yang salah pada bagian server dns. melakukan host ldapmemberi saya sebuah host tidak menemukan kesalahan (bahkan pada terminal server dns) hal yang sama dengan menggunakan dig, hal yang sama dengan host 192.168.0.243(mesin ldap.mynet.local saya).
Fernando
lakukan host ldap.mynet.localdi mesin klien memberi saya alamat ip yang benar: /
Fernando

Jawaban:

89

Saya percaya ini disebabkan oleh mdns - multicast dns, untuk konfigurasi otomatis dari domain lokal.

Jika Anda check-in /etc/nsswitch.conf, Anda mungkin akan melihat:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

mdns4 adalah apa yang dilakukan multicast dns. Coba ubah ini menjadi:

hosts: files dns

Dan lihat apakah ada bedanya. Jika itu membuatnya berfungsi, Anda dapat menghapus mdns secara permanen dengan:

Mencoba apt-get remove libnss-mdns

Yang akan melakukan nsswitch.confperubahan untuk Anda juga.

Atau, jangan gunakan .local - gunakan .lan atau sesuatu.

Cesium
sumber
1
Sempurna! bekerja seperti pesona! Terima kasih banyak. Reverse DNS masih memberi saya kesalahan, tapi itu masalah lain yang saya kira :)
Fernando
4
Bung, Anda luar biasa !!!!!
Thai Tran
Ini adalah solusi aktual untuk masalah saya di Ubuntu Saucy / 13.10.
beerbajay
2
Apa logikanya? Mengapa ini konfigurasi default?
Chris
1
Jawaban yang sangat bagus! Bekerja untuk saya juga pada instalasi baru Ubuntu 16.
T-Heron
3

Hanya untuk melengkapi hal-hal:

  1. nslookup hanya meminta server DNS yang diberikan untuk A-record yang ditugaskan, itu TIDAK menjamin, bahwa perangkat di balik catatan itu sebenarnya MEMILIKI IP itu.

  2. Bahkan ketika perangkat memiliki IP yang benar (mis .: tetap IP perangkat sesuai dengan yang disediakan oleh DNS) - itu tidak menjamin perangkat dikonfigurasikan untuk merespons ping. Ini adalah titik frustrasi yang umum. (Saya berbicara tentang Anda, windows firewall)

  3. Saat Anda melintasi subnet, router / gateway / firewall dapat membatasi lalu lintas ICMP (itulah ping).

Jadi, Anda selalu perlu memeriksa rantai layanan lengkap dari pengirim ke penerima dan sebaliknya. Dalam kasus tiga, mungkin ada pengaturan seperti a) gateway default atau b) (default) rute yang terlibat. Jadi tambahkan mereka ke daftar periksa Anda.

Maaf telah menggali yang lama ini, tetapi mengingat dari header itu sepertinya sedikit informasi, seseorang dapat mengambil untung.

Salam

Kay Urbach
sumber
2
OP menyebutkan "tetapi ketika saya melakukan ping tidak menemukan alamat ip". Ini bukan tentang paket tidak mencapai tujuan, tetapi tentang ping itu sendiri tidak dapat menyelesaikan alamat IP.
Andras Gyomrey
Ping sendiri tidak menggunakan resolusi nama. Mengacu pada stackoverflow.com/questions/17161005/… .
Kay Urbach
2

Hal lain yang saya lihat mengganggu DNS adalah menginstal winbind. Tampaknya untuk menempatkan winsentri sebelum [NOTFOUND=return]di /etc/nsswitch.conf, yang menyebabkan DNS gagal, tapi bisa diperbaiki dengan memindahkan winske setelah "NOTFOUND" bagian, juga, sebaiknya setelah dns sehingga dns lookup terjadi pertama, melihat ini:

http://ubuntuforums.org/showthread.php?t=1496488

(tidak yakin mengapa ini terjadi secara default; komentar diterima!)

Latanius
sumber