「VyOS と Tailscale で高速・冗長化された VPN を作る方法」の版間の差分

提供: hkatou_Lab
ナビゲーションに移動 検索に移動
26行目: 26行目:
  
 
タグ Vlan 対応 L3 スイッチ
 
タグ Vlan 対応 L3 スイッチ
 +
 +
== 論理構成例 ==
 +
[[ファイル:Tailscale VyOS 01.png|フレームなし|800x800ピクセル]]
 +
 +
West01,02 , East01,02 : VyOS 1.4
 +
 +
West_vSwitch , East_vSwitch : ESXi vSwitch
 +
 +
West_PC01 , East_PC01 : LAN ホスト
 +
 +
=== ポイント ===
 +
BGP は Tailscale の 100.64.x.x/32 でピアを張らず、広報する集約ルートから切り出したサブネットを使用し、Loopback (以下 Lo) インターフェースで BGP セッションを張る
 +
 +
* 100.64.x.x/32 で張ると、広報する内部ネットワークが通信できない場合にも BGP ピアを張り続けてしまう
 +
** 例) Tailscale で同一サブネットを 2 つのノードで advertise-routes したとき、片方のノードで集約ルートが通信不可にる
 +
* BGP ピアの宛先 Lo 宛 Static Route を interface tailscale0 に向ける + ebgp-multihop 2 を設定
 +
* Lo のルート交換に OSPF を試してみたが、動作しなかった
  
 
== 構築手順 ==
 
== 構築手順 ==
71行目: 88行目:
  
  
== TIPS ==
+
== 冗長切替のポイント ==
 +
BGP ピア Down 時は、わたり eth2 の OSPF + iBGP で迂回するか、下位 IGP に対抗拠点宛のルート広報をやめて、下位側で迂回させる
 +
 
 +
わたりレスとする場合は、下位 IGP Down 時に集約ルートの広報をやめる
 +
 
 +
== Tailscale の TIPS ==
 
tailscale の subnet router は、有効化時に VyOS の動作に影響がある
 
tailscale の subnet router は、有効化時に VyOS の動作に影響がある
  
77行目: 99行目:
 
** subnet router 冗長化は有料プランのため、Free プランだとこの動作となる模様
 
** subnet router 冗長化は有料プランのため、Free プランだとこの動作となる模様
 
** LAN 側の OSPF も止まる
 
** LAN 側の OSPF も止まる
 +
  
 
== リファレンス ==
 
== リファレンス ==

2022年4月25日 (月) 11:48時点における版

目的・メリット

IPsec VPN を超える速度で、拠点間通信を暗号化できる

  • Tailscale : フレッツ IPoE <-> Nuro で 125Mbps を確認
  • IPsec : フレッツ PPPoE <-> Nuro では 50Mbps 程度

ダイナミック ルーティングで、拠点間通信を冗長化できる

固定・動的グローバル IP が必要ない

  • IPsec は、少なくとも片方にグローバル IP が必要
  • Tailscale は両拠点とも NAT 配下で OK

リモートアクセス VPN も同時に構築可能

必要なもの

x86 サーバ x2

タグ Vlan 対応 L2 スイッチ

あると良いもの

x86 サーバ x4

  • 2 拠点に 2 台ずつ設置して、物理的にも冗長化させる

タグ Vlan 対応 L3 スイッチ

論理構成例

Tailscale VyOS 01.png

West01,02 , East01,02 : VyOS 1.4

West_vSwitch , East_vSwitch : ESXi vSwitch

West_PC01 , East_PC01 : LAN ホスト

ポイント

BGP は Tailscale の 100.64.x.x/32 でピアを張らず、広報する集約ルートから切り出したサブネットを使用し、Loopback (以下 Lo) インターフェースで BGP セッションを張る

  • 100.64.x.x/32 で張ると、広報する内部ネットワークが通信できない場合にも BGP ピアを張り続けてしまう
    • 例) Tailscale で同一サブネットを 2 つのノードで advertise-routes したとき、片方のノードで集約ルートが通信不可にる
  • BGP ピアの宛先 Lo 宛 Static Route を interface tailscale0 に向ける + ebgp-multihop 2 を設定
  • Lo のルート交換に OSPF を試してみたが、動作しなかった

構築手順

Tailscale のアカウントを作成する

  • 冗長化なし : 1 つ
  • 冗長化あり : 2 つ
    • アカウントが 1 つ + Free プランの場合、tailscale subnet router は同じプレフィックスを 1 台しか広報できない

VyOS をハイパーバイザにインストール

  • WAN 側ポートグループに DHCP や PPPoE などの Vlan を割り当て、eth4 にアサイン
  • LAN 側ポートグループにホストや L3SW の Vlan を割り当て、eth0 にアサイン
  • VyOS の CD-ROM をマウントして起動、install image で VM の HDD へインストール

VyOS をインターネットに接続する設定を行う

VyOS に Tailscale をインストールする

  • VyOS 1.4 の場合、ベースとなる Linux[1] Debian 11 Bullseye の手順を使用する
  • VyOS の CLI から、直接 bash shell のコマンドを投入可能
  • これはインストール直後に行ったほうが良い
    • VyOS 設定後に tailscale をインストールすると、VyOS が正常に動作しなくなる場合があった

VyOS を再起動

VyOS で WAN 側ルーティングを設定する

  • PPPoE や DHCP などでインターネットに接続し、tailscale を動作可能にする

VyOS で tailscale を起動する

VyOS で WAN 側 VPN にルーティングを設定する

  • 冗長化しない場合は、スタティックルーティングで OK
  • 冗長化する場合は、BGP でダイナミックルーティングさせる

VyOS で LAN 側にルーティングを設定する

  • ホストを直接収容する場合 : VRRP で冗長化する
  • LAN 側に L3 スイッチがある場合 : OSPF / BGP で冗長化する


冗長切替のポイント

BGP ピア Down 時は、わたり eth2 の OSPF + iBGP で迂回するか、下位 IGP に対抗拠点宛のルート広報をやめて、下位側で迂回させる

わたりレスとする場合は、下位 IGP Down 時に集約ルートの広報をやめる

Tailscale の TIPS

tailscale の subnet router は、有効化時に VyOS の動作に影響がある

  • 2 台のルータで同じプレフィックスを advetise-routes すると、片方は通信できない
    • subnet router 冗長化は有料プランのため、Free プランだとこの動作となる模様
    • LAN 側の OSPF も止まる


リファレンス

100台まで無料のVPNサービス「tailscale」、リンクだけでマシンのシェアも可能!?

引用

  1. 2021-06-25 T3641 (feature): Upgrade base system from Debian Buster -> Debian Bullseye