Bagaimana cara agar mDNS berfungsi untuk Chrome di Android?

35

Apakah ada cara untuk terhubung ke http: //mylaptop.local/ menggunakan Chrome di Android, atau adakah browser lain yang berfungsi?

Saya melakukan perjalanan dari jaringan ke jaringan dengan laptop dan telepon saya dan saya sering harus menghubungkan telepon saya ke situs web di laptop saya. Dengan Safari di iPhone, saya cukup menggunakan http: //mylaptop.local/ (biasanya menekan reload pada jendela browser yang terbuka), tetapi dengan perangkat Android saya, saya selalu harus mencari tahu IP saat ini dari laptop saya dengan meninju dengan tangan dan terhubung ke sana (saya tidak mengontrol banyak jaringan saya aktif dan mereka tampaknya tidak pernah memiliki DNS terintegrasi dengan DHCP).

Saya telah mencari jawaban dan tampaknya kebanyakan orang hanya meretas masalah menggunakan DNS statis, atau mereka mengendalikan DHCP dan DNS, yang keduanya tidak berlaku untuk situasi saya. Saya juga melihat pustaka kode untuk mendukung mDNS (dan hal-hal zeroconf lainnya) di aplikasi Android tertentu, jadi mungkin ada tambahan Chrome di luar sana, atau browser lain yang mendukungnya?

Juga, apakah ada kata resmi pada dukungan luas perangkat untuk mDNS dan domain lokal di Android? Saya kesulitan menemukan itu juga.

eldarerathis
sumber

Jawaban:

17

Saya kira tidak.

Pemecah masalah sistem DNS di platform Apple memiliki dukungan bawaan untuk mDNS, sehingga hampir semua aplikasi akhirnya berakhir menggunakan getaddrinfofungsi inti dan mendukung mDNS dalam URL dan nama host dan yang lainnya.

Pada Android dan platform lain, bahkan jika ada daemon DNS Multicast yang berjalan dan perpustakaan tersedia untuk menggunakannya, pencarian DNS "tipikal" tidak . Jadi, sementara rilis Android baru-baru ini memberi pengembang beberapa fitur mDNS sebagai bagian dari platform, sebagian besar tidak keluar dari jalan mereka (karena mereka perlu lakukan) untuk menggunakannya.

Ini mengecewakan, tetapi AFAIK tidak ada yang kurang dari membangun kustom Android Anda sendiri (atau meyakinkan Google untuk mengubahnya) yang benar-benar bisa menyelesaikan ini.

natevw
sumber
4
Itu sangat timpang! Butuh waktu 15 tahun untuk linux untuk berbicara dengan benar ke windows dan mac, sekarang kita melihat cerita yang sama lagi. mDNS tidak didukung di Android. AirPrint tidak didukung di Android. Ayo, interoperabilitas harus menjadi aturan!
Philipp
7
Saya mengajukan bug terhadap proyek Chromium. Tolong beri bintang (jangan komentar +1) jika Anda menemukan masalah ini dan ingin memperbaikinya. crbug.com/405925
pwnall
1

Itu bukan kesalahan browser, tetapi cara Android menangani DHCP: itu hanya mengabaikan server DNS yang ditawarkan dan tetap menggunakan Google DNS yang telah dikonfigurasikan sebelumnya - yang tentu saja tidak tahu nama host lokal Anda. Jadi, inilah cara mengatasinya:

  1. Buka Pengaturan
  2. Arahkan ke WiFi
  3. Arahkan ke entri jaringan WiFi Anda.
  4. Ketuk Panjang entri, pilih untuk mengedit.
  5. Aktifkan pengaturan lanjutan
  6. Beralih dari DHCP ke statis, dan ganti server DNS pertama (biasanya 8.8.8.8) dengan server Anda sendiri
  7. Menyimpan

(opsional, Anda dapat mencoba untuk beralih kembali ke DHCP setelah mengubah server DNS, dan melihat apakah yang terakhir disimpan)

Sekarang Android harus menggunakan server DNS Anda terlebih dahulu, dan beralih ke yang sekunder hanya jika server Anda tidak dapat menyelesaikannya. Yang berarti, "mylaptop.local" Anda harus ditemukan sekarang - dari Chrome atau peramban lain dan juga aplikasi lainnya.

Sebelum Anda bertanya: Pengaturan ini (seperti dijelaskan di atas) hanya akan berlaku untuk WiFi AP yang dimodifikasi. Jadi jangan khawatir, Anda bisa memengaruhi yang lain. Jika ada yang berubah, Anda kapan saja dapat dengan mudah menghapus AP dan membuatnya kembali.

Izzy
sumber
15
Hanya untuk mengklarifikasi; pertanyaan asli sebenarnya bukan tentang penggunaan server DNS lokal, tetapi menggunakan mDNS (alias Bonjour) bersama dengan nama domain ".local" khusus yang pada beberapa sistem diatur untuk mengeluarkan pertanyaan mDNS daripada permintaan DNS.
Jules
Ketika saya menetapkan alamat IP statis, saya secara tidak sengaja mendapatkan "jaringan tidak dapat dijangkau" pada semua perangkat di subnet lokal.
Michael