应用场景:Tailscale的一个节点连接了交换机,交换机下面的设备在不同的vlan下面,并且交换机下面的所有设备不在同一个子网里面例如192.168.101.1、192.168.102.1、192.168.103.1,并且都没有网络。只有vlan1口有网络。但是这个节点设备所连接的口是trunk口,可以和所有的vlan下面的设备连通,我怎么配置子网才能使Tailscale下面的其他节点都能访问到交换机下面的所有设备。

 

爬记录:

要使Tailscale网络中的其他节点能够访问通过Trunk端口连接到交换机并且位于不同VLAN和子网(如192.168.101.1192.168.102.1192.168.103.1)的设备,即使这些设备没有直接的网络连接,你可以将Tailscale节点配置为跨VLAN的路由器。以下是详细的配置步骤:

配置步骤

  1. 在Tailscale节点上配置VLAN接口
    • 在Tailscale节点上,为每个VLAN创建一个虚拟接口,并为每个接口分配一个IP地址。这允许Tailscale节点与这些VLAN中的设备进行通信。假设Tailscale节点的物理接口是eth0,你可以这样配置(以Linux为例):
      sudo ip link add link eth0 name eth0.101 type vlan id 101
      sudo ip addr add 192.168.101.2/24 dev eth0.101
      sudo ip link set up dev eth0.101

      sudo ip link add link eth0 name eth0.102 type vlan id 102
      sudo ip addr add 192.168.102.2/24 dev eth0.102
      sudo ip link set up dev eth0.102

      sudo ip link add link eth0 name eth0.103 type vlan id 103
      sudo ip addr add 192.168.103.2/24 dev eth0.103
      sudo ip link set up dev eth0.103

    • 这将为VLAN 101、102、103分别创建虚拟接口并分配IP地址,使Tailscale节点可以与每个VLAN中的设备通信。
  2. 启用 IP 转发
    • 为了在不同VLAN和子网之间转发流量,你需要在Tailscale节点上启用IP转发:
      sudo sysctl -w net.ipv4.ip_forward=1
    • 为了使设置在系统重启后依然有效,编辑/etc/sysctl.conf文件并添加以下行:
      net.ipv4.ip_forward=1
  3. 配置Tailscale的子网广告
    • 在Tailscale节点上,通过tailscale up命令广告这些子网,使Tailscale网络中的其他节点能够访问这些子网。例如:
      sudo tailscale up --advertise-routes=192.168.101.0/24,192.168.102.0/24,192.168.103.0/24
    • 这将向Tailscale网络中的其他节点宣传这些子网,从而使它们能够通过这个Tailscale节点访问这些VLAN中的设备。
  4. 设置默认路由(如果需要)
    • 如果VLAN1是有网络连接的,你可以设置Tailscale节点的默认路由通过VLAN1的网关,这样Tailscale节点可以通过VLAN1访问外部网络:
      sudo ip route add default via <VLAN1网关IP> dev eth0.1
    • 确保你替换<VLAN1网关IP>为实际的VLAN1网关地址。
  5. 配置交换机的VLAN和Trunk
    • 确保交换机上的VLAN配置正确,Trunk端口允许所有需要的VLAN通过。
    • 如果交换机的VLAN配置没有问题,并且Tailscale节点可以访问各VLAN中的设备,你不需要对交换机进行额外的配置。
  6. 测试连通性
    • 从Tailscale网络中的其他节点,尝试ping或访问交换机下各VLAN子网中的设备,确保它们可以通过Tailscale节点连通。

注意事项

  • 防火墙设置:确保Tailscale节点和交换机上没有防火墙阻止这些VLAN之间的流量。
  • 静态路由:如果交换机或其他设备上需要了解如何通过Tailscale节点访问其他子网,你可能需要在这些设备上配置静态路由。

通过以上配置,Tailscale网络中的其他节点应该可以通过连接到Trunk端口的Tailscale节点访问交换机下的所有设备,无论它们在哪个VLAN或子网中,即使它们本身没有网络连接。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注