找回密码
 立即注册
搜索
查看: 1188|回复: 9

[网络] iOS的DNS解析是不是有什么特殊的设置?

[复制链接]
     
发表于 2019-7-26 11:11 | 显示全部楼层 |阅读模式
是这样的,黑群一台,自然没有QC
路由器拨号,可以拿到公网IP,端口映射可以随便做,DDNS已经做好没问题,Let's Encrypt证书也在用着

那么现在,手机上在内网用群晖客户端连的话就得用群晖的IP,外网连的话得写域名,要来回切,很麻烦,于是就做了以下设置

首先,设置黑群的HTTPS网页端口为1234(为了安全性考虑,不开放HTTP,全程HTTPS)
黑群的内网IP设置为192.168.2.2,路由器为192.168.1.1
在路由器上设置端口转发,0.0.0.0:1234 -> 192.168.2.2:1234

假设域名为example.com
先在路由器上设置DDNS,绑定到router.example.com
然后再设置一个CNAME别名,从synology.example.com指向router.example.com(需要两个域名是因为路由器上有另外一些服务也要从外网访问,各自使用不同的域名,IP是一样的)

在群晖设置里导入*.example.com的通配符证书

路由器的dnsmasq设置里,添加
address=/router.example.com/192.168.2.1
address=/synology.example.com/192.168.2.2


经测试
在外网情况下,所有访问都没有问题
电脑可以https://synology.example.com:1234,一切正常,证书也正常
Android / iOS手机客户端都可以连synology.example.com:1234,启用HTTPS,可以连上,稳定使用,无任何问题
说明端口转发,证书,DDNS都正常


在内网情况下,电脑和Android手机均正常,iOS设备会随机报找不到服务器的问题(检查过DNS,全部均使用路由器架设的DNS)
电脑可以https://synology.example.com:1234,一切正常,证书也OK
Android客户端依然可以连synology.example.com:1234,启用HTTPS,可以连上,稳定使用
iOS客户端连synology.example.com:1234,启用HTTPS,有时可以连上,但是用一会就断;有时根本连不上,报检查服务器域名或IP地址的错,几个客户端(DS File,DS Video等)均如此;断或者能连之间无任何修改,也没有断Wi-Fi重连
iOS直接用浏览器开https://synology.example.com:1234,有时正常,大多数时候是报找不到服务器;断或者能连之间无任何修改,也没有断Wi-Fi重连
在iOS设备使用Fing来ping synology.example.com,看到的IP也是192.168.2.2,说明路由器上的dnsmasq也起作用

所以不知道iOS报找不到服务器是抽什么风?

回复

使用道具 举报

     
发表于 2019-7-26 11:22 | 显示全部楼层
那你直接输内网ip能稳定连不
回复

使用道具 举报

     
 楼主| 发表于 2019-7-26 11:30 | 显示全部楼层
Sliverstrike 发表于 2019-7-26 11:22
那你直接输内网ip能稳定连不

可以
所以我怀疑是iOS的DNS是不是有什么奇葩的地方
而且就算dnsmasq不起作用,那应该也能连啊,只不过流量要从外面绕一圈回来,只是会慢一些而已

回复

使用道具 举报

     
发表于 2019-7-26 11:38 | 显示全部楼层
EraserKing 发表于 2019-7-26 11:30
可以
所以我怀疑是iOS的DNS是不是有什么奇葩的地方
而且就算dnsmasq不起作用,那应该也能连啊,只不过流量 ...

你去ios设置里把safari的控制台打开,再用safari开着控制台访问域名,看一下具体的报错信息
回复

使用道具 举报

     
 楼主| 发表于 2019-7-26 11:42 | 显示全部楼层
Sliverstrike 发表于 2019-7-26 11:38
你去ios设置里把safari的控制台打开,再用safari开着控制台访问域名,看一下具体的报错信息 ...

好 我晚上回去试试

其实我最不能理解的就是,同局域网里的机器用的都是同一个DNS服务器
要是dnsmasq不起作用吧,理论上照样也能用,就是慢
但是报找不到服务器就不知道是什么鬼了
而且还时好时坏
回复

使用道具 举报

     
 楼主| 发表于 2019-7-26 11:51 | 显示全部楼层
Sliverstrike 发表于 2019-7-26 11:38
你去ios设置里把safari的控制台打开,再用safari开着控制台访问域名,看一下具体的报错信息 ...

我突然想到iOS上Safari的那个调试工具是不是要连着mac才能用……
回复

使用道具 举报

     
发表于 2019-7-26 12:00 来自手机 | 显示全部楼层
感觉就是从外网绕了一圈然后被路由器挡了,我记得默认设置下不许局域网里的设备这样走。你试试把dnsmasq里的host删了再用安卓访问,可能也不行。
回复

使用道具 举报

     
发表于 2019-7-26 12:01 | 显示全部楼层
EraserKing 发表于 2019-7-26 11:51
我突然想到iOS上Safari的那个调试工具是不是要连着mac才能用……

我记得不用,你下个插件就能在win10里用了
大概是这个
https://github.com/google/ios-webkit-debug-proxy
我也没试过不确定行不行
回复

使用道具 举报

     
 楼主| 发表于 2019-7-26 12:12 | 显示全部楼层
Sliverstrike 发表于 2019-7-26 12:01
我记得不用,你下个插件就能在win10里用了
大概是这个
https://github.com/google/ios-webkit-debug-prox ...

OK 我试试 先谢了
回复

使用道具 举报

     
 楼主| 发表于 2019-7-26 12:15 | 显示全部楼层
typeunknown 发表于 2019-7-26 12:00
感觉就是从外网绕了一圈然后被路由器挡了,我记得默认设置下不许局域网里的设备这样走。你试试把dnsmasq里 ...

感觉如果有的话也是水果瞎作
我突然又想到是不是IPV6的锅……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-11-16 06:41 , Processed in 0.021723 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表