tailscale自建中继DERP服务器
使用了一段时间tailscale,连接的速度有时候挺慢的,官方提供的relay暂时都在国外,自建中继服务器被称为DERP。
首先需要有个备案的域名,将云服务器IP做个A记录
安装go环境
wget --no-check-certificate https://go.dev/dl/go1.20.4.linux-amd64.tar.gz tar -xzf go1.20.4.linux-amd64.tar.gz -C /usr/local echo 'export GOROOT=/usr/local/go' | tee -a /etc/profile echo 'export GOPATH=/usr/local/gopath' | tee -a /etc/profile echo 'export GOBIN=$GOPATH/bin' | tee -a /etc/profile echo 'export PATH=$PATH:$GOROOT/bin' | tee -a /etc/profile echo 'export PATH=$PATH:$GOPATH/bin' | tee -a /etc/profile source /etc/profile go version
安装DERP
go env -w GOPROXY=https://goproxy.cn,direct go install tailscale.com/cmd/derper@main
申请免费证书放入目录
mkdir /home/admin/certs/
重命名证书为 域名.crt和域名.key
创建DERP服务
tee /etc/systemd/system/derper.service <<'EOF' [Unit] Description=Tailscale DERP Server Requires=tailscaled.service After=tailscaled.service [Service] Type=simple User=root Restart=always RestartSec=5 ExecStart=/usr/local/gopath/bin/derper -c=/root/derper.conf --hostname=域名.cn --verify-clients -a=:7777 -stun -stun-port=8888 -http-port=-1 -certdir=/home/admin/certs/ -certmode=manual [Install] WantedBy=multi-user.target EOF
开启DERP服务
systemctl daemon-reload && systemctl enable derper && systemctl start derper && systemctl status derper
开放端口
firewall-cmd --add-port 7777/tcp --add-port=8888/udp --add-port 41641/udp --zone public firewall-cmd --permanent --add-masquerade systemctl reload firewalld && firewall-cmd --list-all --zone public
浏览器测试连通性
tailscale官网https://login.tailscale.com/admin/acls
Access Controls菜单添加
"derpMap": { "OmitDefaultRegions": true, "Regions": { "900": { "RegionID": 900, "RegionCode": "aliderp", "Nodes": [ { "Name": "aliderp", "RegionID": 900, "HostName": "域名", "IPv4": "IP地址", "DERPPort": 7777, "STUNPort": 8888, }, ], }, }, },
开启客户端验证,并登陆SSO账号
dnf config-manager --add-repo https://pkgs.tailscale.com/stable/centos/9/tailscale.repo dnf install tailscale -y systemctl enable --now tailscaled tailscale up
开启转发
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf sysctl -p /etc/sysctl.conf
其他测试命令
tailscale status tailscale netcheck tailscale ping 100.122.222.222
本站所有文章均可随意转载,转载时请保留原文链接及作者。