到 AWS VPC 的子网路由似乎不起作用
Subnet routing to AWS VPC doen't appear to work
我正在尝试将 Tailscale 节点设置为我的 AWS VPC 的中继。我已经多次按照 here 中的说明进行操作。不幸的是,我似乎无法通过 ssh 连接到第二个(非 Tailscale)实例。我的过程,简要说明:
使用 VPC 向导设置 AWS VPC
在 public 子网上的 VPC 上创建实例 tailscale-relay
,启用 SSH,并使用我的私钥。为其分配一个名为 sg-tailscale-relay
的新安全组
ssh 到 tailscale-relay
,安装 tailscale
启用 IP 转发(根据文档 here)
sudo tailscale up --advertise-routes=10.0.0.0/24
,其中 10.0.0.0/24
是私有子网中指定的范围(等同于 public 子网中,见底部照片)
在 Tailscale 控制台中为此节点禁用密钥过期并授权子网路由
在其安全组中关闭对 tailscale-relay
的 ssh 访问,然后验证我是否可以使用它的 Tailscale IP 通过 ssh 访问它(烦人的是,仍然需要我的 .pem
密钥)
创建另一个实例 test-tailscale
,将其分配给同一个 VPC,但分配给私有子网。不要给它一个 public IP。允许来自 sg-tailscale-relay
子网的所有入站流量,但不允许来自其他任何地方的流量
然后,从我的本地计算机,SSH 到 test-tailscale
的私有 IP 超时。
我可以从 tailscale-relay
ping
test-tailscale
(显然 tailscale ping
不行)
什么给了?我不明白我做错了什么。
- 奖励:我可以在没有 私钥的情况下 ssh 吗?
private subnet route table
一种可能性是在您用来发送 ping 的 non-AWS Tailscale 节点中,如果它是 Linux 系统。 Linux 是开发的第一个客户端,也是最常用作子网路由器的客户端。
所有其他客户端默认接受子网路由,但 Linux 默认不接受,需要指定 tailscale up --accept-routes=true
。
我正在尝试将 Tailscale 节点设置为我的 AWS VPC 的中继。我已经多次按照 here 中的说明进行操作。不幸的是,我似乎无法通过 ssh 连接到第二个(非 Tailscale)实例。我的过程,简要说明:
使用 VPC 向导设置 AWS VPC
在 public 子网上的 VPC 上创建实例
的新安全组tailscale-relay
,启用 SSH,并使用我的私钥。为其分配一个名为sg-tailscale-relay
ssh 到
tailscale-relay
,安装 tailscale启用 IP 转发(根据文档 here)
sudo tailscale up --advertise-routes=10.0.0.0/24
,其中10.0.0.0/24
是私有子网中指定的范围(等同于 public 子网中,见底部照片)在 Tailscale 控制台中为此节点禁用密钥过期并授权子网路由
在其安全组中关闭对
tailscale-relay
的 ssh 访问,然后验证我是否可以使用它的 Tailscale IP 通过 ssh 访问它(烦人的是,仍然需要我的.pem
密钥)创建另一个实例
test-tailscale
,将其分配给同一个 VPC,但分配给私有子网。不要给它一个 public IP。允许来自sg-tailscale-relay
子网的所有入站流量,但不允许来自其他任何地方的流量然后,从我的本地计算机,SSH 到
test-tailscale
的私有 IP 超时。我可以从
tailscale-relay
ping
test-tailscale
(显然tailscale ping
不行)
什么给了?我不明白我做错了什么。
- 奖励:我可以在没有 私钥的情况下 ssh 吗?
private subnet route table
一种可能性是在您用来发送 ping 的 non-AWS Tailscale 节点中,如果它是 Linux 系统。 Linux 是开发的第一个客户端,也是最常用作子网路由器的客户端。
所有其他客户端默认接受子网路由,但 Linux 默认不接受,需要指定 tailscale up --accept-routes=true
。