Android neden dahili IP adreslerini gösteren DNS kayıtlarını çözmeyi reddediyor?


14

Yerel ağ uygulamalarına erişmeye çalışırken bir Android cihazında (Nexus 7) çok garip bir davranışım var. Makinenin gerçek IP'sini LAN üzerinden almak yerine, Android cihazı genel IP'yi alır , bu da Chrome, Firefox veya başka bir tarayıcının yönlendiricinin web sayfasını gösterdiği anlamına gelir.

Yerel ağları işleyen dahili bir DNS sunucum var. Yapma pingbir PC'den düzgün çalışır:

$ ping s.pelicandd.com

PING pelicandd.com (192.168.1.15) 56(84) bytes of data.
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=1 ttl=64 time=0.524 ms
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=2 ttl=64 time=0.578 ms
^C

Bir HTC One cihazında (ile erişilir adb shell) de iyi çalışır:

shell@m7:/ $ ping s.pelicandd.com

PING pelicandd.com (192.168.1.15) 56(84) bytes of data.
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=1 ttl=64 time=2.56 ms
64 bytes from front.pelicandd.com (192.168.1.15): icmp_seq=2 ttl=64 time=27.8 ms
^C

Ancak, pingNexus 7'den aynısını yaparken bunu elde ediyorum :

shell@flo:/ $ ping s.pelicandd.com

PING pelicandd.com (90.78.26.42) 56(84) bytes of data.
64 bytes from LFbn-1-2441-42.w90-78.abo.wanadoo.fr (90.78.26.42): icmp_seq=1 ttl=64 time=2.56 ms
64 bytes from LFbn-1-2441-42.w90-78.abo.wanadoo.fr (90.78.26.42): icmp_seq=2 ttl=64 time=8.63 ms
^C

Dahili IP'ye çözümlemek yerine, genel IP'ye çözümlenir.

Ağ yapılandırması - cihazın IP adresi hariç - her iki cihazda da tamamen aynıdır: IP ayarları Statik olarak ayarlanmıştır ve DNS sunucuları dahili olanlardır. Her iki Android cihaz da Wi-Fi üzerinden (PC'den farklı olarak) bağlanır. Bununla birlikte, önemli bir fark, Nexus 7'nin Android 6.0.1'i kullanırken, HTC One Android 5.0.2'yi kullanıyor.

Orada hayır nm-tool, digyanslookup Nexus 7. cihazın root değildir.

Sorun, birkaç hafta önce cihazı satın aldığımdan beri vardı, bu yüzden DNS önbelleği ile ilgili sorun olmayabilir.

Bu sorunu daha ayrıntılı incelemek için ne yapabilirim?


Her şeyden önce elbette sorunu kontrol etmelisiniz. Bu yüzden lütfen Play Store'dan IP Tools yükleyin, bazı nslookup'lar yapın ve daha fazlasını öğreneceğiz. Özellikle DNS sunucusu Nexus kullanımı, DNS araması vb. Bu IP Araçlarını deneyin . Lehçe bir dildir ancak tabii ki değiştirebilirsiniz. Bu araç bu tür problemler için kullanıyorum.
mackowiakp

Hm. Gelen IP Bilgisi , doğru DNS adreslerini görüntüler. Olarak DNS araması doğru IP (192.168.1.15) gösterilmektedir. Ancak, Traceroute sekmesi yanlış genel IP'yi gösterir (90.78.26.42).
Arseni Mourzenko

Bu yüzden - bence - Nexus için dahili DNS girişinde bir sorun var. Ben
simmilar

Dahili DNS, Nexus 6p, Nexus 5, Nexus 10 vb. Cihazlarda iyi çalışıyor. Bilinen iyi bir yazılım çalıştırdığından emin olmak için fabrika görüntülerini Nexus 7'ye (önyükleyicisinin kilidi açıksa) yanıp sönmeyi denediniz mi? (Nexus 7 yeni bir cihaz olmadığı için kullandığınızı varsayıyorum).
derobert

İkinci el olarak aldım, ancak kullanmadan önce bir sıfırlama yaptım, ardından en son Android sürümüne yükseltme yaptım. Bunun, cihazın köklü olmadığı göz önüne alındığında, herhangi bir özel yazılımın çalışmamasını sağlamak için yeterli olduğunu düşünüyorum.
Arseni Mourzenko

Yanıtlar:


5

Kısa süre önce bu sorunla karşılaştık ve SADECE Android v5 ve daha yeni sürümleri çalıştıran cihazlarda da görülmesini daralttık. Android v4 ve diğer tüm işletim sistemlerinde sorun yok.

Bu tidbit ile, Android v5 ve daha yeni sürümlerin DNS ad çözümlemesi için IPv6 kullanmakta ısrar ettiğini belirledik. (Ağımızda IPv6'yı tamamen devre dışı bıraktığımız için, bu sorunla ilgili jibler.) Android v5 (+) yerel DNS'den bir IPv6 yanıtı alamazsa, Google'ın genel ad barındırıcısına (8.8.8.8) ulaşır . Bu nedenle, dahili DNS yok, sadece harici.

Belirli dahili adlar ve IP'ler için halka açık DNS sunucularımızda DNS kayıtları oluşturarak bu sorunu çözdük. Bunu yaptıktan sonra, Google'ın genel DNS'si bu dahili adları dahili IP'lerle çözebilir ve cihazlar daha sonra dahili ana makinelerimize erişebilir.

Dahili DNS sunucularımızda (etki alanı denetleyicileri) IPv6'yı kalıcı bir düzeltme olarak tam olarak etkinleştirmeye devam ediyoruz.

=========================================

GÜNCELLEME-- Eh, bu tamamen kırmızı bir ringa balığı olabilir ... ya da değil. Ev ağım Win2008R2, DHCP ve DNS ile tek etki alanı ve IPv6 bağlaması yok. Oradan bir Android v5 cihazı test etti ve HİÇBİR SAYI YOK. Sorunlu ofis ağı, Win2012 (R2 dışı), tek etki alanıdır.

Tek başına Linksys WAP ve test için ayrı SSID ile mevcut ofis WAP'lerini atladı, sorun devam ediyor.

Ofis ve ev ağları arasındaki farklar (aklıma gelen): - Windows sürümü - 2012 vs. 2008 R2 - yönlendirici modeli (Cisco vs. Linksys) - WAP modeli (Dell markalı Aruba Networks vs. Linksys)

Sorunu daraltmak için aklınıza gelebilecek her türlü teste devam ediyorum. Herhangi bir öneri veya girdi çok takdir edilmektedir!

=========================================

SORUN GİDİYOR (?!)

Konuyla ilgili olduğunu düşünmediğim bir ağ topolojisi değişikliğinden sonra sorunumuz kendi kendine kaybolmuş gibi görünüyordu, ancak durumdaki bilgiler.

(Bu uzun, çizilmiş hikaye için BÜYÜK APOLOJİLER, ancak bu Android sorunlarımız ortadan kalktığında, bu yüzden eğer yapabiliyorsanız bunu atın. Her şeyi olduğu gibi bırakıyorum.)

İSS'miz, beş adresli statik IP bloğuna sahip bir kablo modem olan Comcast Business Class'tır (garip numara ancak Comcast onları bu şekilde satmaktadır). Comcast'in kablo modemi, statik IP bloğumuz uzaktan programlanmışken esasen bir kombinasyon modem / güvenlik duvarı / yönlendirici / anahtardır.

10 yıldan fazla bir süredir ve neredeyse işveren olarak, ofis ağlarını her zaman aynı şekilde kurdum:
NAT'ın internetten trafiği olan ISS modem / yönlendirici için bir LAN IP yapılandırın. Daha basit olamazdı ve mevcut ofis ağım dört yıldır bu şekilde yapılandırıldı.

Son zamanlarda ofis internet servisimiz çöktü. Genellikle bir modem yeniden başlatması bunu düzeltir, ancak bunu yapmadığımızda Comcast'i aradık ve hizmeti geri yüklemek için kablo modemi değiştiren bir teknoloji gönderdik.

Birkaç gün sonra aynı şey tekrar oldu. Tekrar aradık ve yerinde teknoloji (öncekinden farklı teknoloji) modemi tekrar değiştirmeye çalıştı, bu sefer daha yeni bir modelle. Şaşırtıcı bir şekilde, daha yeni kablolu modem LAN alt ağ adresinin değiştirilmesini desteklemedi. Varsayılan alt ağ 10.1.10.0/24'tür ve değiştirilemez. (Yalnızca 4. sekizli yapılandırılabilir.) Ofis alt ağımız 192.168.100.0/24 olduğundan, teknolojiye LAN alt ağını değiştirmeden kullanamayacağımızı bildirdim. Anladı, ancak kablo modemin değişikliği neden önleyeceği hakkında hiçbir bilgisi yoktu. Böylece, aynı şekilde yapılandırdığımız ve aynı şekilde yapılandırdığımız bir modemi değiştirdi ve internet erişimi geri yüklendi.

Bir iki gün daha geçer ve servis tekrar düşer. Bu sefer Comcast'i aradığımda, konuştuğum ilk teknoloji ağ yapılandırmamız hakkında ayrıntılı ve bilgili sorular sordu. Kablo modemin alt ağımızda bir LAN IP ile yapılandırıldığını açıkladığımda, bununla şaşkın görünüyordu. Çoğu Comcast müşterisinin, kablolu modemin NAT'ı kullanmak yerine, kablolu modem ile LAN arasında bir NAT'ing yönlendirici bağladığını söyledi. Aslında, kablo modemin NAT'ing'i desteklediğinin farkında olmadığını söyledi.

Comcast, yepyeni bir kablolu modemle (LAN alt ağının değiştirilmesini desteklemeyen en son model) başka bir teknoloji gönderdi. Mevcut modem üzerinde kapsamlı testler yaptı ve sonunda sadece IPv6 trafiğini geçtiğini belirledi - IPv4 yok. Ayrıca telefon teknolojisinin söylediklerini doğruladı - NAT'ing için ayrı bir yönlendirici kullanılması ve kablo modemi üzerindeki LAN alt ağını değiştirmemeniz önerilir (bu zaten yeni modemlerde yapamayız).

Ve nihayet yaptığımız ağ değişikliğine geldik. Kablo modem ile çekirdek yönlendiricimiz arasında, modem tarafında statik IP ve içeride bir LAN IP ile yapılandırılmış basit bir LinkSys yönlendirici kurdum. İnternet hizmeti daha sonra geri yüklendi ve bir süredir sabit kaldı.

İnternet hizmeti geri yüklendikten sonra, kablo modemi ile IPv6 sorununun garipliğini düşündüm, bu da bana Android v5 sorununu hatırlattı. Daha sonra ofiste Android cihazlarımızı test ettim ve DNS sorununun artık meydana gelmediğini görmek için sersemledim.

NAT'ing için LinkSys yönlendiriciyi eklemek, yaptığımız tek ağ değişimidir. Tesadüf?? Muhtemelen, ama her ikisinin de IPv6 ile ilişkili olması biraz tuhaf görünüyordu.

Her neyse, uzun hikaye için tekrar özür dilerim, ancak Android sorunumuz gitti. Ne yapabilirsen yap.

Dimarc67


Aslında, benim durumumda da bu olmalı, çünkü benzer şekilde, IPv6'yı dahili olarak kullanmıyorum. Yerel bir VPN sunucusu oluşturarak ve Android cihazından bunun yerine VPN kullanmasını isteyerek DNS sorununu atladım; işe yarıyor, ama açıkçası çok sert.
Arseni Mourzenko

@ArseniMourzenko Hiç bu sorunu çözdünüz mü? Kelimenin tam anlamıyla daha önce çalışmakta olan bir çok şeyi kırdığı için, bu sorunu çözmeye çalışmaktan başka bir şey yapmadan iki gün harcadım. Ve evet, bir VPN denedim ama aktarım hızını 100Mbps + 'dan 20'ye düşürdü
Michael

@Michael: Yerel DNS sunucularım yalnızca IPv4'ü destekleyecek şekilde yapılandırıldığından, Dimarc67'nin yanıtı benim için önemliydi (bu da kabul edilen yanıt olarak işaretlendi). Oradan, tüm Android cihazlar için bir VPN ayarladım ve o zamandan beri kullanmaktan mutluluk duyuyorum. Mobil cihazları nasıl kullandığım düşünüldüğünde, aktarım hızında herhangi bir azalma fark etmedim. Değer için Debian sunucu tarafında OpenVPN ve Android cihazlarda OpenVPN Connect kullanıyorum.
Arseni Mourzenko

2

Android 6.0 cihazımı yerel ana bilgisayar adlarını çözmek için yerel olarak yapılandırılmış DNS sunucusunu kullanmaya çalışırken bu yayına rastladım. Yukarıdaki bir yanıt, Android 5.0 ve daha yeni sürümlerin IPv6 DNS sunucularını kullanmakta ısrar ettiğini gösterdi. Bu beni çözümüme götüren ipucuydu.

Yönlendiricim, DHCP-PD kullanarak İSS'm tarafından sağlanan IPv6 DNS sunucularının reklamını yapıyordu. Yönlendiricimi IPv6 DNS sunucularının reklamını durduracak şekilde yeniden yapılandırdım ve şimdi Android 6.0 cihazı DHCP (IPv4) tarafından sağlanan IPv4 DNS sunucusunu kullanarak yerel ana bilgisayar adını çözüyor.

Ayrıca tüm DNS sorgularını (TCP / UDP bağlantı noktası 53) yerel DNS sunucuma yönlendirmek için bir DNAT var. Bu, yönlendirici reklamını IPv6 DNS sunucularıyla devre dışı bırakmadan önce gerçekleşti, bu yüzden Android 5.0+'ın Google DNS sunucularına geri dönüp dönmediğini (önceki yanıtta iddia edildiği gibi) bilmiyorum ve bunları DNAT kuralımla yakaladım mı yoksa Android'im mi 6.0 cihazı sadece DHCP atanmış IPv4 DNS sunucusunu kullandı. Her iki durumda da, yerel ana bilgisayar adı çözümlemesi şimdi çalışıyor.


Yönlendiricimdeki IPV6'yı devre dışı bırakmak, TÜM android cihazlarımdaki sorunu düzeltti!
Ken J

2

Sonunda, istemcilere göndermek için doğru Arama Etki Alanını yapılandıran aynı ağda bir DHCP sunucusu kurarak bunu çözebildim.

Bir kez bir dhcp sunucusu vardı, benim durumumda dhcp.conf yapılandırma ile isc-dhcpd:

option domain-name "myrealdomain.tld";

Android, DNS sunucumda ayarlanan yerel A kayıtlarını çözmeyi başardı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.