前言
我們在之前的文章中,曾經介紹過 Tailscale 建立私有的中繼伺服器 – DERP,而後來也有介紹過 自定義自架 Tailscale Derp 伺服器的 SSL 憑證,而今天再補上一個自定義服務埠。
寫這篇文章的契機是:在我的有些機器上,某些相同的 Port 早就被占掉了,因此我需要將服務改到其他 Port,並且加註在 Tailscale 的 ACL 文件上。
DERP 服務配置
你可以透過以下參數來停用 HTTP、更改 HTTPS 及 STUN 的服務埠。
-
使用
--http-port設定為-1可以停用 HTTP。 -
透過
-a參數變更 HTTPS 監聽埠,如-a 8080。 -
透過
-stun-port變更 STUN 的服務埠,如-stun-port 8443。
[Unit]
Description=Tailscale DERP Server
After=multi-user.target
[Service]
User=root
Type=simple
ExecStart=/root/go/bin/derper --http-port -1 -a :8080 -stun-port 8443 --hostname derp.example.com
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
接著讓系統重新載入設定檔。
sudo systemctl daemon-reload
重啟 DERP 服務。
sudo systemctl restart derpsvc
ACL 文件配置
接著必須要前往 Tailscale 網站的 Access controls 頁更新你的配置。透過補上 "CanPort80": false 來禁用 HTTP,透過 DERPPort 及 STUNPort 來定義該機器 HTTPS 及 STUN 的服務埠。
{
"derpMap": {
"Regions": {
"900": {
"RegionID": 900,
"RegionCode": "tpe",
"RegionName": "Taipei",
"Nodes": [
{
"Name": "1",
"RegionID": 900,
"HostName": "derp.example.com",
"IPv4": "127.0.0.1",
"IPv6": "::1",
"CanPort80": false,
"DERPPort": 8080,
"STUNPort": 8443,
}
]
}
}
}
}
接著保存後就完成囉!