ITADN
cterence/tailout
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

CI Go Report Card

tailout

tailout 是一款命令行工具,可用于在您的 tailnet 中快速创建基于云的出口节点。

demo gif

安装

要安装 tailout,您可以从 releases page] 下载最新版本。

您也可以使用 go install 命令:

go install github.com/cterence/tailout@latest

先决条件

要使用tailout,您需要安装以下软件:

目前,tailout仅支持 AWS 作为云服务提供商。未来将会添加对其他云服务提供商的支持。

设置

进入您的 Tailscale API 密钥设置,然后:

  • tailout创建一个 API 密钥
  • ~/.tailout/config.yaml中创建一个包含以下内容的文件:
    tailscale:
      api_key: tskey-api-xxx-xxx
      tailnet: <your tailnet name>
  • 运行tailout init,查看将对策略进行的更改并予以确认
  • 返回到您的 Tailscale API 密钥设置
  • 创建一个具有以下特性的认证密钥:
    • 可重复使用
    • 临时有效
    • 会自动为每台设备添加新创建的tag:tailout标签
  • 将该认证密钥添加到配置文件中

接下来,您还需要设置 AWS 凭证。tailout 会自动查找默认凭证,例如用于访问密钥的环境变量或 AWS 配置文件。

若要轻松检查凭证是否设置正确,您可以使用aws sts get-caller-identity命令。

使用方法

在您的 tailnet 中创建一个出口节点:

tailout create

连接到您的出口节点:

tailout connect

获取您的出口节点状态:

tailout status

断开与出口节点的连接:

tailout disconnect

删除您的出口节点:

tailout stop

配置

tailout 会在以下路径中查找配置文件:

  • /etc/tailout/config.{yml,yaml,hcl,json,toml}
  • $HOME/.tailout/config.{yml,yaml,hcl,json,toml}

例如,您可以将此内容放在/etc/tailout/config.yml中:

tailscale:
  api_key: tskey-api-xxx-xxx
  auth_key: tskey-auth-xxx-xxx
  tailnet: <your tailnet name>
region: eu-west-3
create:
  shutdown: 15m

您可以将上述任意设置指定为以 TAILOUT_ 为前缀的命令行参数或环境变量。

例如,要指定 Tailscale API 密钥,您可以使用 --tailscale-api-key 参数或 TAILOUT_TAILSCALE_API_KEY 环境变量。