记录一下重新刷机iStoreOS后tailscale exit node失效的解决过程,以备后查。

周末回了趟深圳,突然无法连接HK家里的R4S,让小家伙帮看了下指示灯(网口灯灭了,系统灯也非正常),顿时明白这机子崩了,就是不知道到底是系统崩了,TF卡挂了,还是板子崩了。想着这已经是这机子伺候的第三张TF卡了,估摸应该是卡挂了吧。

第二日忙完事回到香港家里,就着旧TF卡重新刷机,竟然直接点亮了。那昨儿为毛崩了呢,难道是旧的iStoreOS崩了?不管那么多,把要用的服务一个个重新安装好,当然iStoreOS的版本已经明显跟之前的有了比较大的改动,UI等都明显差异。

绝大部分的服务都正常,包括docker、passwall等,但是tailscale的exit node死活不生效,其他手机等终端无法在激活R4S这个exitnode的情况下正常访问外网,怀疑DNS有问题,测试后确定与之无关。在R4S本地tailscale终端status都正常的情况下,那只能认为被防火墙拦了,在防火墙通信规则里添加“任意源区域”任意IP任意端口到“WAN”均接受,测试OK。那问题原因就是这了。

只能说,崩之前的OS版本太旧,新旧iStoreOS的OpenWrt版本在网络防火墙默认策略方面有了比较大的默认差异。导致原来安装tailscale并未进行任何的配置即可用,而现在不行了,必须进行一定的防火墙配置。

但这么明晃晃的在防火墙上粗暴添加上述通信规则明显是有问题的,测试琢磨了几下,调整如下:

  • 网络 - 接口 - 添加:不配置协议,设备tailscale0,其他设置均默认。

  • 防火墙 - 区域 - 添加: 入站+出站+转发均接受、勾选MSS钳制、涵盖网络tailscale,允许转发LAN+WAN

  • 无需设置其他通信规则
  • 个人建议再重启一下tailscale:/etc/init.d/tailscale restart

#tailscale#exitnode#openwrt#iStoreOS