Köklendirilmemiş Android'de IP eşlemesi için bir ana bilgisayar nasıl kurulur?


10

Bilgisayarımda çalışan bir web sitem var ve bunu Nexus 7 tabletimden test etmek istiyorum. Yani yerel WiFi LAN üzerinden. IP adresini yazarsam bağlanır, ancak yanlış web sitesini gösterir, çünkü adlandırılmış sanal barındırma kullanıyorum.

mysite.localNexus'ta Chrome / Firefox'a yazabilmek , bunları 10.1.2.3(veya yerel IP adresi ne olursa olsun) dönüştürmelerini sağlamak , ardından Host olarak istekte bulunan 10.1.2.3sunucuyu çağırmak mysite.local.

Sorum: Android 4.x tablette /etc/hostsdüzenleyebileceğim bir dosya veya eşdeğeri var mı? (Tableti köklendirmek zorunda kalmadan veya bunun gibi bir şey olmadan.)

Linux bilgisayarlarımda bunu bir giriş ekleyerek yaparım /etc/hosts:

10.1.2.3  mysite.local

(Ya Windows\System32\drivers\etc\hostsda bir Windows makinesinde aynı şeyi yapar.)

BTW, bu, IP adresi için manuel olarak bir ana bilgisayar adı ayarlamak (örneğin, / etc / hosts equiv.?) 'Nin yarı kopyasıdır , ancak bu soru görünüşe göre mümkün olmadığı Android 2.2 içindi. (Alternatif yönlendiricilerden birinin yerel yönlendiricide DNS yapılandırması olduğunu önerdi, ancak yönlendiricimin yerel olarak DNS yapmadığını söyleyebildiğim için bu seçeneğe sahip değil. Bunu yapmak için kendi DNS sunucumu kurabilirim, ancak bu büyük bir iş çözümü gibi geliyor.)


Bu, Sunucu Hatası veya Süper Kullanıcı için bir sorudur . Ve bu ana bilgisayar adlarını yerel sunucunuzla ayarlamanız gerekir (DHCP sunucunuz tarafından DNS düğümü olarak sunulur).
Izzy

1
@Izzy Teşekkür Izzy, ama ben / etc / hosts sunucularında nasıl yapılandırılacağını biliyorum. Ne yapacağımı bilmiyorum bir Android 4.x tablet üzerinde eşdeğer bulmak / düzenlemek (hatta köklendirme olmadan bir eşdeğer olsa bile). (DHCP sunucum, yani wifi yönlendirici, özel adlar eklemek için hiçbir seçenek sunmuyor gibi görünüyor: Özel bir DNS sunucusu belirleme seçeneğim var, ancak bu gerçekten ellerimi koymak istemediğim çamurlu bir havuz. )
Darren Cook

Beni yanlış anladın, Darren: Düzenlemeyi önermedim /etc/hosts, ama "isim sunucunu" (örneğin DNSMasq veya kullandığın her şeyi) yapılandırmayı önermedim. Yönlendiriciniz size bunun için bir yer verebilir. aksi takdirde her makinede /etc/hostsdüzenlenmesi gerekir - ve Android'deki ilgili dosya sadece "kök güçlerle" düzenlenebilir (tam konumunu kafamın dışında bilmiyorum, ancak AFAIR içinde bir yerde ). Bkz: etc / hosts dosyasını düzenleme/data/system
Izzy

Yanıtlar:


6

Yalnızca bir salt okunur dosya sisteminde olduğu için hosts dosyasını Android'de düzenleyemezsiniz: /system/etc/hostsbkz:

Alternatifler:

  • "merkezi olarak" ilgilenmek için yerel ağınızda DNSMasq gibi bir DNS sunucusu kullanın
  • yukarıda açıklandığı gibi sistem dosyasını zorla düzenlemek için "kök güçler" kullanın
  • bunu kullanmak için Android cihazınıza bir "yerel DNS sunucusu" yükleyin, örneğin DNS Sunucusu

hey Izzy, telefonuma root erişimim olmadığı için bunu işlemek için DNS Sunucusunu kullanmaya çalıştım; Ana bilgisayar adını söz konusu ip'e yönlendiren basit bir kural ekledim .. ama işe yaramadı .. ne yanlış yapıyorum?
George Katsanos

DNS Sunucusunun ağınızdaki diğer aygıtları sunması gerekir (açıklamanın belirttiği gibi, bunun için bağlantı noktası iletmeyi de kullanmanız gerekir). Bu her zaman bu cihazların (Android cihazınız da dahil) kullanmak üzere yapılandırılmasını gerektirir. Android cihazımda böyle bir DNS sunucusu kullanmadım, bu yüzden burada tam olarak ne yapılması gerektiğini kontrol etmedim; ancak büyük olasılıkla ağ ayarlarınızdaki DNS girişlerini ayarlamanız gerekir (WiFi ağının girişine uzun basın, "Gelişmiş" i seçin ve ilk DNS girişini ayarlayın - ikincisini olduğu gibi "yedekleme" için bırakın).
Izzy

@GeorgeKatsanos İlginizi çekebilir: stackoverflow.com/a/14211550/1768141
Vinayak

2

Lzzy tarafından belirtildiği gibi, bunu elde etmek için DNSMasq sunucusunu kullanabilirsiniz . Ancak Chrome kendi DNS çözümleme işlemini kullanır ve bu yöntem çalışmayabilir.

Sunucuyu başlatmak için aşağıdaki komutu kullanın:

sudo /usr/local/sbin/dnsmasq -d \
                             --no-hosts \
                             --no-resolv \
                             --conf-file=/dev/null \
                             --server=8.8.8.8 --server=8.8.4.4 \
                             --address=/example.com/192.168.0.101
  • sudo 53 numaralı bağlantı noktasına bağlanmak için gereklidir
  • -d sunucuyu ön planda başlat
  • --no-hosts yerel anasistemler dosyasını kullanma
  • --conf-file=/dev/null herhangi bir yapılandırma dosyası kullanma
  • --server=8.8.8.8 --server=8.8.4.4 akış yukarı sunucuların adresleri (bu örnekte Google DNS)
  • --address=/example.com/192.168.0.101geçersiz kılmak. Bu satıra ana bilgisayarlarınızı eklemeniz gerekir. Ayrıca buraya birden çok ana bilgisayar ekleyebilirsiniz.

Ardından aygıttaki DNS sunucusunu değiştirin. Bu, DNS Değiştirici uygulaması kullanılarak kolayca yapılabilir .

Bu adımlardan sonra, bu ana bilgisayarlara yapılan isteklerin adreslerinize gönderilmesi gerekir.


0

Ana makineyi IP eşlemesine tanımlamanın en basit yolu , hostsdosya çoğunlukla DNS çözümleyicilerinin onurlandırmasıdır . Ancak diğer cevaplarda belirtildiği gibi, /etc/hostsAndroid cihazı köklendirilmeden düzenlemek mümkün değildir . Web sunucusuna IP adresi ile erişmek de sanal barındırma nedeniyle sizin için çalışmaz. Köklendirilmemiş cihazda kullanabileceğiniz birkaç seçenek şunlardır:

  • hostsYapılandırılmış akış yukarı DNS sunucusunda sorgulama yapmadan önce DNS trafiğini engelleyen ve özel bir dosya arayan bir VPN uygulaması kullanın .
  • Bir DNS sunucusu çalıştırın; belirli bir ad için önceden tanımlanmış bir IP adresi döndürecek şekilde yapılandırılabilirler. Mesela kullanılıyorsa dnsmasq, eklemek address=/mysite.local/10.1.2.3için “dnsmasq.conf” . Veya üzerinde dnscrypt-proxyeklenti mysite.local 10.1.2.3için “gizleme-rules.txt” .
  • Yapılandırma Telefon bir proxy veya VPN kullanmak ve ardından giriş eklemek için 10.1.2.3 mysite.localiçin hostsproxy sunucusu üzerinde dosya veya VPN sunucusunda yerel bir DNS sunucusu çalıştırın.
  • Önyükleyici kilidi açılabilirse, hostsdosyayı özel kurtarma işleminden düzenleyin .

Daha fazla ayrıntı için bkz. Bir etki alanı adını her zaman köklenmeden sabit bir IP'ye nasıl çözümleyebilirim?


İLİŞKİLİ:

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.