macOS バージョン要件未達により、岡持ち Mac Pro (Mid 2010)へGUIベースの tailscale アプリを インストール できない事態に結局、Linux同様にCLIベースのバイナリを公式GitHubに従ってコンパイルと インストール しました。
macOS 10.13にtailscaleアプリは入らない
グラフィックボードが非Metal対応であることから、macOS 10.13からアップグレードできない岡持ちMac Pro Mid 2010(関連記事はこちら)へ、tailscaleをApp Storeからインストールしようとするも、OSバージョン要件に届かず弾かれてしまいました。
macOSへのインストールに関するtailscaleのKBの冒頭で、macOS 10.13の最終版はv1.44.0であるとの記述を発見。
|
1 |
Tailscale v1.44.0 was the last version to support macOS 10.14 and 10.13. |
tailscaleサイトに過去のバージョンのダウンロードリンクは無いので、ウェブアーカイブでtailscaleダウンロードページのアーカイブを検索、残っていたリンクからいくつか古いバージョンのインストーラをダウンロードしてみましたが、いずれも同じ理由で弾かれました。
|
1 2 |
20,864,794 byte Tailscale-1.42.0-macos.zip 21,079,570 byte Tailscale-1.44.0-macos.zip |
tailscaledをコンパイル・インストール
macOSへtailscaleを入れる3つの方法、と題された別のKBによると、ここまでで既に2つの方法は失敗したことになり、残された方法は、 tailscaled を自分でコンパイル、インストールする方法のみ。
コンパイルと言っても、その方法は全てソースが公開されている、公式GitHubページに記載されている手順に従って進めるのみ。
まずはコンパイルに必要なGo言語のインストールから。既に導入済みのhomebrew環境を使い、コマンド一つでインストール。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
MacPro:~ user$ brew install go Warning: You are using macOS 10.13. We (and Apple) do not provide support for this old version. It is expected behaviour that some formulae will fail to build in this old version. It is expected behaviour that Homebrew will be buggy and slow. Do not create any issues about this on Homebrew's GitHub repositories. Do not create any issues even if you think this message is unrelated. Any opened issues will be immediately closed without response. Do not ask for help from Homebrew or its maintainers on social media. You may ask for help in Homebrew's discussions but are unlikely to receive a response. Try to figure out the problem yourself and submit a fix as a pull request. We will review it but may or may not accept it. ==> Fetching go ==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-core/2267547df6248387619277c55ab1fcc929a0c09b/Formula/g/go.rb ########################################################################################################################################## 100.0% ==> Downloading https://storage.googleapis.com/golang/go1.20.14.darwin-amd64.tar.gz ########################################################################################################################################## 100.0% ==> Downloading https://go.dev/dl/go1.22.2.src.tar.gz ==> Downloading from https://dl.google.com/go/go1.22.2.src.tar.gz ########################################################################################################################################## 100.0% ==> ./make.bash ==> /usr/local/Cellar/go/1.22.2/bin/go install std cmd Warning: Cask go was renamed to homebrew/core/go. 🍺 /usr/local/Cellar/go/1.22.2: 12,854 files, 254.2MB, built in 3 minutes 31 seconds ==> Running `brew cleanup go`... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). Removing: /Users/user/Library/Caches/Homebrew/go--gobootstrap--1.20.14.tar.gz... (95.5MB) ==> `brew cleanup` has not been run in the last 30 days, running now... Disable this behaviour by setting HOMEBREW_NO_INSTALL_CLEANUP. Hide these hints with HOMEBREW_NO_ENV_HINTS (see `man brew`). Removing: /Users/user/Library/Caches/Homebrew/ca-certificates--2023-08-22.pem... (216.3KB) Removing: /Users/user/Library/Caches/Homebrew/liblinear--2.47.tar.gz... (555.8KB)Removing: /Users/user/Library/Caches/Homebrew/libssh2--1.11.0.tar.gz... (1MB) Removing: /Users/user/Library/Caches/Homebrew/lua--5.4.6.tar.gz... (354.8KB) Removing: /Users/user/Library/Caches/Homebrew/nmap--7.94.tar.bz2... (10.6MB) Removing: /Users/user/Library/Caches/Homebrew/openssl@3--3.1.2.tar.gz... (14.8MB) Removing: /Users/user/Library/Caches/Homebrew/go_cache... (5,140 files, 533.7MB) Removing: /Users/user/Library/Caches/Homebrew/portable-ruby-2.6.10_1.el_capitan.bottle.tar.gz... (8.7MB) Removing: /Users/user/Library/Caches/Homebrew/api-source/Homebrew/homebrew-core/a38c15afd0959356fb5afd70c8a356957661002b/Formula/ca-certificates.rb... (5.1KB) Removing: /Users/user/Library/Caches/Homebrew/api-source/Homebrew/homebrew-core/a38c15afd0959356fb5afd70c8a356957661002b/Formula/liblinear.rb... (2.7KB) Removing: /Users/user/Library/Caches/Homebrew/api-source/Homebrew/homebrew-core/a38c15afd0959356fb5afd70c8a356957661002b/Formula/libssh2.rb... (2.5KB) Removing: /Users/user/Library/Caches/Homebrew/api-source/Homebrew/homebrew-core/a38c15afd0959356fb5afd70c8a356957661002b/Formula/lua.rb... (5.0KB) Removing: /Users/user/Library/Caches/Homebrew/api-source/Homebrew/homebrew-core/a38c15afd0959356fb5afd70c8a356957661002b/Formula/nmap.rb... (3.3KB) Removing: /Users/user/Library/Caches/Homebrew/api-source/Homebrew/homebrew-core/a38c15afd0959356fb5afd70c8a356957661002b/Formula/openssl@3.rb... (5.9KB) Removing: /Users/user/Library/Logs/Homebrew/liblinear... (3 files, 6.2KB) Removing: /Users/user/Library/Logs/Homebrew/lua... (4 files, 29KB) Removing: /Users/user/Library/Logs/Homebrew/openssl@3... (7 files, 6.1MB) Removing: /Users/user/Library/Logs/Homebrew/ca-certificates... (111B) Removing: /Users/user/Library/Logs/Homebrew/libssh2... (6 files, 182.1KB) Removing: /Users/user/Library/Logs/Homebrew/nmap... (14 files, 5.5MB) |
冒頭でまたmacOSの古さを指摘されたので心配になるも、Go言語は問題無くインストールされていました。
|
1 2 |
MacPro:~ user$ go version go version go1.22.2 darwin/amd64 |
次に、 go コマンドで tailscaled をコンパイルします。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
MacPro:~ user$ go install tailscale.com/cmd/tailscale{,d}@main go: downloading tailscale.com v1.63.0-pre.0.20240407230432-b0fbd85592c8 go: downloading github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 go: downloading github.com/mattn/go-isatty v0.0.20 go: downloading github.com/mitchellh/go-ps v1.0.0 go: downloading golang.org/x/exp v0.0.0-20240119083558-1b970713d09a go: downloading github.com/toqueteos/webbrowser v1.2.0 go: downloading golang.org/x/net v0.20.0 go: downloading github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e go: downloading github.com/peterbourgon/ff/v3 v3.4.0 go: downloading github.com/mattn/go-colorable v0.1.13 go: downloading golang.org/x/sys v0.17.0 go: downloading k8s.io/client-go v0.29.1 go: downloading golang.org/x/time v0.5.0 go: downloading golang.org/x/oauth2 v0.16.0 go: downloading sigs.k8s.io/yaml v1.4.0 go: downloading software.sslmate.com/src/go-pkcs12 v0.4.0 go: downloading go4.org/mem v0.0.0-20220726221520-4f986261bf13 go: downloading github.com/djherbis/times v1.6.0 go: downloading github.com/tailscale/xnet v0.0.0-20240117122442-62b9a7c569f9 go: downloading github.com/tailscale/hujson v0.0.0-20221223112325-20486734a56a go: downloading golang.org/x/term v0.16.0 go: downloading github.com/kortschak/wol v0.0.0-20200729010619-da482cc4850a go: downloading github.com/tailscale/golang-x-crypto v0.0.0-20240108194725-7ce1f622c780 go: downloading go4.org/netipx v0.0.0-20231129151722-fdeea329fbba go: downloading gvisor.dev/gvisor v0.0.0-20240306221502-ee1e1f6070e3 go: downloading github.com/gaissmai/bart v0.4.1 go: downloading golang.org/x/crypto v0.18.0 go: downloading github.com/tailscale/wireguard-go v0.0.0-20231121184858-cc193a0b3272 go: downloading github.com/creack/pty v1.1.21 go: downloading github.com/pkg/sftp v1.13.6 go: downloading github.com/u-root/u-root v0.12.0 go: downloading github.com/gorilla/csrf v1.7.2 go: downloading github.com/tailscale/web-client-prebuilt v0.0.0-20240226180453-5db17b287bf1 go: downloading github.com/google/uuid v1.5.0 go: downloading nhooyr.io/websocket v1.8.10go: downloading github.com/tcnksm/go-httpstat v0.2.0 go: downloading github.com/tailscale/goupnp v1.0.1-0.20210804011211-c64d0f06ea05 go: downloading github.com/fxamacker/cbor/v2 v2.5.0 go: downloading github.com/hdevalence/ed25519consensus v0.2.0 go: downloading golang.org/x/sync v0.6.0 go: downloading github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da go: downloading github.com/jellydator/ttlcache/v3 v3.1.0 go: downloading github.com/tailscale/peercred v0.0.0-20240214030740-b535050b2aa4 go: downloading github.com/klauspost/compress v1.17.4 go: downloading github.com/miekg/dns v1.1.58 go: downloading github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be go: downloading github.com/kr/fs v0.1.0 go: downloading github.com/bits-and-blooms/bitset v1.13.0 go: downloading golang.org/x/text v0.14.0 go: downloading github.com/gorilla/securecookie v1.1.2 go: downloading filippo.io/edwards25519 v1.1.0 go: downloading github.com/x448/float16 v0.8.4 go: downloading github.com/google/btree v1.1.2 |
生成されたバイナリを確認。
|
1 2 3 4 5 6 |
MacPro:~ user$ go env GOPATH /Users/user/go MacPro:~ user$ ls -l $(go env GOPATH)/bin -rwxr-xr-x 1 user staff 15777136 Apr 8 14:23 tailscale -rwxr-xr-x 1 user staff 29063800 Apr 8 14:23 tailscaled |
tailscaled デーモンをシステムへ登録して、常時稼働するようにします。
|
1 2 3 4 5 6 7 8 9 10 11 |
MacPro:~ user$ sudo $HOME/go/bin/tailscaled install-system-daemon MacPro:~ user$ $HOME/go/bin/tailscale status Logged out. MacPro:~ user$ $HOME/go/bin/tailscale version 1.63.0-ERR-BuildInfo track: unstable (dev); frequent updates and bugs are likely go version: go1.22.2 MacPro:~ user$ ls -l /usr/local/bin/tail* -rwxr-xr-x 1 root staff 29063800 Apr 8 14:39 /usr/local/bin/tailscaled |
tailscale upでデバイス接続
tailscale up コマンドの初回接続では、パスが通っていないのでパス含めて実行する必要があります。
|
1 2 3 4 |
MacPro:~ user$ $HOME/go/bin/tailscale up To authenticate, visit: https://login.tailscale.com/a/1e94############ |
認証URLをブラウザで開き直し、tailscaleに登録しているGoogleアカウントでログイン。
Connectボタンを押してMac Proをtailnetに繋げます。
tailscale admin consoleページにMac Proが現れました。
tailscaleコマンドの使い方はLinux版と同じ。 tailscale up したままでシステム再起動すれば、起動後も自動的に接続された状態が維持されます。
このMacProはtailnet上に見える他のサブネットを参照するも、自身の属するローカルサブネットは晒したくないので、以下の仕様で常時接続しています。
|
1 2 3 |
MacPro:~ user$ $(go env GOPATH)/bin/tailscale up --accept-routes または MacPro:~ user$ ~/go/bin/tailscale up --accept-routes |









