< OS 有关 > 阿里云:轻量应用服务器 的使用 :Tailscale 出口节点完备配 ...

打印 上一主题 下一主题

主题 1816|帖子 1816|积分 5448

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
created by Dave on 23Jan.2025
阿里云,昨天刚充值,本日就断网。
在写这个文章时,什么也没做主机挂了。
环境:

出口节点(Exit Node)要求:


  • Linux 体系 (阿里云 vpm.jp)   
  • 启用 IP 转发
  • 设置精确的 NAT 规则
别的非出口节点要求:


  • 能安装 Tailscale 的操作体系
  • 在安装了 Tailscale 的体系中指定 “出口节点” 即可
默认体系有安装 curl 工具。

所需知识:路由

路由:在盘算机网络中负责数据包转发的焦点,它决定了数据从源所在到目标所在的传输路径。在 ISO/OSI 参考模型里的第三层:网络层,进行数据包转发。它是基于 IP 所在工作的,特点:


  • 根据目标(目标所在)IP 决定转发路径
  • 可以跨网段通信
  • 有一个叫 “路由表” 的文件在内存中,体系凭 “路由表” 中设定的规则来转发数据包。

完备设置步骤:

一、安装 Tailscale 

在 Debian/Ubuntu 体系上安装

1)添加 Tailscale 的 GPG 密钥

下令:

  1. curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.noarmor.gpg | sudo tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null
复制代码
表明:

1. curl -fsSL 实验下载:



  • f: 失败时静默
  • s: 静默模式
  • S: 表现错误
  • L: 跟随重定向
2. | sudo tee 

通过管道,将输出传递并写入文件 /usr/share/keyrings/tailscale-archive-keyring.gpg
3. >/dev/null

输出不在终端表现

以上,可以参考官网:

https://pkgs.tailscale.com/stable/

2)添加 Tailscale 的软件源

下令:

  1. curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list
复制代码
3) 更新软件包列表并安装

下令:

  1. sudo apt-get update
  2. sudo apt-get install tailscale
复制代码

二、设置出口节点 (主机 jpn)

在阿里 vpm.jp上:
1) 基本设置

a. 启用 IP 转发,并让体系重新加载内核参数

下令:

  1. echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
  2. sudo sysctl -p
复制代码
b. 验证 IP 转发状态

下令与正常返回:

  1. root@jpn:~# cat /proc/sys/net/ipv4/ip_forward
  2. 1
复制代码

2) 设置 NAT (路由)

要使用的工具是 iptables-persistent, 用于保存和恢复 iptables 规则,确保体系重启后防火墙规则不会丢失。
a. 安装 iptables-persistent

  1. sudo apt install iptables-persistent
复制代码
b. 清除现有规则

  1. sudo iptables -t nat -F ts-postrouting
  2. sudo iptables -t filter -F ts-forward
复制代码
清空 NAT 表中的 ts-postrouting 链儿
清空 filter 表中的 ts-forward 链儿
c. 添加 NAT 规则

  1. sudo iptables -t nat -A ts-postrouting -o eth0 -j MASQUERADE
复制代码
从 tailscale 到外网的流量进行所在伪装
d. 添加转发规则

  1. sudo iptables -t filter -A ts-forward -i tailscale0 -o eth0 -j ACCEPT
  2. sudo iptables -t filter -A ts-forward -i eth0 -o tailscale0 -m state --state
复制代码
允许从 tailscale 接口到外网接口的流量 (单向)
允许已建立毗连的返回流量 (双向)
注: tailscale0  eth0 是主机网口
e. 保存 iptables 规则

  1. sudo netfilter-persistent save
复制代码
永久保存规则,重启后也会生效

3) 启用出口节点

  1. sudo tailscale up
  2. sudo tailscale up --advertise-exit-node
复制代码
启用,设置为出口节点

三、设置客户端节点 (主机 ub3)

1)安装 Tailscale

同上述安装步骤
2)毗连网络、查看网络状态

  1. sudo tailscale up
  2. tailscale status
复制代码
3)使用出口节点

  1. sudo tailscale up --exit-node=jpn --exit-node-allow-lan-access
复制代码
我用的是主机名:jpn ,也可以用 IP 所在。
4) 校验毗连

  1. curl ifconfig.me
复制代码

四、故障排查下令

1) 查抄毗连状态

  1. tailscale status
复制代码
2) 网络接口状态

  1. ip a
复制代码
3) 路由表查看下令

  1. ip route show
复制代码
4)NAT 规则查看下令 (在出口节点)

  1. sudo iptables -t nat -L
复制代码
5) 可能的问题

a. 毗连失败:



  • 查抄防火墙设置
  • 确认 IP 转发状态
  • 验证 NAT 规则
b. 路由有关:



  • 备份当前路由表:
  1. ip route show > route_backup.txt
复制代码


  • 恢复默认路由:
  1. sudo dhclient
复制代码
c.备份 iptables 规则

  1. sudo iptables-save > iptables_backup.txt
复制代码

6)软件更新

  1. sudo apt update
  2. sudo apt install tailscale
复制代码
7)监控

a. 监控网络流量

  1. sudo tcpdump -i tailscale0
复制代码
b.查看毗连日志

  1. sudo journalctl -u tailscaled
复制代码

五、网络优化(实践扩展)

1)使用子网路由

a. 设置 Tailscale 子网路由

在出口节点 jpn 上操作,比如 jpn 有毗连到网段 192.168.0.0./24
  1. sudo tailscale up --advertise-routes=192.168.19.0/24
复制代码
表明:

在出口节点 jpn 上宣告它可以路由到 192.168.0.0/24 网段,允许其他 Tailscale 节点通过此节点访问该子网。 
b. 接受来自出口节点通告的路由

  1. sudo tailscale up --accept-routes
复制代码
表明:

在客户端上接受来自出口节点通告的路由,使客户端可以通过出口节点访问其子网。默认客户端不会自动接受路由,需要启用


2)增强安全性

控制 Tailscale 的网络访问权限

  1. sudo tailscale up --exit-node=jpn --exit-node-allow-lan-access=false
复制代码
表明:

阻止通过出口节点访问当地网络。防止未授权访问 LAN。
这里会使用在 Tailscale 控制台设置的 ACL(访问控制列表),具体见官网。

六、一样平常维护发起(尤其是贸易使用)


  • 定期更新体系和 Tailscale
  • 监控网络性能和毗连状态
  • 维护日志
  • 定期备份设置
  • 使用标签管理设备权限

总结:

之前发小文章有些凌乱,也可能是很久没有写作。这篇具体介绍 Tailscale 的安装设置、出口节点设置、安全和怎样排查故障等内容。
按照文章的设置,可以构建安全、高效的私有网络,机动的路由控制。
假如有网络环境的厘革,发起定期查抄设置、更新体系,并根据实际需求调整网络策略等。
最重要的是:安全性与可用性是划一重要的,在部署时要考虑两者之间的平衡。一个好的定期维护筹划,平时的监控记录是网络稳定运行的关键。

之前写的有关文章:
< OS 有关 > 阿里云:轻量应用服务器 的使用 设置 tailscale 出口_warning: udp gro forwarding is suboptimally config-CSDN博客
< OS 有关 > 阿里云:轻量应用服务器 的使用 安装 Tailscale 后DNS 出错, 修复并替换 apt 数据源_tailscale dns unavailable-CSDN博客
<OS 有关>Ubuntu 24 安装 openssh-server, tailscale+ssh 慢增加-CSDN博客
<QNAP 453D QTS-5.x> 日志记录:利用 tailscale app 让个人的设备在 internet 上,组成私有网络-CSDN博客

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

徐锦洪

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表