使用阿里云服务器运行tailscale
后导致服务器无法连接外网, 经过检查是 DNS 的问题,最初怀疑是magic dns
问题,在 AI 的帮助下,经过一系列的排查, 又是打印 iptables 日志,又是怀疑 ip rule, 最终终于找到问题了所在。
tailscale
默认会新增一条iptables
规则-A ts-input -s 100.64.0.0/10 ! -i tailscale0 -j DROP
, 但这种做法却符合RFC 6598
,阿里云使用 CGNAT 中的地址当作内部 DNS 地址的做法不符合规范(AI 结论)
阿里云和 tailscale可以看到非常多人中招...
网上看到几个解决办法
netfilter-mode=off
, 会导致无法访问其它节点的子网服务![]() |
1
mohumohu 15 天前
可是 zerotier 完全不新增任何 iptables 规则
|
![]() |
2
jayeli 15 天前
|
![]() |
3
Shiroka 15 天前
世界是一个巨大的草台班子
|
4
lnbiuc 15 天前
|
![]() |
5
Tink PRO |
6
caomingjun 15 天前 via Android
我把 tailscale 装 docker 里了
|
7
zsh2517 15 天前
|
![]() |
8
zenghx 15 天前
我把 dns 改成了 223.5.5.5
|
9
RobinHuuu 15 天前 via Android
手工加规则就行
|
![]() |
10
realpg PRO 以前帮人调试遇到过一次
内网解析不了域名 不过阿里云这么用应该是不符合预设的用途 但是符合规范 类似合法但不合理那种 |
11
ligolas 15 天前
netfilter-mode=off 不会导致无法访问其他节点的子网,因为 iptables 增加的规则只是为了增加安全性,与这个 CVE-2019-14899 有关
|
12
gam2046 14 天前
@mohumohu #1 但是我遇到过一个奇怪的问题,阿里云用 zerotier 一段时间后,一般是几天,会突发性的连不上任何其他节点,维持几分钟到半小时不等,会自行恢复。
原因不明,猜测也许是大量的 UDP ,导致其认为被攻击了,短暂的进了黑洞 |
13
songtianlun PRO 原来是这个原因吗。。
我的阿里云服务器从某一天开始就一直无法正常 DNS 解析了,发工单排查了半天也没办法,后面干脆放弃了,反正也不怎么需要连外网。原来是跟 tailscalle 冲突了啊。。 |
14
mawerss1 13 天前
遇到了这个问题,官方文档上有给出说明可以看一下:
https://tailscale.com/kb/1023/troubleshooting#selectively-disable-ipv4 官方给的解决方案是选择性的在特定节点上关闭 ipv4, 试了一下确实可以解决这个问题,但是如果你的机器没有 ipv6 的话大概率不能直连了,只能靠中转服务器中转,也不算是治本了 |
15
mawerss1 13 天前
https://tailscale.com/kb/1304/ip-pool
设置 ip-pool 可以解决 虽然还在 beta 中 没问题 |