最果ての地

思えば遠くへ来たもんだ

Tailscale + FunnelでLAN上のサーバーを公開する

Tailscaleを使うようになって神戸、ハノイの自宅に置いてあるサーバーに「いつでも、どこでも」気軽にアクセスできるようになって非常に快適になった。嬉しい!あとは「だれとでも」を実現すれば3つのモットーが達成されるわけだ(笑)

 

今回はTailscaleのFunnelという機能を使ってパブリックIPを持たないマシンをインターネット上に公開する手順をまとめておく。

Tailscaleによって発行されたIPはあくまでも自分のネットワーク内の利用に限られていたが、Funnelを利用するとインターネット上に公開することができてしまう。

Funnelでの公開にはいくつか制約があるのだが、それはこの際受け入れるしかない。
だって、パブリックIPのないサーバーをインターネット上に公開できるのだからそのメリットはちょっとした制約よりもずっと大きいのだから。

どういった制約があるのか箇条書きにしておく。

  • DNS名は自分のtailnetのドメイン名に限られる 
    → Tailnetが準備する中で変更はできるが自分の好きな名前にはできない
  • Funnelを利用して公開するために使用するポートは443, 8443, 10000の3つのみ
  • Funnelを介するトラフィックはバンド幅により制約を受ける。
  • macOS sandboxの制限によりファイル共有、ディレクトリ共有はオープンソースのみに制限される。

制約について理解できたら作業開始!

Tailnet name変更

Tailscaleに登録した直後はTailnet name (=Tailnetドメイン名)は任意の数字とアルファベットが入った覚えにくい名前になっているのでこれを覚えやすい名前に変更しておくことをお勧めします。

Tailnetの管理画面にログイン → DNSと進むと一番最初にTailnet nameというのがありますのでRename tailnetボタンを押せば変更プロセスに入ります。ホストからいくつか候補が提示されますのでその中から自分の好みのものを選びましょう。ランダムに生成されるので気長にポチポチやりながら好きなのが出るまで我慢強く(笑)

次にMagicDNSを有効にします。
これはSSH接続をするときにIP番号ではなくてホスト名で接続できるようにする機能です。
一々IP番号を覚えておけないのでこれは是非やっておきましょう。特に複数のマシンを管理するときには便利なはず。

そしてHTTPS機能も有効にしておきます。
Funnelでの公開はHTTPS接続必須となっていますが、これを有効にしておいて、あとはホスト側でチョイチョイとコマンドを叩くだけで( sudo tailscale cert http://xxxx.xxxxx.xxxx )証明書が発行されて自動でHTTPS接続が確立されます。

ここまでで下準備の完了です。

次に、Funnelを使えるようにするために管理画面のAccess Controlsを開いて下記のように編集していきます。
内容はこちらに詳しく説明されているので一度読んでおいて下さい。

構文に間違いがあるとその箇所を指摘してSaveさせてくれないので頑張ってください(笑)

あとはマシン上で以下のコマンドで設定を終わらせればOKです。

SSL通信の登録

$ tailscale cert casper.ayu-mermaid.ts.net ←URLは適時変更してください

ローカルホストで80番ポートでをhttps化

$ tailscale serve https / http://127.0.0.1:80

443番ポートを使用する場合

$ tailscale funnel 443 on

設定内容を確認

$ tailscale funnel status
https://node-name.tailnet-name.ts.net (Funnel on)
|-- / proxy http://127.0.0.1:80

これでインターネットでの公開ができているはずです。

設定をミスってても大丈夫、以下のコマンドでリセットできます

$ tailscale serve reset

ハノイ自宅のLANにぶら下がっているラスパイで簡単なページを公開してみましたのでアクセスしてみてください。

公開先にジャンプ

公開したすぐはかなり重くてこりゃ使い物にならないかなと思ったのですが、1日経つとなんとか使えるレベルになってました。
お試しあれ。

あんドーナツを探すおっさん(笑)

(香港で)あんドーナツを探すおっさんこと@10gさんtwitter 投稿を見て思わず「食べたい」と呟いてしまった💦

その昔ベトナムはフランス領だったこともあってかシレーっと街角でフランスパンが売られていたり、チキンパテの缶詰が売ってたりしてベーカリー関係は東南アジア地域ではダントツ充実している感があります。でも、揚げたあんドーナツは日系パン屋でしか見かけたことないかな・・・。

自宅から徒歩で10分くらいのところに立派な店構えのベーカリーがあるので足を運んでみました。

お店に入ってすぐのところには美味しそうなパンが並んでいます。1個1万₫くらいかな。これは期待が高まります。

まずお店の奥に進むとそこはクッキー地獄(笑)パンあらへんやないかい!💦

気を取り直して更に反対側に移動するとそれらしきコーナーはありましたが、残念ながら揚げた系は見当たらず (ノД`)シクシク

手ぶらで帰るのも寂しかったので適当に3つ選んでお会計42000₫でした。どれもしっかり美味しかった。

残念ながら心当たりのベーカリーではあんドーナツは発見できずでしたが、これからも気をつけて見ていきたいと思います。
ベトナムで)あんドーナツを探すおっさん爆誕(笑)

COVID-19ワクチン接種 in ハノイ

過去3回COVID-19ワクチンの接種でお世話になったファミリーメディカルプラクティスさんからメールで案内がありました。

7月3日、4日の二日間でブースター接種が無料で受けられるとのこと。どうしよっかな〜?

既に3回接種しているのですが、それは主に日本入国時の必須要件だったことがおおきな理由でした。
2023年4月29日からは入国時のワクチン接種証明は不要になっているので4回目の接種を受けるかどうか悩み中です(笑)

たぶん受けないかな・・・・💦

ハノイ中華会に参加させて頂きました

ひょんな繋がりからハノイ中華会に参加させて頂きました。

仕事は関係なく、なんでも良いので中国と縁のある日本人が一緒にご飯を食べようという趣旨の会だそうです。
私も上海、香港と少しだけ縁があったのでお声掛け頂き参加させて頂きました。

会場は71 Lin Lanをひょいと路地に入ったところにある中華レストランでした。場所は知っていましたがなかなか行く機会が無かったお店で、今回始めて体験できました。

肝心の料理の写真を撮り忘れてしまってますが、そこそこ美味しいですしお値段も納得の範囲。リピ確定です。ただ中華なので一人ではちょっと厳しいかも知れません。

お店の方で日本語めっちゃ上手な方がおられるので日本人だけで訪れても問題ないと思います。オススメです。

ライチの季節

夏の風物詩ライチが果物屋さんに並び始めましたね。
ベトナム語でquả vảiっていうそうです。中国語は荔枝。

早速会社の近所のいつもの果物屋さんに行って買ってきましたよ。

値段はVND13000/kgでした。日本円換算でキロあたり78円くらいかな (・・;)
右の写真で約2キロなので160円くらいです。やっす〜

ライチは美味しいのですが食べ過ぎると体によくないそうです。
一人で上の量を一気に食べるととんでもないことになるかも知れないので気をつけないと💦

https://www.afpbb.com/articles/-/3229706

https://spc.jst.go.jp/news/180603/topic_2_03.html#:~:text=%E8%88%AA%E7%A9%BA%E7%B7%8F%E7%97%85%E9%99%A2%E6%A0%84%E9%A4%8A%E7%A7%91,%E5%BF%83%E6%8B%8D%E3%81%8C%E4%B9%B1%E3%82%8C%E3%80%81%E6%B0%97%E7%B5%B6%E3%81%99%E3%82%8B%E3%80%82

見た目ゴツゴツした外郭は爪でグイット押すと簡単にはずすことができます。外郭と果肉の間には白い甘皮みたいなのがありますがこれは外郭と一緒にツルンとはずすことができます。照明の関係で黄色っぽくなってますが白っぽい半透明でキレイな果肉です。旬はジューシーであの独特な甘さがたまりません。

日曜のランチは買ってきたフルーツ3種をお皿に並べて(笑)