ピボット旅行2026-27『il vento d’oro』

はじめに

このタイトルを聞いて、ピンとくる方は多いと思います。

アニメ『ジョジョの奇妙な冒険 黄金の風』、そのイタリア語タイトルが『Vento Aureo』。そして『il vento d'oro』といえば、敵へのトドメで流れる、いわゆる「処刑用BGM」として知られるあの曲です。

MLBオールスターでも大谷翔平選手が入場曲としてリクエストしたことで話題になりました。そんな曲が、今回のエントリーの鍵となります。

……鍵というよりは、契機と呼んだ方が正確でしょうか。なにしろ、今回立ち向かう相手は敵スタンド使いではありません。自分自身が溜め込んだ、ある種の負債です。

記録負債という言葉

筆者には、日課と呼べるものがいくつかあります。

  • 毎日のWordPress公開
  • ほぼ日手帳への記録
  • ZENタイルの記録

こう並べると、いかにも毎日きっちりと記録をこなしているように見えるかもしれません。しかし、実態は少し違います。

大事なのは、必ずしもその日のうちに全部を終わらせることではありません。最終的に帳尻が合えばいい、というのが筆者のスタンスです。記録を溜めておいて、後からまとめて処理することもあります。

その結果として発生するのが、記録負債。記録するべき事柄がなくなるわけではありません。単に未来の自分へ仕事を先送りしているだけです。

そして、未来の自分は大抵、別のことをしています。こうして発生した負債を返済するため、筆者は定期的に時間を設けています。

お金の記録は、ライフログである

今回の返済対象は、旅行中のお金の記録です。宿に戻ったら、まずは大事な記帳作業が待っています。お金といっても、ここで記録するのは入出金です。

お金の動きは、単なる家計簿の数字ではなく、自分がどのように生活していたかを物語るライフログでもあります。

  • 臨時収入。めったにありません。
  • 衝動買い。こちらは、とてもよくあります。
  • 急遽、病院に行くことになった記録。

普段の生活で何にお金を使い、何が予定外に発生し、どこで判断を変えたのか。そうした出来事が、金額とともに残ります。下手に感情だけを記録するよりも、よほど生々しいものが見えてくることもあります。

筆者がこの記録に使っているのが、セルフホストしている家計管理アプリのFirefly IIIです。

比較的シンプルな操作で記帳でき、検索も速い。口座単位で管理できるため、現金で支払ったのか、カードを使ったのかといった違いも追跡できます。今回の旅行では、これが実に重要な意味を持ちます。

  • どこで、何に、いくら使ったのか。
  • それだけでなく、いつ使ったのか。

記録を積み上げていけば、旅行中のお金の動きを完全に物語る指標になります。 ……問題は、その物語に登場する数字を、自分自身で支払っていることです。

自分の血液が流出する瞬間

旅行中の出費を記録するということは、レシートや領収証を確認しながら、自分が使った金額を改めて直視するということです。言い換えなくても:お金という自分の血液が流出した事実を、わざわざ自分の手で再確認する作業でもあります。

精神にくる作業です。一泊や二泊程度の旅行であれば、帰宅してからまとめて記録しても何とかなります。しかし、三泊ともなると話が変わります。

レシートも領収証も増えます。記録する項目も増えます。何より、時間が経過するほど「これは何の支払いだったか」を思い出す負担が増していきます。

どこかで、途中で、やらなくてはいけません。しかし、やりたくない。

この二つは、何の矛盾もなく両立します。

そして、両方やらなくっちゃあいけないのが辛いところです。

覚悟はいいか? 俺はできてる

それならば、なぜ朝一番でやらなかったのでしょうか。

旅行記を書いているときには、筆者はしばしば「自動書記」とでも呼ぶべき状態に入ります。記憶が新鮮なうちに、思い出したことを勢いのまま文章へ変換していくのです。

ならば、朝のうちに記帳も済ませてしまえばよかった。ところが、お金の記録は勝手が違います。

旅行記ならば、多少の感情の揺れや記憶の細部が前後したところで、文章としての勢いを優先できます。金額はそうはいきません。

  • レシートに書かれた金額と入力した金額が一致するか。
  • 現金で払ったのか、カードで払ったのか。
  • 記録した取引に抜けがないか。

起き抜けの頭で、これらを正確に突き合わせるのは無理があります。自動書記の勢いだけでは乗り切れない。かといって、先延ばしにすれば負債が膨らんでいく。

そこで必要になるのが、作業を始めるためのスイッチです。

「覚悟はいいか? 俺はできてる」

ここで選ばれたのが、『il vento d'oro』でした。

ミュージックスタート。

トラベラーズノート、マスキングテープ、そしてFirefly III

曲を流しながら、レシートと領収証を一気にまとめていきます。

この作業で役に立ったのが、前回の記事でも登場したトラベラーズノートです。レシートを貼り付け、必要に応じて簡単なメモを残し、それを確認しながらFirefly IIIへ記帳していく。

単にレシートを保管するだけではありません。旅先での支出を振り返り、記録と記憶を結びつけるための作業台として機能してくれました。そして、ここでもう一つ、思わぬ援軍が登場します。

マスキングテープです。

今回、輪行を諦めたことで、当初の予定とは少し違う荷物を携行することになりました。その中に入っていたマスキングテープ群が、ここで役に立ったのです。

レシートを貼り付け、整理し、必要な情報を残す。旅先での記録という観点では、非常に相性のよい組み合わせでした。もっとも、これらを持ってこなかったとしても、筆者はおそらくロフトでほぼ日手帳と一緒に買っていたでしょう。

必要な道具がなければ、現地調達すればいい。旅先での買い物には、そういう側面もあります。

……そして、そうやって増えていく出費もまた、いずれFirefly IIIに記録されるわけです。

無駄無駄無駄ラッシュ、そして17時

『il vento d'oro』の勢いを借りて、次々とレシートを処理していきます。金額を確認し、支払い方法を確認し、取引を登録する。

無駄無駄無駄無駄無駄無駄無駄無駄ッ!

もちろん、ここで言う「無駄」は、記帳作業そのものを指しているわけではありません。あくまで、積み上がった消費金額に対する感想です。

曲の勢いに乗って、記録負債を一気に返済していきます。

そして、作業開始から約一時間。

ついに、旅行中の支出記録が完成しました。

これで、どこで、何に、いくら使ったのかを振り返るための記録が揃いました。レシートも整理され、Firefly IIIへの入力も完了。先送りにしていた仕事が、ようやく片付きました。

そして時計を見ると、17時。

「つけの…… 領収証だぜ」

と言いながらの次の出費へ向かうため、財布を持って宿を後にしました。

...To Be Continued

ピボット旅行2026-断章『自分へのマウント』

はじめに

この旅行の0日目、つまりフェリーに乗った日に、トラベラーズノートを購入しました。

そして、「あるのがいけない!」でお茶を買っても、高松商店街の探索は続きます。

ルピシアからそう遠くないところにロフトがある。せっかくだから行ってみよう。そうして立ち寄った店内で、筆者はほぼ日手帳を見つけました。翌年分のアベック版です。

そこで、ふと思ったわけです。

「これ、旅先で買うの?」

いや、旅先だから買うのです。トラベラーズノートに続いて、ほぼ日手帳まで旅先で購入する。今回は、そんなお話です。

未来の自分にマウントを取る

筆者は2021年1月から、ほぼ日手帳の全日付を埋め続けています。

毎日欠かさず書いているわけではありません。ある程度たまったところでまとめて消化する、いわば積み残しの一括処理方式です。それでも、日付に空白を残さず続けていることには変わりありません。

そんな性分ですから、毎年の手帳購入は、いつしか楽しみではなくなっていました。

翌年版の発売に合わせて購入する。毎年決まった時期に発生する、避けては通れない定例作業です。たとえるなら、サブスクリプションの更新でしょうか。必要なのはわかっている。やらなければ困る。しかし、いざその時期が来ると、なんとなく面倒くさい。

筆者にとって、ほぼ日手帳の購入はそんな作業の筆頭になっていました。しかし、高松のロフトで商品を眺めているうちに、考えが変わりました。

これ、未来の自分にどや顔を決められるのでは?毎年、翌年のほぼ日手帳が発売されるたびに、筆者はこう考えることができます。

  • 「2026年の俺は、旅先で新しいものを買ったぞ?」
  • 「お前はどうなんだ?」
  • 「その時の自分に負けていいのか?」

……これは強い。毎年の手帳購入という、どうしても発生するイベント。そのたびに、過去の自分から挑戦状を突きつけられるわけです。

しかも、相手は自分自身。勝ち負けを決める審判も自分自身です。いくらでも言い訳はできますが、いくらでも言い返されます。

これほど面倒で、これほど長続きしそうな仕掛けもありません。

ほぼ日以外の選択肢

とはいえ、今回の買い物は、ほぼ日手帳から別の手帳へ乗り換えようという話ではありません。

筆者が当初考えていたのは、ほぼ日以外にも、ある程度規格化されていて、商品としての姿が明確で、さらに自分好みにカスタマイズできる手帳を持つことでした。

もうひとつ、忘れてはいけない条件があります。母が作ってくれた、特製の手帳ポーチです。これがある以上、手帳だけを別のものに替えれば済むというわけにはいきません。今さら、このポーチを使わない選択肢は端っからありません。

今回は、翌年分のほぼ日手帳アベック版を購入しました。ついでに、カスタマイズ用のパーツも。

いつもの手帳を、いつもとは違う場所で買う。

たったそれだけのことですが、筆者にとっては毎年の定例作業に、新しい意味を与える買い物になりました。

記憶にフックを仕込む

ここで重要なのは、単に翌年分の手帳を早めに手に入れたことではありません。

その手帳を、どこで、どんな経緯で買ったのか。

この記憶こそが、今回の買い物の本体です。心理学には、エピソード記憶という概念があります。自分が経験した出来事を、そのときの状況や場所、感情などと結びつけて覚える記憶です。

今回の手帳には、高松の商店街を歩き、ルピシアの近くにあるロフトへ立ち寄り、そこで「旅先だから買う」という結論に至った一連の出来事が付随しています。

毎年、決まった時期に購入する手帳とは違います。

2026年の手帳には、2026年の旅先で買ったという固有のエピソードがあるのです。そして、この記憶は、手帳を使い続ける限り、何度も思い出す機会があります。

  • 翌年分の手帳を購入するとき。
  • 分冊になっているアベック版を切り替える、半年ごとのタイミング。
  • 何より、文章を書いていて筆が止まってしまったとき。

今回の買い物は、そんな場面で記憶を呼び起こすフックになるはずです。

手帳を開けば、高松で買ったことを思い出す。高松で買ったことを思い出せば、あのときの自分が、未来の自分に向けて仕掛けを施したことも思い出す。そして、あの言葉が蘇ります。

「2026年の俺は、旅先で新しいものを買ったぞ?」

毎年の手帳購入を、単なる義務的な更新作業で終わらせない。過去の自分が、未来の自分を動かすための仕組みを作っておく。手帳という、日常的に使う道具だからこそ、この仕掛けには意味があります。

おわりに

筆者は今回、翌年分のほぼ日手帳を買いました。ただ、それだけではありません。

未来の自分に向けて、挑戦状を残しました。来年、手帳を更新するとき。半年後、新しい冊子を開くとき。あるいは、何も書けずに机の前で固まっているとき。

そこには、高松で手帳を買った自分がいます。

「2026年の俺は、旅先で新しいものを買ったぞ?」

さて、未来の筆者は、この問いにどう答えるのでしょうか。

Linuxカーネルの脆弱性 CVE-2026-98432 続報:nftablesによる暫定緩和策と永続化

概要

先日、Linuxカーネルの脆弱性「CVE-2026-98432」について、原因と暫定対策を記事にしました。

その後、2026年10月30日付で、Red HatおよびCIQからnftablesを利用した緩和策が公開されました。

今回の脆弱性は、IPv4 TCP接続の処理中に解放済みメモリへアクセスするUse-After-Free(UAF)に起因するものです。

攻撃者がIPv4オプションを含むTCPパケットを送信することで、問題のある処理経路に到達する可能性があります。

そこで、IPv4オプション付きTCPパケットをカーネルのTCP処理に到達する前に破棄するというのが、今回の緩和策です。

参考資料:

CIQの資料では、MPTCPを無効化した状態でも通常のTCP通信から脆弱な処理経路に到達できることが確認されています。そのため、MPTCPの無効化だけに頼らず、nftablesによる通信制御を追加することにしました。

今回は、実際に運用しているサーバに暫定ルールを追加し、systemdによる永続化の設定まで行った記録です。

環境

  • OS:Ubuntu 24.04 LTS
  • Webサーバ:Apache
  • ファイアウォール:UFW
  • IPアドレス制御:ipset
  • 不正アクセス対策:fail2ban
  • iptables:v1.8.10(nf_tables)
  • 作業日:2026年10月31日

筆者環境では、UFWとipsetを組み合わせたアクセス制御を行っています。

今回の作業前に、nftablesのルールセットを確認しました。

sudo nft list ruleset | wc -l

結果は、

6089

6,089行。

この時点で、今回の作業方針はほぼ決まりました。既存のファイアウォールには、できる限り手を加えないことです。

実際、iptablesのバージョンを確認すると、

sudo iptables -V
iptables v1.8.10 (nf_tables)

となっていました。また、nftablesのテーブル一覧は以下のとおりです。

sudo nft list tables
table ip6 filter
table ip filter
table ip nat
table ip6 nat
table ip raw
table inet f2b-table

UFWなどがiptables-nftを通じて管理しているテーブルに加え、fail2ban用の独立したテーブルも存在しています。

今回の緩和策は、これらとは別に専用テーブルを作成する方針としました。

フェイズゼロ:政治交渉

以前の記事でも触れましたが、システムの保守作業には技術的な準備だけでなく、作業時間の確保や関係者との調整が必要です。

今回も例外ではありません。

ただし、今回の作業では、もう一つ交渉相手がいました。

自分自身です。

既に稼働しているファイアウォールの設定を変更するのは、できれば避けたい作業です。

しかも、SSHで接続しているサーバのネットワーク制御を変更するとなれば、設定を間違えた瞬間に自分自身を締め出す可能性があります。

そこで、今回の作業では以下を徹底しました。

  • 既存のUFW・ipset・fail2banの設定は変更しない。
  • nftablesにCVE対策専用のテーブルを作成する。
  • 変更前のルールセットを保存する。
  • シリアルコンソールを確保する。
  • 問題が発生した場合は、専用テーブルだけを削除する。

特に重要なのが、シリアルコンソールです。

SSH接続を失った場合でも、ネットワーク経由ではない復旧手段を確保してから作業に入りました。

退路を確保してから前進する。

今回は、これが最も重要な準備でした。

さっくりとした手順

  1. 作業ディレクトリへ移動 cd /home/hoge/work/cve-2026-98432

任意のディレクトリを指定します。

  1. 既存ルールセットをバックアップ sudo nft -a list ruleset > nftables-before-cve-2026-98432.txt
  2. テーブル一覧をバックアップ sudo nft list tables > nftables-tables-before.txt
  3. 既存のCVE対策用テーブルを確認 sudo nft list table inet cve_2026_98432
  4. 暫定ルールの設定ファイルを作成 nano cve-2026-98432.nft
  5. 構文チェック sudo nft --check --file cve-2026-98432.nft
  6. 暫定ルールを適用 sudo nft --file cve-2026-98432.nft
  7. 適用結果を確認 sudo nft -a list table inet cve_2026_98432
  8. 永続化用の設定ファイルを作成 sudo nano /etc/nftables/cve-2026-98432.nft
  9. systemdユニットを作成 sudo nano /etc/systemd/system/cve-2026-98432-nft.service
  10. 永続化用設定の構文チェック sudo nft --check --file /etc/nftables/cve-2026-98432.nft
  11. systemdユニットの検証 sudo systemd-analyze verify /etc/systemd/system/cve-2026-98432-nft.service
  12. systemdの設定を再読み込み sudo systemctl daemon-reload
  13. 自動起動を有効化 sudo systemctl enable cve-2026-98432-nft.service
  14. 自動起動の登録状態を確認 systemctl is-enabled cve-2026-98432-nft.service
  15. 既存の防御機構を確認 sudo ufw statussudo ipset list -namesudo fail2ban-client status

作業詳細

1. 既存のルールセットをバックアップ

まずは、作業ディレクトリを用意しました。

今回の作業ディレクトリは以下です。任意のディレクトリを指定してください。

cd /home/hoge/work/cve-2026-98432

現在のルールセットを保存します。

sudo nft -a list ruleset > nftables-before-cve-2026-98432.txt

続いて、行数を確認しました。

wc -l nftables-before-cve-2026-98432.txt
6089 nftables-before-cve-2026-98432.txt

既存の6,089行を保存できています。

次に、テーブル一覧も保存します。

sudo nft list tables > nftables-tables-before.txt

ファイルの状態は以下でした。

nftables-before-cve-2026-98432.txt  239547 bytes
nftables-tables-before.txt              94 bytes

これで、変更前の状態を記録できました。なお、これらのファイルは復旧時の参照用です。

iptables-nftで管理されているテーブルも含まれるため、バックアップ全体を無条件に読み戻すことはしません。

2. nftablesの専用テーブルを作成

まず、同名のテーブルが存在しないことを確認します。

sudo nft list table inet cve_2026_98432

続いて、作業ディレクトリに設定ファイルを作成しました。

nano cve-2026-98432.nft

内容は以下です。

table inet cve_2026_98432 {
    chain prerouting {
        type filter hook prerouting priority -300; policy accept;
        ip hdrlength > 5 meta l4proto tcp counter drop
    }
}

それぞれの意味は以下のとおりです。

  • table inet cve_2026_98432:今回のCVE対策専用テーブル
  • hook prerouting:受信パケットの早い段階で評価
  • priority -300:raw優先度
  • ip hdrlength > 5:IPv4ヘッダーが通常の20バイトを超えるパケットを対象
  • meta l4proto tcp:TCP通信を対象
  • counter drop:該当パケットをカウントして破棄

ここで重要なのは、IPv4のIPオプションとTCPオプションは異なるという点です。

今回のルールは、TCPタイムスタンプなどの一般的なTCPオプションを一律に遮断するものではありません。

一方、IPv4オプションを使用する正当なTCP通信は遮断されるため、適用先の通信要件を考慮する必要があります。

3. 構文チェック

設定ファイルを保存したら、構文チェックを実施します。

sudo nft --check --file cve-2026-98432.nft

エラーは表示されませんでした。終了ステータスも確認します。

echo $?
0

構文チェック成功です。この段階では、まだ通信制御は変更されていません。

4. シリアルコンソールを確保

実際に適用する前に、vpsのシリアルコンソールへ接続しました。

今回の作業で最も避けたいのは、SSH接続を失ってサーバへアクセスできなくなることです。

現在のUFWでは、以下のポートを許可しています。

80/tcp
443/tcp
22/tcp

今回のnftablesルールはポート番号による判定ではないため、これらのポートにも条件が一致すれば適用されます。

そのため、SSHセッションを維持したまま作業し、必要になればシリアルコンソールから切り戻せるようにしました。

5. 暫定ルールを適用

準備ができたところで、設定を適用します。その前に:深く深呼吸を3回ぐらいしましょう。ここから先、タイポ、コマンド忘れ、全てが致命的になり得ます。

sudo nft --file cve-2026-98432.nft

エラーは表示されませんでした。続いて、適用結果を確認します。

sudo nft -a list table inet cve_2026_98432

結果は以下です。

table inet cve_2026_98432 { # handle 10
        chain prerouting { # handle 1
                type filter hook prerouting priority raw; policy accept;
                ip hdrlength > 5 meta l4proto tcp counter packets 0 bytes 0 drop # handle 2
        }
}

設定ファイルではpriority -300と指定しましたが、表示上はpriority rawとなっています。これはnftablesが数値を定義済みの優先度名で表示しているためです。

また、

counter packets 0 bytes 0

となっています。この時点では、遮断条件に一致したパケットはありませんでした。

6. Webサイトの動作確認

適用後、自サイトへアクセスし、記事の登録まで行いました。

HTTPSによるアクセス、ログイン状態の維持、記事の登録と保存が正常に行えています。

単純なHTTP応答だけでなく、普段利用しているWebアプリケーションの操作が継続できることを確認しました。

少なくとも、今回確認した範囲ではWebサイトの利用に支障は発生していません。

永続化

1. 永続化用の設定ファイルを作成

暫定ルールの動作を確認できたため、再起動後にも読み込めるようにします。ただし、既存のUFWやipsetを管理している仕組みには手を加えません。

今回は、CVE対策専用の設定ファイルとsystemdユニットを作成しました。

sudo mkdir -p /etc/nftables
sudo nano /etc/nftables/cve-2026-98432.nft

内容は以下です。

add table inet cve_2026_98432
delete table inet cve_2026_98432

table inet cve_2026_98432 {
    chain prerouting {
        type filter hook prerouting priority -300; policy accept;
        ip hdrlength > 5 meta l4proto tcp counter drop
    }
}

冒頭の、

add table inet cve_2026_98432
delete table inet cve_2026_98432

は、既存の専用テーブルが存在する場合でも、同じ名前のテーブルを作り直せるようにするためのものです。

削除対象はcve_2026_98432テーブルに限定しています。

UFWやfail2banのテーブルには触れません。

2. systemdユニットを作成

続いて、専用のsystemdユニットを作成します。

sudo nano /etc/systemd/system/cve-2026-98432-nft.service

内容は以下です。

[Unit]
Description=Temporary nftables mitigation for CVE-2026-98432
Wants=network-pre.target
Before=network-pre.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/sbin/nft -f /etc/nftables/cve-2026-98432.nft
ExecStop=-/usr/sbin/nft delete table inet cve_2026_98432

[Install]
WantedBy=multi-user.target

このユニットでは、起動時に専用のnftables設定ファイルを読み込みます。停止時には、今回追加したテーブルだけを削除します。

RemainAfterExit=yesを指定しているため、ルールの読み込みが完了した後もsystemd上ではサービスを有効な状態として扱います。

3. 設定ファイルの構文チェック

まず、nftables設定ファイルを検証します。

sudo nft --check --file /etc/nftables/cve-2026-98432.nft

終了ステータスを確認しました。

echo $?
0

正常終了です。

続いて、systemdユニットも検証します。

sudo systemd-analyze verify /etc/systemd/system/cve-2026-98432-nft.service

4. systemdに登録

ユニット定義を再読み込みします。この作業の前に、もう4回ほど深呼吸をして、飲み物を何か飲みましょう。お茶菓子などがあれば更に最高です。

システムをいじる作業は全て自分の指先に全責任が伴います。

sudo systemctl daemon-reload

続いて、自動起動を有効化します。

sudo systemctl enable cve-2026-98432-nft.service

ここでは--nowを付けませんでした。

既に手動で適用したルールが動作しているため、現時点で専用テーブルを作り直す必要がないからです。

最後に、自動起動の登録状態を確認します。

systemctl is-enabled cve-2026-98432-nft.service

結果は、

enabled

となりました。

これで、systemdによる自動起動の登録まで完了です。

なお、再起動後に実際にルールが復元されるかは、まだ確認していません。

既存の防御機構を確認

今回の作業で最も気になっていたのは、既存のUFW・ipset・fail2banへの影響です。

設定ファイルを作成し、自動起動を登録した後、改めて状態を確認しました。

1. nftables

sudo nft list table inet cve_2026_98432
table inet cve_2026_98432 {
        chain prerouting {
                type filter hook prerouting priority raw; policy accept;
                ip hdrlength > 5 meta l4proto tcp counter packets 0 bytes 0 drop
        }
}

専用テーブルは維持されています。

2. UFW

sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
22/tcp                  ALLOW       Anywhere

UFWはアクティブのままです。

既存の許可ポートにも変更はありません。

3. ipset

sudo ipset list -name
ufw-blocklist

既存のipsetが存在していることを確認できました。

4. fail2ban

sudo fail2ban-client status
Status
|- Number of jail:      2
`- Jail list:   sshd, ufw

fail2banも、既存の2つのjailを維持しています。

これらの確認から、少なくともサービスの状態と設定の一覧については、作業前の構成が維持されていることを確認できました。

切り戻し

今回の暫定ルールに問題が発生した場合は、専用テーブルを削除します。

一時的にルールを撤去する場合

sudo nft delete table inet cve_2026_98432

この操作で、今回追加したテーブルとチェーンを削除できます。

ただし、systemdの自動起動設定は残るため、次回起動時には再び読み込まれます。

永続化設定も撤去する場合

まず、自動起動を無効化します。

sudo systemctl disable cve-2026-98432-nft.service

続いて、専用テーブルを削除します。

sudo nft delete table inet cve_2026_98432

systemdユニットを削除します。

sudo rm /etc/systemd/system/cve-2026-98432-nft.service

nftables設定ファイルも削除します。

sudo rm /etc/nftables/cve-2026-98432.nft

最後に、systemdの設定を再読み込みします。

sudo systemctl daemon-reload

今回追加した設定だけを撤去するため、既存のUFW・ipset・fail2banの設定はそのまま維持できます。

今後の確認事項

今回の作業では、以下まで完了しています。

  • 既存ルールセットのバックアップ
  • シリアルコンソールによる復旧経路の確保
  • nftables専用テーブルの追加
  • 設定ファイルの構文チェック
  • Webサイトの動作確認
  • systemdユニットの作成
  • 自動起動の有効化
  • UFW・ipset・fail2banの状態確認

残っているのは、再起動後の動作確認です。

次回の再起動後には、以下を確認します。

systemctl is-active cve-2026-98432-nft.service
sudo nft list table inet cve_2026_98432

activeと表示されるだけでなく、実際に専用テーブルが存在していることを確認します。

また、今回のルールはIPv4オプション付きTCPパケットを遮断する暫定措置です。

CIQが公開した検証結果はRocky Linux系の環境を対象としており、筆者環境のUbuntu 24.04 LTSで同等の攻撃パケットを用いた遮断試験までは実施していません。

そのため、今回確認できたのはルールの登録と通常通信の継続までです。

修正済みカーネルが提供された段階で更新を行い、不要になった暫定ルールを撤去する予定です。

おわりに

今回の作業で、最も神経を使ったのはnftablesの設定そのものではありません。

既に稼働している防御機構を壊さずに、新しい防御を追加することでした。

筆者環境では、UFW・ipset・fail2banを組み合わせてアクセス制御を行っています。その結果、nftablesのルールセットは6,089行に達していました。

そこへ緊急の脆弱性対策を追加するのですから、作業を始める前から気が重くなるのも無理はありません。

そこで、今回は既存のルールセットを編集せず、専用テーブルを追加する方式を採用しました。

さらに、シリアルコンソールを確保し、問題が発生した場合には今回追加したテーブルだけを削除できるようにしています。

結果として、既存のUFW・ipset・fail2banの設定を変更することなく、暫定緩和策の導入と永続化の登録まで進められました。

今回の作業で改めて感じたのは、システムの保守とは、何かを変更する技術だけでなく、変更しなくてよいものを見極める判断でもあるということです。

脆弱性を塞ごうとして、既存の防御機構を壊してしまっては意味がありません。

そして、その判断を支えるのがバックアップであり、切り戻し手順であり、シリアルコンソールという最後の退路です。

作業を終えた後の感想を一言で表すなら、

「心臓に悪い作業だった」

でしょうか。

とはいえ、これで修正済みカーネルが提供されるまでの間、攻撃経路を減らすための対策を一つ追加できました。

今後もカーネルの修正状況を確認しながら、必要な対応を続けていきます。

ピボット旅行2026-26『あるのがいけない!! Part2』

はじめに

とんでもない商店街だと理解らされた筆者に、更なる物欲が待っていました。

筆者のお茶の運用

ルピシア。筆者お気に入りのフレーバーティーを多数揃えており、筆者の「フレーバーティーという名の沼(1773年のボストン港ではないことに注意)」に、際限なく茶葉と水を供給し続けてきたお店です。

ただし、筆者には「買ったお茶を確実に飲みきる」という信条があります。

そのため、茶葉ごとに管理番号を振り、入手日・開封日・消費完了日を記録しています。種別やベース、購入先も管理対象です。

2025年はルピシアが中心で、80銘柄を記録しました。

2026年は様子が変わっています。大容量の茶葉を扱うボンマルシェを中心に、お気に入りを続けて飲むスタイルへ移行。カルディなど、ほかのお店で出会ったお茶も飲むようになりました。

項目2025年2026年
主な購入先ルピシアボンマルシェ、カルディなど
購入スタイル福袋中心好みのお茶を個別購入
飲み方幅広く試すお気に入りを続けて飲む
管理入手・開封・消費日を記録同じ方法で継続

背景には、昨今の値上げラッシュがあります。福袋は確かにお得ですが、好みでないお茶が混じることもあります。お気に入りでないお茶とは言え、手元にある者は飲みきる性分。

それならば、お気に入りをじっくり飲みつつ、新たなブレンダーのお茶を味わうのも一興です。

こうして筆者のお茶の運用は変化していました。

そして、ルピシアへ

そんな中でのルピシアは、「地元に行けば荷物も増えなくて済むし……」ぐらいの勢いでした。

しかし、前項でお話ししたとおり、秋雨が降り注いでいます。ここで時間を過ごすと決めた以上、入るのも一興です。

店内に入ってすぐのところで、見てしまいました。見つけてしまいました。

「四国限定フレーバーティー/ルイボスティー」

試供品の香りを確かめます。

あるのがいけない!! あるのがいけない!!

買っていました。何という即落ち2コマ。

ルイボスティーはそれほど飲まない筆者がカゴに入れたのですから、相当です。

追加で買った理由

さて、翻って。筆者は既に尾道で結構な量のお茶を買っています。そのうえで「倍プッシュ」に等しい買い物をしたのは「ハードルが低くなった」からです。

筆者の座右の書『オサムシ教授の事件簿』に以下のくだりがあります。

少し前 世間では
『なぜ人を殺してはいけないのか?』
という問が流行したそうだ
君はどう思う?

人類の歴史は人殺しの歴史…
人は人を殺すものだから――――
でしょう?

そうだな
いつまでも互いに殺し合っていては
種の繁栄にマイナスだからだ
私は人間が勝手に作った
常識や法律のほとんどを
下らんと思っている
だが人は殺さない
なぜだと思う?

人を殺すと殺し続けなくてはいけなくなるからだ

人は慣れてゆく生き物だ
良くも悪くもどんなことにも――――
そしてハードルが低くなる

少し気に入らないだけで殺す
バレそうになったから殺す
殺した相手の身内が復讐に来るかもしれない――――
殺されたくないから殺す
どのみち“死の連鎖”からは逃げられない

何でそんな話…
私には関係ないのに

逆に罪悪感にさいなまれる者もいるだろう
その時は――――
自分を殺す――――
文字通り自殺するか
ドロップアウトし身も心もボロボロになり
死んだように生きていくか
やはり待っているのは“死”だ

ここで死生観や哲学を問う気はありませんしそういう話ではありません。問題はここ。

人は慣れてゆく生き物だ
良くも悪くもどんなことにも――――
そしてハードルが低くなる

筆者は既に7500円ほどお茶を買っています。なので

  • 「もう3~4000円ほど増えても荷物の一つになるだけ」
  • 「このお茶を飲めば、あとでこのたびのことをも出すからいいだろう」
  • 「腐るもんでもないし」

という、「購買の連鎖」がここにも適用されました。

ハードルの低さという継続

さて、上記を踏まえ、筆者のブログの更新頻度をご覧ください。2020年1月の下旬から、一日も休まずWordPressへの投稿を続けています。

これもまた、筆者の慣れであり、ハードルの低下です。

  • 体調が悪くても書いたから、「やる気がない」は理由にならない。
  • 一日一記事を続けてきたから、記事を書くこと自体が特別な行為ではなくなった。

生存報告のため書く。今日が一番新しい日だから書く。書きたいことがあるから書く。その積み重ねが、いつしか毎日更新という形になっています。

そして、ここまで続けてくると、書かないことの方が普段と違う状態になるのでしょう。

慣れは敵にも味方にもなる

お茶を買うときには、ハードルが下がることで、追加の出費に対する抵抗が薄れました。ブログを書くときには、ハードルが下がることで、執筆を始める心理的な負担が軽くなりました。(余談ですが、万年筆のすらすらとした書き心地も、状況を選ばずガシガシ書けるThinkPadも、その慣れを続ける一助になっています)

どちらも、繰り返すうちに行動が特別なものではなくなった結果です。

人は慣れてゆく生き物です。

その慣れが購買の連鎖につながることもあれば、長く続く習慣を作ることもある。今回のお茶の買い物は、そんな仕組みを改めて実感する出来事となりました。

あるのがいけない!!

さて、ここまで書いておいて何ですが、筆者は四国限定のお茶を買いました。既に尾道でお茶を買っていたことも、手元に飲むべき茶葉があることも承知のうえです。

それでも、目の前にお気に入りのお店があり、限定品があり、試供品の香りがよかった。

あるのがいけない!!

これに尽きます。そして、買った以上は、いつものように管理番号を振り、開封日を記録し、最後まで飲みきることになるのでしょう。

……こうして、筆者のお茶の沼は、まだまだ続くのです。それがたとえ、旅先であろうと。

Linuxカーネルの脆弱性 CVE-2026-98432:原因と暫定対策(nftablesの暫定緩和策へのリンクあり)

2026/10/31 9:44 追記

以下、本件の続いての対応策を記しています

概要

2026年10月15日、LinuxカーネルのIPv4 TCP処理に関する脆弱性 CVE-2026-98432 が公表されました。

CVSS 3.1の評価は9.8(Critical)。認証を必要とせず、ネットワーク経由で攻撃が成立する可能性がある脆弱性です。

今回の問題は、TCP接続の確立処理において、使用中のメモリ領域を適切なタイミングで解放できていなかったことに起因します。

筆者のように公開サーバーを運用している方は、カーネルの更新が必要になるため、対応状況を確認しておきたいところです。

今回は、脆弱性の原因と影響を整理したうえで、Ubuntuにおける修正カーネルの適用方法と、パッチが提供されるまでの暫定的な対応についてまとめます。

筆者環境

  • OS:Ubuntu 24.04 LTS
  • Kernel:Linux(Generic)
  • 対象:IPv4 TCP処理
  • CVE:CVE-2026-98432
  • 公開サーバー:Apache等を運用

1. 脆弱性の概要

今回の脆弱性は、LinuxカーネルのIPv4ネットワーク処理に存在する Use-After-Free(解放済みメモリへのアクセス) です。

問題となったのは、TCP接続の確立処理で使用するソケットオプションの解放タイミングです。

具体的には、tcp_v4_syn_recv_sock()による子ソケットの生成と、再送されたSYNパケットに対するSYN-ACKの生成が並行して実行された場合、同じメモリ領域を参照しているにもかかわらず、先にメモリが解放されてしまう可能性があります。

本来、複数のCPUコアから参照される可能性があるメモリについては、RCU(Read-Copy-Update)の猶予期間を経てから解放する必要があります。

ところが、修正前の処理では通常のkfree()によって即座に解放していました。

修正では、この部分をkfree_rcu()に変更し、参照中の処理が完了するまでメモリの解放を遅らせています。

つまり、今回の問題はメモリを解放する処理そのものではなく、他の処理がまだ参照している可能性を考慮せずに解放していたことにあります。

1.1. 影響とリスク

悪意のある細工を施したTCPパケットによって、この競合状態を発生させられた場合、主に次のような影響が考えられます。

  • サービス停止(DoS) 解放済みのメモリを参照した結果、カーネルパニックが発生し、OS全体が停止する可能性があります。
  • メモリ破壊 解放されたメモリ領域が別の用途に再利用された場合、予期しないメモリアクセスが発生する可能性があります。 メモリ破壊を利用した権限昇格やコード実行もリスクとして考えられます。

今回の問題はアプリケーションのログイン処理などを経由するものではなく、OSのTCP/IP処理層で発生します。

そのため、Webサーバーに認証機能を設けたり、SSHのログイン制限を強化したりするだけでは対処できません。

1.2. CVSS 9.8という評価について

今回の脆弱性はCVSS 3.1で9.8と評価されていますが、ディストリビューションによって評価には差があります。

例えばRed Hatでは、攻撃に必要な競合状態を成立させる難しさを考慮し、CVSS 3.1で5.9と評価しています。

とはいえ、攻撃が成立した場合にOS全体が停止する可能性があること、ネットワーク経由で認証なしに攻撃できる可能性があることは変わりません。

公開サーバーを運用する立場としては、修正パッケージの提供状況を確認し、対応を進めておきたいところです。

2. フェイズゼロ:政治交渉

さて、技術的な対策に入る前に、もう一つ済ませておくべきことがあります。

政治交渉です。

個人で運用しているサーバーであれば、作業時間も再起動のタイミングも自分の裁量で決められます。

しかし、組織で運用しているサーバーとなれば話は変わります。

  • カーネルの脆弱性が公表された
  • 修正済みカーネルへの更新が必要である
  • 更新を反映するためにOSの再起動を伴う
  • その間、サービスが一時的に停止する
  • ついては、○時頃から○分程度の作業時間をいただきたい

といった、利用者への周知という名の政治交渉が必要になります。

このあたりは運用者の政治的な立ち位置、つまり、担当者や担当部門がどこまで強権を振るえるかによっても言い方や手段が変わってきます。

ただし、今回に限っては少々強気に出てもよいのではないかと筆者は考えています。

昨今、サイバー攻撃によるサービス停止や情報漏洩がこれだけ問題になっている状況です。

その中で、CVSS 9.8という重大な脆弱性が公表され、しかもネットワーク経由で攻撃される可能性がある。

ここまで条件が揃っているのであれば、

「業務に影響が出るので作業を控えてほしい」という要求に対して、「脆弱性を放置することによる業務への影響をどう評価するのか」と切り返すだけの材料は十分にあります。

予定した時間にサービスを停止することと、攻撃によって予期しない時間にサービスが停止すること。

どちらが業務に与える影響を制御しやすいかは、考えるまでもないでしょう。

そのため、今回は「作業を実施してよいでしょうか」というお願いよりも、

「重大な脆弱性への対応として、以下の時間帯に緊急メンテナンスを実施します」

という、実施を前提とした周知を提案したいところです。

実際にどこまで踏み込めるかは、組織の権限や運用ルール次第です。緊急変更の手続きが定められているのであれば、それに従って進めます。

ただ、こういうときのために緊急変更という仕組みが存在するのですから、使えるものは使っていきましょう。

※ 検証環境を用意できる程度には時間と予算と環境に余裕がある方は、その環境にいることを感謝しつつ、検証を重ねていきましょう。

また、再起動を伴う作業ですから、実施前には復旧手順や切り戻し方法も確認しておきます。

  • 旧カーネルから起動できるか
  • VPSの管理コンソールから操作できるか
  • バックアップやスナップショットは取得できているか
  • 再起動後にサービスが正常稼働しなかった場合、どう復旧するか

このあたりを押さえたうえで作業に入ります。

以下の手順は、

  • 個人運用なので、そもそも政治交渉が不要
  • 組織内でフェイズゼロをクリアした

方向けのものです。

技術的には数分で終わる作業でも、その数分を確保するために何日もかかる。

サーバー運用とは、往々にしてそういうものです。

ですが、今回のような脆弱性対応では、その何日間をどこまで短縮できるかも、運用者の仕事だと考えています。

3. さっくりとした手順

以下の流れで対応します。

3.1. 事前確認

  1. 現在のカーネルを確認します。 uname -r
  2. MPTCPの設定を確認します。 sysctl net.mptcp.enabled
  3. MPTCPの使用状況を確認します。 sudo ss -Mlnp
  4. TCPリクエスト移行機能の設定を確認します。 sysctl net.ipv4.tcp_migrate_req

3.2. 暫定対応

  1. MPTCPを無効化します。 sudo sysctl -w net.mptcp.enabled=0
  2. 設定ファイルを作成します。 echo "net.mptcp.enabled = 0" | sudo tee /etc/sysctl.d/99-disable-mptcp.conf
  3. 設定を反映します。 sudo sysctl --system
  4. 設定を確認します。 sysctl net.mptcp.enabled

3.3. 修正カーネルの適用

  1. パッケージ情報を更新します。 sudo apt update
  2. カーネルパッケージの更新候補を確認します。 apt-cache policy linux-generic linux-image-generic
  3. 修正済みパッケージが提供されている場合、更新します。 sudo apt install --only-upgrade linux-generic linux-image-generic
  4. OSを再起動します。 sudo reboot
  5. 稼働カーネルを確認します。 uname -r

以上です。

なお、手順5~8はMPTCPを使用していない環境での暫定対応です。

MPTCPの無効化だけでは、今回の脆弱性への対処は完了しません。

また、手順11以降は修正済みカーネルが提供されてから実施します。

4. 詳細手順

4.1. 現在のカーネルを確認

まずは、稼働中のカーネルを確認します。

uname -r

ここで表示されたバージョンを控えておきます。

続いて、インストール済みのカーネルパッケージを確認します。

dpkg -l | grep linux-image

現在使用しているカーネルと、インストール済みのカーネルを把握しておきます。

特に、更新後に問題が発生した場合、旧カーネルで起動できる状態かどうかは重要です。

4.2. MPTCPの使用状況を確認

MPTCP(Multipath TCP)は、複数のネットワーク経路を利用して1つのTCP通信を構成するための拡張プロトコルです。

例えば、Wi-Fiとモバイル回線を併用し、通信経路を切り替えながら接続を維持するような用途で使用されます。

Linuxでは、次のカーネルパラメータでMPTCPの有効・無効を制御できます。

net.mptcp.enabled

現在の設定を確認します。

sysctl net.mptcp.enabled
  • 1:有効
  • 0:無効

続いて、MPTCPを使用している待ち受けソケットを確認します。

sudo ss -Mlnp

MPTCPを使用しているサービスが表示された場合は、そのサービスへの影響を確認します。

特に、Go 1.24以降では、Linux上の待ち受けソケットでMPTCPが利用される場合があります。

意図的にMPTCPを設定していなくても、アプリケーション側の実装によって利用されている可能性があるため、確認しておきます。

4.3. TCPリクエスト移行機能を確認

今回の脆弱性では、TCPリクエストソケットの移行処理にも類似した問題があります。

この機能に関係するカーネルパラメータが、以下のものです。

net.ipv4.tcp_migrate_req

設定を確認します。

sysctl net.ipv4.tcp_migrate_req

通常は0です。

1になっている場合は、TCPリクエスト移行機能を使用している可能性があります。

この機能を意図的に有効化している場合は、使用目的を確認したうえで対応を検討します。

5. 暫定対応:MPTCPの無効化

修正済みカーネルが提供されるまでの間、攻撃対象となる機能を減らす方法として、MPTCPの無効化があります。ただし、ここは少し注意が必要です。

今回の脆弱性の本体はIPv4 TCPのソケット処理にあります。MPTCPを無効化することで、MPTCPを利用した攻撃経路を制限することはできますが、通常のTCP処理に存在する脆弱性そのものが解消されるわけではありません。

また、Red Hatのセキュリティ情報では、この脆弱性に対して、同社の基準を満たす緩和策は提供されていないとされています。

そのため、MPTCPの無効化は、修正パッチが届くまでの攻撃対象領域を減らす措置として扱います。

5.1. MPTCPを無効化

MPTCPを使用していないことを確認したうえで、以下のコマンドを実行します。

sudo sysctl -w net.mptcp.enabled=0

この設定は即時反映されます。MPTCPを使用しているサービスが存在する場合は、サービス側の再起動なども含めて確認が必要です。

5.2. 再起動後も設定を維持

sysctl -wによる設定変更は、OSを再起動すると元に戻ります。

再起動後も無効化した状態を維持する場合は、設定ファイルを作成します。

echo "net.mptcp.enabled = 0" | sudo tee /etc/sysctl.d/99-disable-mptcp.conf

設定を反映します。

sudo sysctl --system

最後に設定値を確認します。

sysctl net.mptcp.enabled

以下のように表示されれば設定完了です。

net.mptcp.enabled = 0

5.3. 設定変更による影響

MPTCPを無効化した場合、影響を受けるのはMPTCPを利用する通信です。

一般的なWebサーバーやSSH、データベースなどで使用される通常のTCP通信は、そのまま利用できます。

対象影響
Apache / Nginx通常のTCP通信に影響なし
SSH通常のTCP通信に影響なし
MySQL / PostgreSQL通常のTCP通信に影響なし
MPTCP対応アプリケーションMPTCPによる通信が利用できなくなる
マルチホーム環境MPTCPを利用した経路制御に影響

一般的なVPSやWebサーバーでは、MPTCPを意図的に利用しているケースは多くありません。

筆者のようにApacheを中心としてWebサービスを公開している環境であれば、通常のTCP通信に対する影響はありません。

ただし、Go製のアプリケーションなどがMPTCPを利用している可能性もあるため、使用状況を確認したうえで設定を変更します。

6. 根本対策:修正済みカーネルへの更新

今回の脆弱性はカーネル内部の処理に起因するため、根本的な対策は修正済みカーネルへの更新です。

Ubuntuでは、上流のLinuxカーネルで修正が公開されていても、Ubuntuの公式パッケージに反映されるまでには時間差があります。

また、Ubuntuでは修正内容が既存のカーネル系列にバックポートされることがあります。

そのため、単純にuname -rの数字だけで修正済みかどうかを判断するのではなく、Ubuntu Security Trackerで対象パッケージの修正状況を確認します。

6.1. パッケージ情報を更新

sudo apt update

続いて、カーネルパッケージの候補を確認します。

apt-cache policy linux-generic linux-image-generic

修正済みパッケージが提供されていることを確認してから、更新作業に進みます。

6.2. カーネルパッケージを更新

Ubuntu 24.04 LTSの標準的なGenericカーネルを使用している場合は、以下のコマンドで更新します。

sudo apt install --only-upgrade linux-generic linux-image-generic

更新時には、インストール対象となるパッケージとバージョンを確認します。

なお、HWEカーネルやクラウド向けカーネルなどを使用している場合は、対象となるパッケージが異なります。

その場合は、現在使用しているカーネル系列に対応したパッケージを更新します。

6.3. OSを再起動

カーネルパッケージの更新が完了したら、OSを再起動します。

sudo reboot

この操作によって、サーバー上で稼働しているサービスは一時的に停止します。

事前に確保した作業時間内で実施します。

6.4. 更新後の確認

再起動後、稼働カーネルを確認します。

uname -r

続いて、インストール済みのカーネルパッケージを確認します。

dpkg -l | grep linux-image

Ubuntu Security Trackerで確認した修正済みパッケージが適用されていることを確認します。また、ApacheやSSHなど、サーバー上で稼働しているサービスについても動作確認を行います。

7. 切り戻し

設定変更後に問題が発生した場合に備え、切り戻し方法もまとめておきます。

7.1. MPTCPの設定を元に戻す

まずは、設定ファイルを削除します。

sudo rm /etc/sysctl.d/99-disable-mptcp.conf

続いて、MPTCPを有効化します。

sudo sysctl -w net.mptcp.enabled=1

設定を確認します。

sysctl net.mptcp.enabled

以下のように表示されれば設定完了です。

net.mptcp.enabled = 1

なお、この手順は変更前の設定が1だった場合のものです。変更前から0だった場合は、その状態を維持します。

また、既存のMPTCPソケットについては、必要に応じてサービスの再起動を行います。

7.2. カーネル更新後に問題が発生した場合

カーネル更新後にOSが正常起動しない場合は、GRUBから旧カーネルを選択して起動します。

VPSの場合は、管理コンソールなどから復旧操作を行います。そのため、作業前には以下を確認しておきます。

  • 旧カーネルが残っていること
  • 管理コンソールから操作できること
  • 必要なバックアップが取得されていること

特に、SSHでしか接続できない環境では、再起動後にネットワークが利用できなくなると復旧が難しくなります。

このあたりは、フェイズゼロで確認しておくべき項目です。

おわりに

今回のCVE-2026-98432は、LinuxカーネルのIPv4 TCP処理に存在するUse-After-Freeの脆弱性です。

対応としては、

  1. 現在のカーネルと修正パッケージの提供状況を確認する
  2. MPTCPを使用していなければ、暫定的な無効化を検討する
  3. 修正済みカーネルが提供され次第、更新と再起動を実施する

という流れになります。

そして、今回改めて意識したのは、技術的な対応そのものよりも、その作業時間をどう確保するかという点です。カーネルの更新は、コマンドだけを見れば難しい作業ではありません。

しかし、組織で運用しているサーバーの場合、OSの再起動というだけで相応の調整が必要になります。

そこで「業務に影響があるから」という理由だけで更新を先送りするのであれば、脆弱性を放置することで発生するリスクも、同じように評価する必要があります。

未来を完全に予測することはできなくても、未来に向けて判断できる状態を維持することはできます。

そのためにも、今回のような脆弱性への対応では、技術的な対策と同じぐらい、迅速に判断して実行できる環境を整えておきたいところです。

ピボット旅行2026-25『崩れたバイアス-3- Cover is not the Book』

はじめに

高松を拠点に四国・中国地方を旅した2026年のピボット旅行。当初、筆者が高松に期待していたものは、それほど多くありませんでした。

四国と岡山・広島を行き来しやすい。うどんも本場で食べられる。それならば、旅の拠点として申し分ないだろう。その程度の認識です。

で、雨ばかりだったというのは既にお話ししたとおり。雨は更に厳しくなっているため、雨でも楽しめる近場のスポットをAIに尋ねてみます。そこで返ってきた答えが、高松中央商店街でした。

……商店街?

確かにアーケードがあれば雨に濡れずに歩ける。そういう意味では合理的な提案です。しかし、旅先でわざわざ商店街を歩く必要があるのだろうか。

筆者の頭の中には、地方の商店街に対する、ある種のイメージがありました。

  • どこか懐かしい店並み。
  • 地元の人たちが日用品を買いに来る場所。
  • 郊外型の大型商業施設に客を奪われ、シャッターの閉まった店舗が目立つ場所。

もちろん、筆者は高松中央商店街を歩いたことすらありません。それなのに、なぜか「商店街」という言葉だけで、見る前からその姿を想像できた気になっていました。

今回は、そんな自分の認識が崩れていった話です。

片原町から始まる「やっぱりね」

高松中央商店街、片原町エリアから歩き始めました。落ち着いた佇まいのアーケード。昔ながらの商店街らしい雰囲気。雨をしのぎながら歩くには、ちょうどいい場所です。

「うん、やっぱり地方のアーケード商店街だな」

歩き始めた筆者の感想は、そんなものでした。別に、悪い場所だと思ったわけではありません。土地ごとの日常を感じられるのは、旅の楽しみの一つです。

ただ、筆者の中では、この時点ですでに一つの分類ができあがっていました。

  • 地方の商店街。
  • 落ち着いた街並み。
  • 昔ながらの店。

雨の日に歩くには便利だけれど、わざわざ遠くから見に来るほどのものではないだろう。実際に目の前にある風景を見ながら、筆者はそれを、以前から知っていた商店街のイメージに当てはめていました。

そして、当てはまったことに納得していたのです。

「ほらね、やっぱり普通の商店街じゃないか」

今にして思えば、これが厄介なところでした。

筆者が歩いたのは、まだ商店街の一部にすぎません。それなのに、そこで見た景色をもって、全体もおおむね同じようなものだろうと考えてしまった。

知らないものを、知っているものの延長として理解する。その方が、いちいち考え直さなくて済みます。過去の経験を使って目の前のものを分類すれば、判断にかかる手間も少なくなります。

日常生活では、こうした判断が役立つ場面も多いでしょう。ただし、その分類が正しいかどうかは、また別の問題です。

そして、このときの筆者は、自分の分類が正しいかどうかを確かめる前に、すでに納得しかけていました。

「……ティファニー? ここ、表参道だっけ?」

そのまま歩いていき、丸亀町エリアに足を踏み入れたところで、様子が変わりました。まず、頭上のアーケードが異様に高い。

それまで歩いていた場所とは、空間の印象が明らかに違います。光が差し込む開放的な構造に、整然とした舗道。そして、沿道の店舗が目に入ってきました。

  • ルイ・ヴィトン。
  • シャネル。
  • グッチ。
  • ティファニーにエルメス。

「……え、LV? ここ高松だよね? 銀座か表参道の間違いじゃないよね?」

思わず立ち止まります。見上げれば、巨大なガラス屋根がドーム状に広がっています。イタリアのガレリアを思わせる空間に、ハイブランドの店舗が堂々と並んでいます。先ほどまで筆者が思い浮かべていた「地方の商店街」とは、ずいぶん違う光景でした。

ここで、ようやく自分の認識に不具合が生じます。いや、実際には、商店街の方は最初から何も間違っていません。間違っていたのは、商店街を歩く前から、その姿を知っているつもりになっていた筆者の方です。

しかも、片原町で感じた「予想通り」という印象が、丸亀町まで含めた商店街全体の評価にまで広がりかけていました。

最初に見た景色が、自分の先入観に合致した。だから、その先も同じだろうと思った。

もし、そこで引き返していたら、筆者は高松中央商店街について「地方の普通の商店街だった」という感想を持ち帰っていたかもしれません。

実際に歩いていない場所についてまで、です。

なぜ、自分の知っている範囲を世界の基準にしてしまうのか

ここで、今回の出来事を少し振り返ってみます。筆者が高松中央商店街に対して抱いていた先入観は、どこから来たのでしょうか。

高松に対する特別な悪感情があったわけではありません。商店街という存在そのものを否定していたわけでもありません。

筆者が知っていた商店街のイメージを、高松の商店街にも適用した。それだけのことです。しかし、考えてみると、これはなかなか乱暴な話です。

筆者は高松中央商店街について、事前に詳しく調べていたわけではありません。丸亀町の再開発についても、ハイブランドの店舗が並ぶことについても、現地を訪れるまでは知りませんでした。

つまり、判断するための情報が不足していたのです。それでも、人間は情報がそろうまで判断を保留するとは限りません(クソデカ主語)。手元にある経験や知識を使って、ひとまず目の前のものを理解しようとします。

未知のものを、既知のものに置き換える。そのおかげで、筆者たちは初めて訪れる場所でも、ある程度は迷わず行動できます。

ただ、その便利な仕組みには落とし穴があります。

自分が知っている範囲から作ったイメージを、いつの間にか対象そのものの特徴だと思い込んでしまうのです。筆者にとっての「地方の商店街」は、これまでに見聞きした経験から作られたイメージでした。ところが、実際に高松中央商店街を歩くと、そのイメージに収まらない場所がありました。

本来なら、そこで「自分の知っている商店街とは違うものがある」と考え直せばよかったのですが、以下のバイアスが発生していました。

  • 自分の経験を基準にして世界を見ること。
  • その基準に合致するものを見つけて、自分の認識を正しいと思い込むこと。

今回の出来事には、そうした認知バイアスの働きが表れていたように思います。

調べて分かった「奇跡の商店街」の背景

現地で受けた衝撃は、それだけでは終わりませんでした。

ホテルに戻ってから、高松丸亀町商店街について調べてみると、目の前に広がっていた景色には、きちんとした背景があることが分かりました。

高松丸亀町商店街は、自然に現在の姿になったわけではありません。

モータリゼーションの進展や郊外型商業施設の台頭など、全国の商店街が直面してきた課題に対して、地権者たちが一体となって再開発に取り組んできた場所です。

その過程では、土地の所有と利用を分離する仕組みなどが活用され、まちづくり会社を中心に街全体の再構築が進められました。また、単に店舗を新しくするだけではなく、広域から人を呼び込む商業空間を目指し、ハイブランドの店舗なども誘致しています。

筆者が現地で驚いた、開放感のあるアーケードや洗練された街並みは、そうした長年の取り組みの結果だったのです。

つまり、筆者が最初に抱いた「地方の商店街」というイメージでは、この場所が積み重ねてきた歴史も、再開発の工夫も、目指してきた街の姿も捉えられていませんでした。

知らなかったのだから、最初から理解できていなかったのは当然です。問題は、知らなかったことそのものではありません。知らないにもかかわらず、知っている範囲の情報だけで、分かったつもりになっていたことです。

自分のバイアスが崩れるということ

今回、筆者の認識を変えたのは、AIの推薦でした。

雨でも楽しめる場所として高松中央商店街を紹介され、ひとまず歩いてみた。片原町で予想通りだと感じ、そのまま南へ進んだところで、丸亀町の景色に驚かされた。

  • もし、AIに尋ねていなければ。
  • もし、片原町を歩いただけで満足していたら。
  • もし、最初に抱いた印象を疑わず、引き返していたら。

筆者は、自分の先入観を補強するだけで、この商店街を後にしていたかもしれません。最初の印象が間違っていたという事実だけではありません。

筆者には、自分が間違っているかもしれないと考えるきっかけが、最初から十分にあったわけではなかったのです。知らない場所について、知っている場所と似た印象を受けた。だから、知っている場所と同じようなものだと考えた。

それは、特別に愚かな判断だったわけではありません。手持ちの経験を使って未知のものを理解しようとする、ごく自然な流れだったのでしょう。

だからこそ、厄介なのです。

自分の経験を基準にすること自体は避けられないとしても、その基準が通用しない場所まで、同じ物差しで測ってしまうことはあります。

そして、自分の判断が間違っていたと気づくには、その物差しでは測れないものに出会う必要があるのかもしれません。

筆者が知っているつもりだった「地方の商店街」というカテゴリーは、現地を歩くうちに、少しずつ役に立たなくなっていきました。

自分の知っている範囲を世界の基準にしてしまうのは、なぜなのか。それは、知らないものを理解するために、自分がすでに持っている知識や経験を使うからでしょう。

では、その基準が目の前の現実と食い違っていたとき、筆者たちは自分の認識を修正できるのでしょうか。

少なくとも今回、筆者はAIの推薦に従って歩き続けたことで、自分の思い込みが通用しない景色に出会うことができました。

そして、旅の面白さは、見知らぬ土地の景色を楽しむことだけではないのだと、あらためて感じたのです。

自分が世界をどう見ているのか。その見方自体が、旅先で崩れることもある。

終わりにかえて -Cover is not the Book-

筆者が大好きな歌、『メリー・ポピンズ・リターンズ』の『本は表紙じゃ分からない(Cover is not the Book)』に書かれている

Cover is not the book / 心が目に見えないように本も
So open it up and take a look / 表紙の美しさに騙されちゃダメ
'Cause under the covers one discovers / 中身読んだらやさしい王様
That the king may be a crook / 詐欺師だとわかるかも

この逆のパターンでした。「地方の商店街」という表紙からは、総延長2.7km、ハイブランドとファストファッション、そして地元民、高所得層、観光客をまとめて迎え入れる本を「実際に読んで」分かったというお話しでした。

ピボット旅行2026-24『Yadon is not an Udon.』

はじめに

筆者ならびに友人も認める才能。それは、美味しい食事を引き当てる嗅覚です。

口コミサイトには頼らず

  • 自分の直感
  • 知り合いの紹介
  • 文字通りの「嗅覚」(美味しそうと思う香り)

など。人一倍食い意地が張っている筆者にとってはありがたい能力。そして、それ以上に助けられているのは

「食べたいと思うものがなければとことん譲歩できる」才能だったりします。

  • 手持ちと合わない
  • 地元でもっと美味しいものがある
  • 下手すればコンビニの方が美味しいまで見える

という取捨選択…… 言い換えると「護身」の才能です。

護身開眼

筆者が心に置いている言葉があります。『バキ』最凶死刑囚編で、渋川剛気の師匠、御輿芝喜平(護身流合気術開祖)がいう

「闘って勝つなどと言うことは
武の段階で言うなら未熟も未熟」

「勝てぬ敵には近寄れぬ」

「行こうにもそ奴の力量が おぬしの上ならば辿り着くことができんのじゃよ」

これに従いました。何というか、食事処すべてにどでかい閂付きの扉がありました。金刀比羅宮の参道にあるパーラーですら、入ろうとした瞬間に「いや…… やめよう」となったほど。

先に述べた「徳川ゆかりの地ほど相性が良い」薩摩ゆかりの自分としてもそこで暴れ回る(?)御先祖様の不興を買うのは得策ではありません。

では、高松に戻りましょう。

Yadon is not an Udon/ヤドンはうどんではない

幸い、時刻はまだランチタイムに十分間に合う頃合いです。琴電琴平駅から高松へ戻るべく、電車に乗り込みます。

そこで待っていたのが、ヤドンラッピング電車でした。

車体にヤドン。車内のシートにもヤドン。広告にもヤドン。どこを見てもヤドンです。

「うどん県ならではのコラボ……!」

香川県とポケモンのコラボレーションとして、これほど分かりやすいものもないでしょう。うどん県にヤドン。語感からして強い。

しかし、ここで筆者の脳内にひとつの天啓が降りてきました。よし、ならばお昼はラーメンにしよう。

うどん県でヤドンを眺めながら、ラーメンを食べる。「Yadon is not an Udon/ヤドンはうどんではない」のタイトル回収です。

徳島ラーメンという選択肢

そもそも、筆者が徳島ラーメンに目をつけたのには理由があります。徳島駅前の「麺王」で食べた一杯が、実に素晴らしかったのは前の記事でも述べたとおり。

その感動たるや、思わず「……拠点をこっちにするべきだった?」と考えてしまったほど。

旅先で食べた一杯のラーメンによって、宿泊拠点の選定にまで疑問が生じる。食事の力とは恐ろしいものです。

今回の旅では、うどんを食べるチャンスも残っていました。最終日の朝です。

一方、チェックアウトの時刻を考えると、徳島ラーメンを食べる機会は、この日のお昼くらいしかありません。

うどんはまだ残っている。徳島ラーメンは、今を逃せば食べられないかもしれない。

そう考えれば、答えはひとつでした。

そもそも、奥宮で入れなかった場所があったことも、こう考えれば納得できます。

これはきっと、「今日はこっちを食べろ」というお導きなのでしょう。

筆者はこういうとき、先の護身に全力で乗っかることにしています。

麺王の海老王

高松築港駅から歩いてすぐのところに、麺王があります。

徳島駅前で感動したあの味を、香川県でもいただく。今回注文したのは、その名も「海老王」です。

名前のとおり、海老の出汁が主役。

ひと口すすれば、海老の旨味が濃厚に広がります。スープの印象は、まるでビスク。ラーメンのスープでありながら、フレンチの海老料理を思わせるほどの濃さがあります。

素晴らしいおいしさでした。

金刀比羅宮の石段を上り、奥宮まで足を運び、そしてまた下りてきた筆者。汗をかき、体力を使い、水分もミネラルも失っています。

そこに、この濃厚な海老スープ。身体に染み渡るとは、まさにこのことです。

さらに替え玉を注文。今度は唐辛子を練り込んだ麺で、味わいを変えながらいただきます。

濃厚な海老の旨味に、唐辛子の刺激。石段の上り下りで消耗した身体が、みるみる回復していくようです。

うどん県で食べる徳島ラーメン。しかも、海老王。

ヤドンを見たからラーメンを食べるという、我ながらどういう連想なのかと思わなくもありませんが、結果は大当たりでした。

さて、この後どうするか

お腹は満たされました。では、この後どうするか?

明日には高松を引き払います。尾道を巡り、金刀比羅宮にも参拝した。旅の目的としては、すでに大満足です。

そして、外は本降りの雨。

ここまで来れば、無理に新しい観光地を探し回る必要もありません。旅としては、もう十分にクリアしているのです。

とはいえ、せっかく高松まで来たのですから、もう少し何かできることはないか。

そこで筆者は、手元にあるガラスと金属の板に尋ねることにしました。

「どっかお勧めのスポットないか?」

現代の旅人が持つ、最も手軽な観光案内所です。返ってきたのは、商店街を勧める強いサジェストでした。

高松商店街。

雨が降っている。明日には帰る。すでに主要な目的は達成した。それならば、屋根のある場所をのんびり歩くのも悪くありません。

このときは、まだ分かっていませんでした。の商店街という選択が、結果的に大正解だったことを。

そして、先に言った「勝てぬ敵は近寄れぬ」の逆が「興味があるところには全力で行かせようとする」ということを。

この記事で述べた

この「想像とは違う」というのを少なくとも筆者はあと2回は体験することになります。

の1回目が

こちらの「都内の名園で鎮座する庭石」が敷石・飛び石になっているという事実。

満を持しての「2つめ」が、次の記事になります。

ピボット旅行2026-23『天運発揮』

はじめに

今回のピボット旅行2026において、筆者を悩ませ続けたもの。それは、雨です。

もともとはブロンプトンを携行し、しまなみ海道を走ることを主目的としていた今回の旅行。しかし、天候という外的要因によって計画は大きく変更されました。

「自転車が使えないなら、自転車では行きにくい場所に行けばいいじゃない」

またもやアントワネットが言ってない言葉をささやきます。

そうして訪問先に選んだのが、金刀比羅宮。いわゆる「こんぴらさん」です。

琴電琴平に降りた瞬間

高松から琴電に揺られ、琴電琴平駅へと到着した筆者。

雨が止みました。

何しろ、今回の旅行は筆者の旅行歴の中でも異例の雨続き。天気予報を見ながら行程を組み替えた結果、金刀比羅宮の参詣。

自転車での移動を前提にしていれば、石段を延々と上る目的地は無理です。私には『週末ツーリング』のような二輪車のテクはありません。

雨で自転車を置いてきたからこそ、自転車で行く方が難しい場所へ向かう。

アクシデントをそのまま次の行動の理由に変える、ピボット旅行らしい展開です。

↑建前↑

↓本音↓

「やっと仕事をしやがったか天候の神!」

ええ、筆者がそこに旅行する以上、良い天気なのは当然だを自負する筆者です。

「空気を吸って吐くことのように! HBの鉛筆をベキッ!とへし折る事と同じように」

筆者の旅といい天気は当然と思っている筆者にとっては「重力がやっと元に戻った」ぐらいの心境でした。

金刀比羅宮へのお礼参り

金刀比羅宮の主祭神は大物主神です。また、崇徳天皇も祀られています。そして、金刀比羅宮といえば、海上交通の守護神として広く信仰されてきた場所。

筆者は、今回の旅行で、18時間を超える船旅を経験しています。

東京から瀬戸内へ向かう際、利用したのはオーシャン東九フェリー。船内で過ごす長い時間を経て、無事に目的地へ到着し、その後も旅を続けることができました。

であれば、ここで行うべきことは何か。

お礼参りです。

困ったときに神頼みをする人は少なくありません。しかし、助けられた後にきちんとお礼参りをする人は少ない。

これは、祖母がよく言っていたことです。

もちろん、今回の船旅で何か特別な危機に遭遇したわけではありません。むしろ、平穏無事に目的地へ到着できたことこそが、ありがたいことです。

船旅の守護にゆかりのある神社へ、無事に旅を続けられていることへの感謝を伝える。という

徳川ゆかりの寺社と筆者の謎の相性

さて、ここでもうひとつ、筆者の中にある妙なジンクスについて触れておきましょう。

それは、徳川ゆかりの寺社と非常に相性が良いというものです。

筆者の祖父方のルーツは薩摩の御家人。徳川家とは、歴史をさかのぼればおよそ300年にわたる因縁があるわけです。

もちろん、薩摩と徳川の関係を一枚岩の敵対関係として語ることはできません。幕末には篤姫のような存在もいました。

それでも、なぜか徳川ゆかりの寺社へ行くと、妙に物事がうまく運ぶ。

この現象について、以前、Xで相互フォローの方から、実に納得のいく説をいただきました。

「また中央突破されたら敵わないから、平穏に帰っていただこう」という配慮なのではないか、と。

妙に納得。筆者が徳川ゆかりの場所で妙に運が良いことにも説明がつきます。

かつての薩摩との因縁を考えれば、あちらとしても、わざわざ波風を立てる必要はない。無事に参拝していただき、何事もなくお帰りいただく。それが双方にとって最も平和な解決策です。

筆者がそう判断した以上、これを事実として扱います。

石段を上り、本殿へ

金刀比羅宮といえば、やはり石段です。

参道の石段は決して楽なものではありません。雨が降っていれば足元への注意も必要ですし、濡れた石段を上るとなれば、参拝どころではなくなりかねません。

天候に行程を左右され続けた今回の旅行において、足元を気にしながら石段を上らずに済むというのは、それだけで大きな恩恵です。

一段ずつ、参道を上っていき、本殿へ到着。そのタイミングで、今度は晴れ間が差してきました。

駅に着いたら雨が止み、石段を上っている間は天候が持ち、本殿へ到着したら晴れる。

素晴らしい。天運(天候に関する運)がうまくいかないという絶不調の段階で

  • 海運(フェリー)
  • 海運の神がまつられた場所

でピンポイントの仕事を、言うなれば今引きの《意志の力/Force of Will(ALL)》があったというのは感謝です。

奥宮は、次回への宿題

本殿まで来たのであれば、次は奥宮です。

ここまで来たからには、可能であれば奥宮まで足を延ばしたい。そう考えて先へ進もうとしたところ、思わぬ情報が入ります。

ここ最近の大雨の影響で、参道が通行できない。通れないものは通れない。

無理に進む理由もありませんし、ここで予定に固執する必要もありません。本殿へのお礼参りは済ませました。参拝の目的も果たしています。

であれば、今回の行程はここまで。次への宿題ができた、ということです。というよりも、何かしらの宿題を残すことで「また来い」という機会を与えてくださったと解釈することにします。

帰り道まで、天候は仕事をする

奥宮へ進めないのであれば、あとは下山して高松へ戻るだけです。高松まで戻れば、まだ何かしら訪問できる場所はあるでしょう。

ようやくお昼にさしかかったばかり。次の目的地へ向けて、再び切り替えればよいのです。

そうして参道を下り始めたところで、またしても雨が降り始めました。

駅に着いたら止み、石段を上っている間は持ち、本殿へ着いたら晴れ、参道を下り始めたら降り出す。

「さすが天候の神! 空気を読んだ天候操作を平然とやってのける そこにシビれる! アコガれるゥ!」

の精神です。Good Point、むしろGod Pointというべき。まぁ、神の本領が発揮できる場所でなければ筆者の天候運は仕事ができなかった程度の異変が起こったと思います。

筆者がそう判断した以上、これを事実として扱います。(大事二度言

買い物は、もう済んでいる

金刀比羅宮の参道で買い物をする、という選択肢はあまりありませんでした。

尾道ですでに買い物を済ませています。言っては何ですが、「清水寺両脇とか仲店の石段版か……」程度の考えではありました。

そして、高松へ戻ります。

ピボット旅行2026-22『Udon in the Bank』

はじめに

前日の尾道行きから一夜明けた、2026年9月27日。

この日の高松も雨でした。尾道というメインイベントは終わりました。では、残された時間をいかに充実させるか。

前の記事で書いたとおり、脳内ゴリラルームのタイムコントロールによって、日記の遅れを取り戻し、身支度と荷物の確認まで完了。午前6時50分、筆者は朝食へ向かう準備を整えました。

目的は、うどんです。

パックうどんから始まる期待

そもそものきっかけは、旅行初日に食べたパックうどんでした。これが、思いのほか美味しかったのです。

「パックうどんでこれだけ感動するのなら、本場で食べたらどうなるのか?」

そう考えるのは、自然な流れでしょう。もちろん、筆者は高松まで来ています。うどんの都と呼ばれる土地で、うどんを食べずに帰るという選択肢はありません。

しかも、今回の旅行は雨です。

自転車での移動が難しい以上、晴れていれば自転車で訪れる場所を優先する意味は薄くなります。むしろ、雨だからこそ自転車では行きにくい場所を選んだ方が得策です。

そこで、目的地として決めていたのが金刀比羅宮でした。参詣の前に、まずは腹ごしらえ。

朝から営業しているうどん店を目指し、午前7時を目安に動き始めます。

金刀比羅宮へ向かう時間も確保しなければなりません。だからこそ、朝食を早い時間帯に済ませる必要があったのです。午前7時開店。十分間に合うだろう。

……そう考えていました。

えぇい、タイミングが悪いとこうも違うとは!

店に着いてみると、そこには想定外の光景がありました。

混雑です。

朝の7時だというのに、うどんを求める人々が集まっている。

「えぇい、タイミングが悪いとこうも違うとは!」

脳内シャア、早くも実況開始です。朝食を早めに済ませるという計画そのものは間違っていません。むしろ、これから金刀比羅宮へ向かうことを考えれば、合理的な判断です。しかし、時間を読めていることと、店が空いていることは別問題。

こういうところで、旅行というものは予定どおりにいかないものです。

とはいえ、ここで引き返す理由もありません。

せっかく来たのですから、いただきましょう。

スタイルと量を決める……合理的だな

うどん店で注文する。文字にすれば、それだけのことです。

しかし、混雑している店では、注文から会計までの流れが重要になります。

何を、どれだけ食べるのか。

それを決め、店の流れに沿って注文し、会計を済ませる。

「スタイルと量を決める……合理的だな」

脳内シャア、今度は店のオペレーションに注目しています。筆者好みの釜揚げがあるのは素晴らしかったです。

しかし、混雑しているからといって、客が迷い続けていては列が進みません。注文する側も、自分が食べたいものと量を判断し、手際よく進める必要があります。

そして、会計。

「ここでの会計のスマートさが彼らの評価基準という訳か」

もちろん、店の評価基準そのものを断定するつもりはありません。ただ、客が次々と訪れる状況では、料理の美味しさだけでなく、注文から会計までの流れも店の体験を構成する重要な要素です。

うどんを食べに来たはずなのに、脳内シャアはすっかりオペレーションの分析に入っています。

「これは……!」

そして、いよいよ実食です。箸を進めた、その瞬間。

「これは……!」

脳内にフレクサトーンが響き渡ります。ここで鳴るのは、ただの効果音ではありません。筆者にとっては、食べる前の期待と、実際に口にしたときの驚きが一致したことを告げる、例のニュータイプの効果音です。

あのパックうどんで、ここまで違うと思った。本場のうどんを食べることで、その差を実感したのです。

ここで思い出したのが、NXTです。

NXTは、WWEにおける育成ブランドという位置づけを持ちます。そこで提供される試合は、もちろん、それ単体で十分に楽しめるものです。しかし、WWEという興行全体を見渡せば、NXTはあくまでその一部。そこで求められる最低限の水準そのものが、既に高いのです。

これをうどんに置き換えるならば、あのパックうどんが、まさにそれに当たります。

香川県民にとっては、うどんとはこの程度の水準を満たしていて当然、というものなのかもしれません。しかし、他県から来た筆者にとっては、それだけでも十分に感動できるものでした。

ところが、この店の、ゆでたてのうどんは違います。これが、高松のメインイベントを張れるスーパースターの存在。

最低限の保障として提供されるものですら、十分に高い水準にある。それを知ったうえで、さらに上の格を見せつけられる。

パックうどんを入口にして、ここまで印象が変わるとは。そして、恐ろしいことに、香川県民が通う店は、ここだけではないのです。

まだ、これ以上の「推し店」がある。

今回の一杯で、本場のうどんの実力を見せつけられた。それなのに、地元の人々にとっては、これすら数ある選択肢の一つにすぎないわけです。

しかも、カニカマ天の太さにナス天のみずみずしさも加わります。

……いったい、どこまで層が厚いのか。

まだ、食べられる

今回の一杯で満足したか。もちろん、満足しました。

しかし、満足したことと、もう食べなくていいことは別問題です。

  • まだ食べたい店がある。
  • まだ試したい味がある。
  • 高松に滞在している以上、可能ならば、もう少し食べ歩きたい。

問題は、胃袋にも時間にも限りがあることです。うどん店を巡るためだけに旅行しているのなら、話は違ったかもしれません。しかし、今回は金刀比羅宮への参詣も控えています。

そもそも、朝食を早めに済ませるために、この時間に店へ来たのです。

ここで延々とうどんを食べ続けるわけにもいきません。

「まだ選べるというのに……!」

そんな未練を残しながら、筆者は店を後にします。

高松のうどんは、まだ終わっていない。しかし、今は次の目的地へ向かわなければなりません。

こうして、腹ごしらえを終えた筆者の金刀比羅宮参詣が始まったのでした。

ピボット旅行2026-21『自動書記の利用』

はじめに

2026年9月27日。

ようやく、ピボット旅行の3日目が始まりました。この日の天気も雨。尾道に行くというメインイベントは終わりました。では、この日をいかに充実させて過ごすか?

その前に、必須ルーチンが待っていました。

日記です。

ただし、単に日記を書くだけではありません。今回の旅行で筆者が利用したのは、脳内のゴリラルームが持つ、ある種の「自動書記」状態でした。

脳内の自動書記とは

まず、自動書記とは何か。ここで言う自動書記は、何か神秘的な力に導かれて文字を書くという話ではありません。

起き抜けのルーチン。顔を洗い、歯を磨き、ベッド周りを整える。いちいち「さて、次は歯を磨こう」と考えなくても、身体が勝手に動く、あの状態です。

筆者は、これを日記を書くところまで拡張しています。

頭が完全に覚醒する前に、いつもの手順の延長として筆記を始める。そうすると、書くか書かないかを判断する前に、既に手が動いているわけです。

何しろ、人間というものは、やる理由を見つけるのは大変ですが、やらない理由を見つけるのは非常に簡単です。ならば、そもそも「今日は書こうか、どうしようか」という判断を挟まなければいい。

これが、今回利用した自動書記の正体です。

なぜ日記を書くのか

これはもう、筆者の意地みたいなものです。かれこれ、ほぼ日手帳は2020年から再開し(再開、と言うのがポイントです)、2021年1月からは、全ての日付のページを埋めています。

「朝起きて着替えることを習慣とは言わない」

というレベルでやっています。

なぜ日記を書くのか? 生存報告みたいなものです。そのとき何を感じたか、どこへ動いたか、何が起きたか。そのまま記録する。

その時点での自分が何を考え、どう動いたのか。それを残しておけば、後からいくらでも振り返ることができます。そして、一度記録してしまえば、後はどうとでもなる。

旅行記を書くにしても、ブログの記事にするにしても、まずは材料があることが重要です。記憶だけを頼りにして、数日後に「あれ、あのとき何を考えていたんだっけ」となるのは避けたいところ。

だからこそ、「とにかく書いた」という事実が重要なのです。

サボるときはサボるが、書くときは書く

ところが、筆者の日記の書き方は、少々特殊です。

「4日~5日ほどすっ飛ばす」ときがあります。

理由は簡単。

「筆が乗らないから」。

ええ、言い訳としては百点満点ですね。しかし、筆者は「今日は一行書いたから日記にはしよう」とはなりません。なぜなら、「このページは書いていない」という事実を知っている人が確実にいるからです。

ほかならない、筆者自身です。

書いていないものを、書いたことにはできない。そのため、「4日ほどサボったら、5日分書き上げる」ということを半ば習慣にしています。

サボること自体は否定しません。筆が進まないときは進まないのですから、そこは仕方がない。ただし、サボった分は後で回収する。

このあたり、妙に律儀なのか、それとも単に面倒な性格なのか。おそらく両方でしょう。

そこで役立つ自動書記状態

さて、そんな筆者にとって、数日分の日記をまとめて書く作業は、なかなかの難敵です。人間、「やる理由」を見つけるのは大変ですが、「やらない理由」を見つけるのは非常に簡単です。

そして、筆者のサボり癖は、筆者自身が一番よく理解しています。

筆が進まないときは、書く必要がないように思えてしまう。明日でいい、後でいい、今は別のことをしよう。

そうしているうちに、未記入のページが増えていく。しかし、ここまで続けてきた記録の連続(ストリーク)を無駄にするのは、何かに負けるような気がして嫌すぎる。

そこで利用するのが、起き抜けの時間帯です。

頭が完全に覚醒する前なら、余計な判断を挟まずに作業へ入れます。「今日は日記を書くべきか」という議論を脳内で始める前に、既に筆記を始めてしまう。

意志の力で自分を奮い立たせるのではなく、意志の力を使わなくても作業が始まる状態に持ち込むわけです。

脳内のゴリラルームによる、なかなか合理的な時間管理と言えるでしょう。

筆記器具を持ち込んだ理由

もちろん、ただ起き抜けに手帳を開けば、すらすら書けるというものでもありません。

今回の旅行では、筆者が愛用している万年筆を、別便を利用したこともあって一切合切持ち込んでいました。

これにも理由があります。気分によって使いたい色が違う。それに伴って、筆記時の滑り心地も違う。

筆者の脳が「これならすらすら書けるな」と判断する組み合わせがあるのです。

日記を書くという作業そのものを習慣化していても、実際に手を動かすまでの抵抗がゼロになるわけではありません。

だからこそ、道具の力も借りる。

書き始めるまでの障壁を下げ、書き始めた後は勢いに任せる。自動書記状態を利用するのであれば、筆記環境も整えておくに越したことはありません。

こういうところだけは、妙に抜かりがないのです。

動き始めた筆

そして、実際にどうなったのか。9月27日の朝、日記は9月25日で止まっていました。つまり、旅行中の記録が2日目の途中までしか埋まっていなかったわけです。

そこで、脳が完全に動き出す前に書き始める状態へ持ち込みました。結果、1ページあたり約6分のペースで、9月30日分まで書き上げました。

繰り返しますが、これを成し遂げたのは9月27日です。まだ9月27日の朝だというのに、9月30日分まで書いている。

日記の日付を、現実の時間より先回りしてしまったのです。もちろん、未来に起きることを予言して書いたわけではありません。

書いたのは、今回のピボット旅行についてです。何を思ったか。何が起きたか。そこに至るまで、どのような意思決定をしたか。

今回の旅行は、当初の計画からさまざまなピボットを重ねています。そうした判断の経緯まで記録していくと、1日1ページでは到底収まりません。

そこで、ほぼ日手帳の日付の下のスペースに「9/25」などと実際の日付を書き込み、記録を続けていました。

手帳に印刷された日付と、記録している出来事の日付が一致しなくても構わない。

重要なのは、出来事を忘れないうちに記録しておくことです。後でブログにまとめる際にも、このときの記録があれば、旅行中の判断を含めて再構成できます。

何より、数日分をまとめて書くという作業を、旅行中に片付けられたのです。

時間経過

起きたのは、4時50分ごろ。

そこから歯を磨いたり、顔を洗ったり。着替える前に日記を書き終え、着替えや、この時点での荷物チェックまで済ませたのが6時50分でした。

約2時間で、身支度の一部と日記の追いつき、さらに荷物の確認まで完了。我ながら、脳内のゴリラルームのタイムコントロールはいい仕事をしています。

……というよりも、今回は「この時間帯でなければ朝ご飯に間に合わない」という事情がありました。

せっかく高松まで来たのです。うどんの都の名物を、朝からいただきたい。

しかも、目指すのは朝早くから営業しているうどん店です。のんびりと寝坊している余裕はありません。

日記を書くべきか、書かざるべきか。そんな脳内会議を開いている時間もありません。

だからこそ、起き抜けの自動書記を利用し、必要な作業を先に片付けた。

こうして、午前6時50分。筆者は手帳を閉じ、朝の高松へ出発する準備を整えたのでした。

Page 1 of 309

次

Powered by WordPress & Theme by Anders Norén