Gingerbread手机只查询AAAA记录? -- 2.3-gingerbread 领域 和 ipv6 领域 和 dns 领域 android 相关 的问题

Gingerbread phone only queries for AAAA records?


简体版||繁體版
6
vote

问题

中文

自昨天我(除了常规IPv4)IPv6在我的LAN中的IPv6(本机IPv6由我的ISP提供)。

我有Windows XP,Windows 7和Linux桌面以及Android 3.1平板电脑(华硕变压器101),所有工作都很好。他们可以访问Internet上的IPv4和IPv6网站。

问题在于我的三星Galaxy S2(Android 2.3.3)。 系统获取公共IPv6地址和内部IPv4地址。

键入IPv6支持的网站的URL(如Google.com或XS4All.nl),我可以看到该网站很好。 键入仅IPv4的URL站点(如android.stackexchange.com)时,我收到了无法达到网站的错误。 当我输入IPv4 IP地址时,我可以使用此手机到达所提到的网站。

所以我在我的DNS(DNSMASQ)服务器上启用了调试,我注意到

  • 所有工作的客户都为AAAA记录做出请求,如果 失败他们尝试记录。
  • android 2.3.3手机只做了 请求AAAA记录,如果整个事物失败。

所有客户端(包括手机)获取相同的网络设置。

如何解决这个?

english

Since yesterday I have (in addition to the regular IPv4) IPv6 in my LAN at home (native IPv6 is provided by my ISP).

I have Windows XP, Windows 7 and Linux desktops and an Android 3.1 tablet (Asus Transformer 101) that all work fine. They can access IPv4 and IPv6 websites on the internet.

The problem is with my Samsung Galaxy S2 (Android 2.3.3). The system gets a public IPv6 address and an internal IPv4 address.

When typing the URL of an IPv6 enabled site (like google.com or xs4all.nl) I get to see the site just fine. When typing the URL of an IPv4 only site (like android.stackexchange.com) I get an error stating the site cannot be reached. When I enter the IPv4 IP address I CAN reach the mentioned site with this phone.

So I enabled debugging on my DNS (dnsmasq) server and I noticed that

  • all the clients that work do a request for the AAAA record and if that fails they try the A record.
  • the Android 2.3.3 phone ONLY does a request for the AAAA record and if that fails the whole thing fails.

All clients (including the phone) get the same network settings.

How do I fix this?

        

回答列表

4
 
vote

你可以报告bug 到android开发人员,或对现有错误的投票,如果已经打开。 这个看起来有点像你正在谈论的问题。

确保您准确地解释发生的事情,以及如何重现问题。

 

You could report the bug to the Android developers, or vote on an existing bug, if there already is one open. This one looks a bit like the issue you are talking about.

Make sure you explain exactly what is happening, and how they can reproduce the issue.

 
 
 
 
2
 
vote
vote
最佳答案
 

花了很多努力,但我实际上找到了我的问题的工作解决方案。

我首先将手机更新到最新可用的Android版本2.3.6,并没有解决我的问题。所以我安装了一个应用程序,向我展示有关手机网络设置的更多详细信息。经过一些挖掘我注意到了什么是错的:

我的手机没有默认的IPv4路线。

这是怎么发生的?在DHCP中,我推出默认路线(DHCP选项3)!

我意识到,当我只有IPv6链接(这是整个新的互联网连接的一部分)时,我的手机确实使用IPv4和IPv6连接到Internet。所以我重新创建了原始设置,发现在那种情况下确实可以工作。那是什么不同?

我花了两个晚上,铁丝克跟踪罪魁祸首。

真正原因是我对我的DMZ有一个静态路由,它由我的IPv4 DHCP服务器(DHCP选项121)推动。

当我这样做的时候,Android手机只显示本地子网的路由和我推送的附加路线。默认路由丢失,因此IPv4流量扭曲。显然Android甚至不再尝试做IPv4 DNS请求(这是我开始的问题)。

所有我的其他系统(Windows {XP,7},Linux,Android 3.x)不执行此操作,它们保留所有推送的路由和默认路由。

一旦我弄清楚问题是我可以更有效地谷歌的问题,我发现这个错误报告: http://code.google.com/p/android/issues/detail ?ID = 17525 这反过来导致了实际工作的解决方法!!

引用 http://forum.xda-developers。 com / archive / index.php / t-635489.html

  So as a "band aid fix it" i added the default gw to the static routes list...  So the line in dnsmasq looks like:  dhcp-option=121,<network>,<route>,0/0,192.168.1.254   
所以在查看DHCP ACK数据包时,您将看到两次的默认路由:在选项3和121下。

非常出现的解决方法......但它适合我。


它结果是Android行为是正确的:

http://tools.ietf.org/html/rfc3442#page-5 < / a>

  "If the DHCP server returns both a Classless Static Routes option and a Router option, the DHCP client MUST ignore the Router option."   
 

It took a lot of effort but I actually found a working solution to my problem.

I first updated my phone to latest available Android version 2.3.6 and that did not solve my problem. So I installed an App that shows me more details about the network setup of my phone. And after some digging around I noticed what was wrong:

My phone didn't have a default IPv4 route.

How did that happen? In the DHCP I push a default route (dhcp option 3)!

I realized that when I just had the IPv6 link (which is part of a whole new internet connection) my phone DID connect to the internet with both IPv4 and IPv6. So I recreated the original setup and found that in that scenario indeed it does work. So what is different?

It took me two nights with wireshark to track the culprit down.

The real reason turns out to be that I have a static route for my DMZ which is pushed by my IPv4 DHCP server (dhcp option 121).

When I do that the Android phone only shows a route for the local subnet and the additional route I pushed. The default route is lost, hence IPv4 traffic is distorted. Apparently Android even no longer tries to do IPv4 DNS requests (which is the problem I started with).

All of my other systems (Windows {XP,7}, Linux, Android 3.x) do not do this and they keep all of the pushed routes and the default route.

Once I figured out what the problem was I could Google more effectively and I found this bug report: http://code.google.com/p/android/issues/detail?id=17525 Which in turn led to a workaround that actually works!!

Quote from http://forum.xda-developers.com/archive/index.php/t-635489.html

So as a "band aid fix it" i added the default gw to the static routes list...  So the line in dnsmasq looks like:  dhcp-option=121,<network>,<route>,0/0,192.168.1.254 

So when looking at the DHCP ACK packet you'll see the default route in there twice: under option 3 and 121.

Quite an unexpected workaround ... but it works for me.


It turns out the Android behaviour is correct:

http://tools.ietf.org/html/rfc3442#page-5

"If the DHCP server returns both a Classless Static Routes option and a Router option, the DHCP client MUST ignore the Router option." 
 
 

相关问题

6  Gingerbread手机只查询AAAA记录?  ( Gingerbread phone only queries for aaaa records ) 
自昨天我(除了常规IPv4)IPv6在我的LAN中的IPv6(本机IPv6由我的ISP提供)。 我有Windows XP,Windows 7和Linux桌面以及Android 3.1平板电脑(华硕变压器101),所有工作都很好。他们可以访问Internet上的IPv4和IPv6网站。 问题在于我的三星Galaxy S...

1  如何使用DNS66阻止访问域名?  ( How to block access to domains with dns66 ) 
我正在使用开源Android应用程序DNS66 在我的智能手机上阻止广告。它也可以通过它阻止整个域名(如facebook.com,twitter.com)吗?我的目标:如果我参观,我的目标是没有加载。 Facebook.com在移动Chrome浏览器中。 ...

24  如何在Android Kitkat上更改移动连接的DNS?  ( How to change mobile connectionss dns on android kitkat ) 
我想避免我当地的移动ISP中的审查(例如,因为一些未知原因,它阻止了Imgur。 屏幕截图(单击图像的较大变体) 我很确定我可以通过将我的DNS更改为Google DNS或Opendns来规避这一点,但我并不肯定如何在Kitkat上完成这一点。 Info: Device: Nexus 5 Android ...

28  如何通过机器名称而不是IP到达本地计算机?  ( How to reach local computer via machine name instead of ip ) 
Developer在这里原型设计了一个移动应用程序,有点新增移动: 我有一个简单的HTTP服务运行(当前)在我的主要笔记本电脑上,带有机器名称 latitude 。 另一台笔记本电脑名为 vaio 共享相同的wifi网络可以通过 http://latitude:8080 - 换句话说,它可以轻松解决(当前)I...

8  Android Wifi说“连接,没有互联网”,但互联网运作很好  ( Android wifi says connected no internet but internet works just fine ) 
这是一个奇怪的事情,即在我的工作中开始发生在WiFi网络。连接到网络的Android设备说"连接,无互联网" 但互联网完全良好。这已发生在运行Android 6和7的设备上。这是美国的小型企业,也没有阻止任何DNS的代理或封装门户。 Windows和Ubuntu笔记本电脑连接并说一切都很好,似乎是Android特定的...

5  如何在Nexus One上设置DNS服务器?  ( How to set the dns server on nexus one ) 
我在我的n1上使用的ISP不允许我打开Facebook。使用PC,我可以使用Google DNS服务器(8.8.8.8)来逐行它们,但在N1上,我找不到将stufff放在哪里。 如果您知道如何,请帮助。 ...

7  我想要一个我可以锁定在DNS设置中的智能手机。是Android“这是”  ( I want a smart phone that i can lock in dns settings is android the one ) 
是关于互联网boss 。我希望能够锁定或密码保护DNS设置,以便Opendns,因此我可以拥有一个安全的智能手机,我的孩子可以使用,无需担心访问PR0N或其他任何东西。任何人都知道这是否可能?我不想使用另一种内容过滤方法。 ...

2  在4.0 ICS中访问Internet的问题  ( Problem accessing internet in 4 0 ics ) 
对于一些奇怪的原因,我的Android 4.0 ICS平板电脑不再能够访问Internet。 首先,通过WiFi,它可以连接到两个不同的网络。 然后,我试图通过DHCP将其连接到家庭路由器。它不能。 至于Wifi,平板电脑获得IP号。 我不知道这是怎么发生的,如果它是 route 问题或dns问题或其他。 试图安装终...

6  我可以覆盖HTC EVO上的默认DNS设置是否没有root访问权限?  ( Can i override the default dns settings on an htc evo without root access ) 
是有没有办法覆盖默认情况下使用的Sprint DNS服务器在HTC EVO运行Froyo的3G连接上使用没有root Access? 我想要这样做的原因是因为当我在家里的WiFi连接时,某些网站可以在使用Opendns或Google DNS时解决,但是当我在3G时,同一个网站就返回页面找到了,所以最简单的罪魁祸首是D...

0  Android驱动程序在我的Win7主机上重置DNS  ( Android driver resets dns on my win7 host ) 
几天前,我将我的Android(HTC1)手机插入我的Win7机器,从未有任何网络问题。 当我连接时,我还制作了以下变化: 移动热点&amp; tethering-&gt; USB网络设置 - &gt;互联网通过 即使手机是断开时,某些东西(新)将DNS设置重置为手机的IP地址。我用 ipconfig /rene...




© 2022 it.wenda123.org All Rights Reserved. 问答之家 版权所有