Upgrade K3s and infrastructure with selective DNS relay
这个提交包含在:
1 父节点
9d43fbf0b0
当前提交
161114d7ec
24 个文件已更改
+360
-19
没有与搜索条件相匹配的文件
+6
-6
@@ -120,10 +120,10 @@ kubectl taint nodes tca node-role.kubernetes.io/master:NoSchedule
|
||||
|
||||
### 节点网络优化
|
||||
|
||||
可以在需要加速的节点屏蔽目标ip 比如47.79.16.80 让tailscale强制走drep服务器进行加速.
|
||||
在 `inventory/group_vars/all.yml` 的 `tailscale_control_plane_relay_peers` 中填写差链路节点的公网 DNS 名称(例如 `tthk.node.dev.cm`),然后执行 `ansible-playbook playbooks/site.yml --tags control-plane-relay`。DNS 必须直接解析到节点公网地址,不能经过 CDN 代理。
|
||||
|
||||
```shell
|
||||
iptables -A OUTPUT -p udp --dport 41641 -d 47.79.16.80 -j DROP && \
|
||||
ip6tables -A OUTPUT -p udp --dport 41641 -d 240b:4001:278:8402:0:3a3d:b8a5:3975 -j DROP && \
|
||||
ip6tables -A OUTPUT -p udp --dport 41641 -d 2402:4e00:1420:1700:2c34:8fa6:b6ba::/112 -j DROP
|
||||
```
|
||||
规则仅部署到 master:拒绝这些对端到 Tailscale UDP 41641 的直连探测,使其与控制平面的连接回落到中继。其他节点之间仍按 Tailscale 正常规则选择直连;粒度为对端节点,不能仅针对解密后的 TCP 6443。不要使用节点级强制 DERP 环境变量。
|
||||
|
||||
规则由独立 nftables 表和 systemd 服务持久化,不保存或清空 Kubernetes/Tailscale 的动态规则。timer 每 5 分钟重新解析全部 A/AAAA 地址;解析或规则校验失败时保留已有规则。同一公网 NAT 下的节点会共同受该地址规则影响;DNS 未列出的其他公网或内网直连地址不在限制范围内。清空名单并重跑即可取消限制。
|
||||
|
||||
Tailscale 1.102.3 没有受支持的按 peer 强制 DERP 设置:ACL/grants 控制访问权限,`via` 选择出口节点、子网路由器或 app connector;Peer Relay 的授权也只允许在直连不可用时使用中继。`nodeAttrs` 中的 `only-tcp-443` 和调试变量 `TS_DEBUG_ALWAYS_USE_DERP`、`TS_DEBUG_NEVER_DIRECT_UDP` 都作用于整个节点,不能限定到控制平面。参考 [grants 路由说明](https://tailscale.com/docs/reference/syntax/grants#routing-specifications)、[Peer Relay](https://tailscale.com/docs/features/peer-relay)、[节点属性源码](https://github.com/tailscale/tailscale/blob/v1.102.3/tailcfg/tailcfg.go) 和 [调试开关源码](https://github.com/tailscale/tailscale/blob/v1.102.3/wgengine/magicsock/debugknobs.go)。
|
||||
在新议题中引用
屏蔽一个用户