Android 如何设置 ipv6 ipv4 自动切换?

首先我折腾了一台All in one 服务器…


网络结构大致如图 光猫拨号 接入 1软路由 1硬路由
2台路由 LAN口相连,左侧软路由不开启DHCP功能
右侧路由下接入PC 手机 NAS等等

右侧硬路由就是常规设置,就算All in one 崩了也不影响其他设备正常上网。为了能够外网访问,左侧软路由开启ipv6(我没有ipv4公网ip),部署ddns 以及端口转发。然后我把域名解析到软路由的wan口 IPV6地址 和 lan口内网地址。

预期是在外自动ipv6访问,回家后自动ipv4访问走内网。
目前硬路由下无论windows还是linux服务器 ping 域名都得到 内网IP。ping -6 (linux用ping6)+域名得到软路由ipv6地址,访问也都正常。直接ping ipv6地址能ping通,但是无法直接通过ipv6 地址访问。

android手机,用流量访问域名走ipv6没问题,但wifi下ping ping6 域名 ipv6地址都不通,显示 unknow host,个人推断是android默认走了ipv6 ,访问不了但是又不自动切换ipv4,就卡着了。暂时的解决方法是。。。开启科学上网软件(因为不支持ipv6),或者关闭硬路由的ipv6功能,但是这样一来我就无法访问ipv6 页面了。

android系统里找不到ipv6的 ip 网关 dns 等设置,希望有大佬指点一下如何设置才能既开启ipv6又能内网下自动走ipv4访问。

不太懂,我的NAS做了域名解析,外网访问不了就是因为手机没有v6地址,但很奇怪的是有的时候又可以访问,可能移动网络下给v4还是v6完全看脸 :sweat_smile:

4G建设的时候就普及ipv6了。但是一些信号特别差的地方ipv6会丢,重启一下移动网络就又好了。android手机 设置 关于手机 状态信息 可以看ip地址,有ipv6地址就说明开启ipv6了。

ipv6地址 开头不是 fe80 fdd fdef 之类大多是公网的。 移动公网IPV6一般2409开头,联通2408开头,电信240e开头。

Android 本身确实没给这样的功能吧, 是锁死6的, 如果没有root的话, 我感觉只能试一下用支持IPv6且同时允许你自行设置DNS优先级或者支持hosts记录的虚拟专网软件

没有root…最多只有ADB权限
我自己试下来 好像还是DNS解析有问题 可我 wifi设置ipv4的dns服务器跟我PC一模一样啊
ping 域名 显示 unknow host
ping6 域名 也显示 unknow host
断开wifi
ping 域名 显示 unknow host
ping6 域名 正常