tailscale

Tailscaleと独自ドメインでVPN内の名前解決をより便利にする

February 23, 2021
tailscale, network

QNAP NASにTailscaleをインストールしてVPN接続できるようにするで解説したように、とても便利なTailscaleには、Magic DNSというパブリックベータの機能があり、これを利用するとVPNで名前解決によってそれぞれのマシンへアクセスさせることもできます。 VPNで名前解決が利用できると、IPアドレスよりも覚えやすい上に、もしIPアドレスが変更されても影響がなくなるので、大変便利な機能です。 このMagic DNSの機能を利用して、更に色々とできないかを模索してみました。 CNAMEによる独自ドメインの利用 # まず最初に思いついたは、CNAMEによる独自ドメインの利用で、イメージとしてはこんな感じです。 パブリックDNSを利用するとドメイン名は一般公開されますが、VPNに接続しないかぎり各端末へのアクセスはできません。そのため、公開して問題ない名前であれば、パブリックDNSを利用しても問題ないと言えます。 TailscaleのMagic DNSで各マシンに割り当てられるドメイン名は、次のようなフォーマットになっています。 <マシン名>.<ドメイン>.beta.tailscale.net 「ドメイン」部分は、無料プランであればログイン認証に利用しているメールアドレスになります。もちろん、これでも覚えられないわけではないのですが、CNAMEを使えば独自ドメインを利用してアクセスできるのではないかと思い試してみました。 具体的にはDNSに次のようなCNAMEレコードを追加してみました。 NAME TYPE VALUE mbp-2019.vpn.tomoya.dev. CNAME mbp-2019.tomoya-ton.gmail.com.beta.tailscale.net. DNSの伝搬を待ってから、確認してみると次のような応答が返ってきました。 $ dog mbp-2019.vpn.tomoya.dev CNAME CNAME mbp-2019.vpn.tomoya.dev. 1h00m00s "mbp-2019.tomoya-ton.gmail.com.beta.tailscale.net." ちなみに、dogコマンドはRustで書かれたdigライクなDNSクライアントです。 ogham/dog: Command-line DNS client DNSが伝搬していることを確認できたら他のマシンから独自ドメインを利用してアクセスできるかを試してみました。 macOSにVNCでログインする # macOSは標準でVNCによるログインをサポートしています。Tailscale+独自ドメインを使って、自宅にあるMacBookに、外部ネットワークのiPhoneからVPCでログインできるかを試してみます。 iPhoneのWiFiをオフにして、VNC ViewerのAddress BookからAddressに独自ドメインを入力してログインしてみます。 Tailscale VPNに接続するとログインされ、接続を切るとログインできないことを確認しました。 Windowsにリモートデスクトップでログインする # Windows 10 Proであればリモートデスクトップが使えます。こちらもTailscale+独自ドメインでログインできるか試してみます。 再びiPhoneでWiFiをオフにして、RD Clientから独自ドメインを入力してログインしてみます。 Tailscale VPNに接続するとログインされ、接続を切るとログインできないことを確認しました。 WindowsにSSHでログインする # 自宅のWindowsマシンはSSHでログインできるようにしているので、こちらも試してみましょう。 MacBookをiPhoneでテザリングしてSSH接続を試してみます。 # Tailscale VPNに接続済み $ ssh tomoya@minipc-2020.vpn.tomoya.dev Windows PowerShell Copyright (C) Microsoft Corporation. ...

QNAP NASにTailscaleをインストールしてVPN接続できるようにする

February 14, 2021
nas, tailscale, network

先日購入したQNAP NASのTS-453Dですが、やはり外部ネットワークからアクセスする手段を確保しておきたいところです。 一般的にQNAP NASを外部から接続するには、QNAP NASの中でVPNサーバーを立ち上げてVPN接続することが多いと思いますが、我が家では現在Tailscaleを使って、Windowsマシンに接続したりしており、QNAPもできればTailscaleを使ったVPNで接続できればと考えました。 調べたところ、自分でTailscaleをビルドすればインストール可能だということが分かったので早速試してみました。 Tailscaleのqpkgをビルドする # QNAP NASのQTS OSにアプリをインストールするには、qpkgというパッケージを作成する必要があるらしいのですが、ivokub/tailscale-qpkgというDockerを使ったTailscale QPKG builderがあり、これを利用すれば簡単にビルドできました。 ビルド方法はリポジトリをクローンして、make out/pkgコマンドを実行するだけです。これだけでビルド環境の構築からパッケージのビルドまですべて行ってくれます。 $ make out/pkg # パッケージのビルド(要Docker) docker build -f build/Dockerfile.qpkg -t qdk:latest build/ Sending build context to Docker daemon 7.68kB Step 1/6 : FROM ubuntu:18.04 (中略) Creating archive with data files for arm_64... Creating archive with control files... Creating QPKG package... $ ls -l ./out/pkg # ビルドされたパッケージファイルの確認 .rwxrwxrwx 10M tomoya 13 2 0:01 Tailscale_v0.97.0_arm-x19.qpkg .rwxrwxrwx 74 tomoya 13 2 0:01 Tailscale_v0. ...