< OS 有关 > 阿里云:轻量应用服务器 的使用 :Tailscale 出口节点完备配
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 密钥
下令:
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 的软件源
下令:
curl -fsSL https://pkgs.tailscale.com/stable/ubuntu/jammy.tailscale-keyring.list | sudo tee /etc/apt/sources.list.d/tailscale.list 3) 更新软件包列表并安装
下令:
sudo apt-get update
sudo apt-get install tailscale
二、设置出口节点 (主机 jpn)
在阿里 vpm.jp上:
1) 基本设置
a. 启用 IP 转发,并让体系重新加载内核参数
下令:
echo 'net.ipv4.ip_forward=1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p b. 验证 IP 转发状态
下令与正常返回:
root@jpn:~# cat /proc/sys/net/ipv4/ip_forward
1
2) 设置 NAT (路由)
要使用的工具是 iptables-persistent, 用于保存和恢复 iptables 规则,确保体系重启后防火墙规则不会丢失。
a. 安装 iptables-persistent
sudo apt install iptables-persistent b. 清除现有规则
sudo iptables -t nat -F ts-postrouting
sudo iptables -t filter -F ts-forward 清空 NAT 表中的 ts-postrouting 链儿
清空 filter 表中的 ts-forward 链儿
c. 添加 NAT 规则
sudo iptables -t nat -A ts-postrouting -o eth0 -j MASQUERADE 从 tailscale 到外网的流量进行所在伪装
d. 添加转发规则
sudo iptables -t filter -A ts-forward -i tailscale0 -o eth0 -j ACCEPT
sudo iptables -t filter -A ts-forward -i eth0 -o tailscale0 -m state --state
允许从 tailscale 接口到外网接口的流量 (单向)
允许已建立毗连的返回流量 (双向)
注: tailscale0 eth0 是主机网口
e. 保存 iptables 规则
sudo netfilter-persistent save 永久保存规则,重启后也会生效
3) 启用出口节点
sudo tailscale up
sudo tailscale up --advertise-exit-node 启用,设置为出口节点
三、设置客户端节点 (主机 ub3)
1)安装 Tailscale
同上述安装步骤
2)毗连网络、查看网络状态
sudo tailscale up
tailscale status 3)使用出口节点
sudo tailscale up --exit-node=jpn --exit-node-allow-lan-access 我用的是主机名:jpn ,也可以用 IP 所在。
4) 校验毗连
curl ifconfig.me
四、故障排查下令
1) 查抄毗连状态
tailscale status 2) 网络接口状态
ip a 3) 路由表查看下令
ip route show 4)NAT 规则查看下令 (在出口节点)
sudo iptables -t nat -L 5) 可能的问题
a. 毗连失败:
[*]查抄防火墙设置
[*]确认 IP 转发状态
[*]验证 NAT 规则
b. 路由有关:
[*]备份当前路由表:
ip route show > route_backup.txt
[*]恢复默认路由:
sudo dhclient c.备份 iptables 规则
sudo iptables-save > iptables_backup.txt
6)软件更新
sudo apt update
sudo apt install tailscale 7)监控
a. 监控网络流量
sudo tcpdump -i tailscale0 b.查看毗连日志
sudo journalctl -u tailscaled
五、网络优化(实践扩展)
1)使用子网路由
a. 设置 Tailscale 子网路由
在出口节点 jpn 上操作,比如 jpn 有毗连到网段 192.168.0.0./24
sudo tailscale up --advertise-routes=192.168.19.0/24 表明:
在出口节点 jpn 上宣告它可以路由到 192.168.0.0/24 网段,允许其他 Tailscale 节点通过此节点访问该子网。
b. 接受来自出口节点通告的路由
sudo tailscale up --accept-routes 表明:
在客户端上接受来自出口节点通告的路由,使客户端可以通过出口节点访问其子网。默认客户端不会自动接受路由,需要启用
2)增强安全性
控制 Tailscale 的网络访问权限
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企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]