一直在使用Mikrotik的路由器,用了RB750Gr2, RB750Gr3和RB3011,自从电信开始下发ipv6地址之后,在RouterOS中用SLAAC方式,让内网终端在路由器获取电信ipv6 prefix的基础上,通过无状态地址自动配置生成自己的ipv6地址。
RouterOS版本为v6时正常,升级到v7后,发现windows, android和linux都出现问题,具体表现就是有时候各类终端能正常获取ipv6地址,有些时候又不能,只有本地fe80地址,从路由器ipv6前缀自动配置生成的ipv6地址会消失,导致ipv6网络失效。
至今的v7版本也还有这个问题,只好多次回滚降级到v6。直到最近用了RB5009,这个硬件不支持v6,这个问题又开始困扰。
一直以为是防火墙策略、ipv6参数等问题导致,断断续续摸索了1个多月都没能解决。
红框为正常情况,发出RS后响应RA;出问题就是只有RS,没有RA:
RS报文详情:
RA报文详情:
在RouterOS v7的Bridge中,将ipv6 nd对应接口所属的bridge的IGMP Snooping关闭,恢复都正常!!!
---------2022-02-25补充---------
1、论坛友人反馈,可以在开启IGMP Snooping时再开启Multicast Querier,或者在Bridge对应的Port中关闭L2 hardware offloading。
2、又根据官方介绍,Multicast Querier只能处理不带vlan tag的报文。如果开启vlan,需要安装固件的扩展包multicast package。但是ROSv7没有这个扩展包,理论上已经集成到主固件里面了,那就还是有问题。
我是开启了vlan的,所以暂时没折腾,以上供参考。
无为而为
ipv6 dns 安卓 分类:技术备忘
阅读:2841
评论:0
家里网络使用光猫桥接模式,通过RouterOS路由进行拨号,开启了IPv6。
原来一直使用第1种方案,下接一个WIFI无线路由器,无线路由是接到其WAN口上的,电脑和手机上网一直很正常。
近期调整网络,先是用方案2,无线路由改接到其LAN口上的;又用了AC+AP方式,通过方案3,将AP直接接在路由器下。方案2、3都遇到一个问题,就是安卓手机浏览器打开网页,微博、知乎等加载图片视频的速度都明显变慢,体验起来就像是网络时延变大,变得很“卡”。
检查发现在方案2、3下,在RouterOS上关闭了IPv6后变正常了,看起来像是开启IPv6造成的,由于IPv6访问速度较慢导致,但奇怪的是原来方案1也是一直使用IPv6的,却一直很正常的。
找区别,方案1手机上网是使用了RouterOS和WIFI的两次NAT,IPv4 DHCP和IPv6无状态分配都是使用WIFI无线路由器自带的;方案2、3是下级设备LAN接入上级设备LAN,直接使用RouterOS的NAT、IPv4 DHCP和IPv6 ND。NAT、ND感觉不是问题,疑问指向了DHCP。
RouterOS在IP>DNS中设置了2个IPv4和2个IPv6的DNS;IP>DHCP Server中配置了2个IPv4的DNS;IPv6>ND开启进行无状态地址分配,同时启用了Advertise DNS。
我是小米的安卓手机,在这种情况下,接入WIFI后会获取到RouterOS中IP>DHCP Server中配置的2个IPv4 DNS,还会叠加获取到IP>DNS中设置的2个IPv6的DNS;由于这2个IPv6 DNS响应比较慢,就导致手机感觉的“卡”。而Windows10不受这个影响,只会获取到IP>DHCP Server中配置的2个IPv4 DNS。安卓手机可以使用WiFiman APP在“状态”中查看当前手机获取到的配置情况。
简单说,由于启用了IPv6,当安卓手机的网络和APP都支持IPv6时,如果IPv6 DNS响应慢导致域名解析受影响,最后就出现手机上网的各种“卡”。之前关闭IPv6,导致IPv6链路失效,RouterOS也不会下发IPv6的DNS了,一切回归IPv4,所以也就正常了。
保留IPv6且不卡的解决方法,在RouterOS上配置,三选一:
1、IP>DNS删除IPv6的DNS
2、IPv6>ND关闭Advertise DNS
3、寻找更好的IPv6 DNS替换IP>DNS设置
amcharts,功能丰富,使用简单,文档完善。缺点是功能太丰富,文档也不好翻
无为而为
foxmail 分类:技术备忘
阅读:3080
评论:0
一直在使用foxmail,有多个邮件账户,为了方便将不同邮件账户下的文件夹都拖动到其中一个邮件账户下。但最近升级foxmail到最新的7.2.18.95,发现跨账户拖动的文件夹都回到了原来的账户下面,而且目前这个版本只能在同一个账户下移动文件夹位置,跨账户拖动无效。。。
网上搜索了半天也没找到解决方案,只得自己研究foxmail的文件结构,发现账户下的文件夹与安装目录下\Data\Accounts\中的Account.cfg和Account.htb有关。
这里简单分析会用到的一些数据:
Account.cfg保存了文件夹的ID以及名称等信息,从0x100开始,每0x100为一组;每组里面,0x00-0x03为文件夹ID(红色),0x11-0x12为文件夹名称长度(黄色),0x13开始为文件夹名称(绿色),由于是UTF-16编码,实际长度为文件夹名称长度x2
Account.htb保存了文件夹的目录树结构,从0x40开始,每0x10为一组;每组里面,0x04-0x07为文件夹ID(红色),0x08-0x0B为“后继子文件夹ID”(黄色),0x0C-0x0F开始“后继同级文件夹ID”(绿色);文件夹ID如果为0xFFFFFFFF标识为“无”
知道文件夹的目录树结构就好办了,把邮件账户下最后一个文件的“后继同级文件夹ID”从0xFFFFFFFF改为想移动过来的一组文件夹里面的第一个文件夹ID,再将原来指向想移动的文件夹的前序文件夹的“后继同级文件夹”改为0xFFFFFFFF,收工。
PS.这个方法只针对POP3类型账号下的文件夹,IMAP类型账号的文件夹是直接建在服务器上的,是不能跨账号挪动的。IMAP对应的文件在安装目录下\Storage\<账号名称>\Accounts\。
全部以源码编译方式为例,在centos7上操作
1、下载
https://www.php.net/distributions/php-7.4.9.tar.gz
2、准备(应该有多余的库)
yum -y install patch gd-devel libxml2-devel libmcrypt-devel openldap-devel mhash-devel curl-devel libpng-devel libjpeg-devel freetype-devel sqlite-devel oniguruma-devel zlib-devel
3、编译安装
方式一:将gd静态编译到PHP中
php
cd /xxx/php-7.4.9/
./configure
--prefix=/usr/local/php
--enable-fpm
[b]--enable-gd[/b]
--with-freetype
--with-jpeg
--with-iconv
--with-zlib
--enable-xml
--disable-rpath
--enable-bcmath
--enable-shmop
--enable-sysvsem
--enable-inline-optimization
--with-curl
--enable-mbregex
--enable-mbstring
--with-openssl
--with-mhash
--enable-pcntl
--enable-sockets
--with-xmlrpc
--enable-soap
--without-pear
--enable-ftp
make
make install
无需配置php.ini
方式二:将gd编译成扩展
cd /xxx/php-7.4.9/ext/gd
[b]/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-freetype --with-jpeg --enable-gd[/b]
make
make install
配置php.ini
换手机用了小米的一键换机,数据转移后Google的Play 商店、地图、Gmail都运行良好,可就是Flightradar24运行后就在顶部出现“google play services are updating”。
原来如果Google Play服务如果版本低,Google地图之类都会拉起Google Play 商店进行更新,可这次没有,Google自己的APP都运行良好。直接在Google的Play 商店中搜索“Google Play”是找不到对应的安装界面的。
从其他渠道找安装包,发现细分版本太多,不知道那个使用,而且还不一定是最新的。
最后发现在手机上的浏览器中,到google页面去搜索"Google Play Services",可以点击对应的图标直接拉起Google Play 商店,并进入到“Google Play 服务”的安装界面,可以看到有更新按钮,更新后天下太平~~!
无为而为
https 分类:技术备忘
阅读:3711
评论:0
在家里的Mikrotik路由器上使用HE的6to4 Tunnel服务实现了ipv6的接入,但是使用中发现一些网站http可以访问,但是https就无法访问,直接网页就打不开,竟然还包括我自己的网站。。。今天有时间在客户端和服务端同时抓了包,发现客户端的Client Hello正常收发(下图绿色),但是服务端的Server Hello正常发出了但客户端竟然没有收到(下图红色)。。。
第一反应想到的是伟大的长城,但是细想这个是ipv6,应该不受这个限制。HE应该也不会过滤这些消息。突然想到的MTU,搜索了一下,竟然有相同问题(https://forums.he.net/index.php?topic=3545.0),原因就是MTU设置导致的。
找到原因就简单了,打开https://tunnelbroker.net/,在对应的Tunnel管理界面的“Example Configurations“界面看到Mikrotik给出的配置MTU是1280,我看了下我的路由器也确实是1280。又到Tunnel管理界面的“Advanced“界面看了下,原来默认是1480,需要自己改成1280,并且Update!
之后再到自己的路由器上断开重新连接,问题解决~~!