一直在使用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个多月都没能解决。

最后在https://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/213272-troubleshoot-ipv6-dynamic-address-assign.html学习了SLAAC的基本过程,用Wireshark抓包发现(过滤:icmpv6.type == 133 or icmpv6.type == 134 or dhcpv6),正常情况下终端通过icmpv6 type133的Router Solicitation(RS)报文宣告自己,然后路由器响应icmpv6 type134的Router Advertisement(RA)报文宣告ipv6 prefix。出现问题的时候,终端发出了RS报文,但是路由器没有响应RA报文,导致不正常。

红框为正常情况,发出RS后响应RA;出问题就是只有RS,没有RA:
点击看大图

RS报文详情:
点击看大图

RA报文详情:
点击看大图


最后通过一些关键字在Mikrotik论坛找到答案https://forum.mikrotik.com/viewtopic.php?p=797048,原因是v7的IGMP snooping 和IPv6存在冲突,在开启IGMP snooping时ipv6的组播包可能被丢弃。

在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的,所以暂时没折腾,以上供参考。


标签: , , ,
家里网络使用光猫桥接模式,通过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,功能丰富,使用简单,文档完善。缺点是功能太丰富,文档也不好翻

标签: ,
QNAP的NAS中有一块硬盘告警,在这块硬盘上除了有共享目录,还有一个500G的LUN通过iSCSI方式提供给centos使用。

我的硬盘都是独立使用的,没有做RAID,QNAP系统也没有提供LUN的迁移功能。

由于这块磁盘告警被系统强行设置成了只读,在centos里面也无法再次mount,所以也不能通过新建LUN,然后在centos中复制的方法来迁移数据了。

网上国内外也没找到相关的指引,自己摸索出以下方法:

1、ssh登陆到NAS,找到LUN实体文件在NAS的路径: /share/CACHEDEVn_DATA/.@iscsi.img/,n是数字,不同磁盘不一样,可以通过查看/share/CACHEDEVn_DATA/目录下的文件确定对应的硬盘。

2、在QNAP中iSCSI存储中,新建一个文件LUN。由于我之前旧的LUN是先设置为300G,后来不够用了又扩大到500G的,在硬盘上实际有2个文件对应这个LUN。所以我们新建时,要与之前的步骤一致,这样才能让新LUN生成的文件数量和大小与原来是一致的,否则无法替换。

3、对旧LUN停用、取消在iSCSI target中的映射。

4、对新LUN建立映射,加入到此前的iSCSI target中。

5、在centos中刷新iSCSI信息,可以运行lsscsi,在第一列中获取下面n数值。
echo "---" > /sys/class/scsi_device/n:0:0:0/device/rescan

6、在centos中对新LUN进行分区、格式化、mount;测试成功后,umount。

7、在NAS中删除新LUN产生的文件,然后用旧LUN的文件改名一致来替换。

8、重启NAS,否则mount装载后还是新LUN中的数据。

9、centos中mount。

就这样骗过了NAS,完成了数据迁移。使用下来目前一切正常。

标签: ,
一直在使用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\。
标签:
分页: 1/16 第一页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]