世界を動かす技術を、日本語で。

Raspberry Piを使って自分だけのダイヤルアップISPを構築しよう

概要

  • 1999年製Tangerine iBook G3とAirPortカードによるレトロMac体験の紹介
  • Raspberry Piと電話回線シミュレータを使ったローカルダイヤルアップISP構築
  • mgettyとPPPによるLinux上でのダイヤルアップ接続実現
  • Macproxy Classicで現代Webをレトロブラウザ向けに変換
  • Wi-Fi経由でダイヤルアップ速度を再現し、懐かしさと学びの両立

1999年のiBook G3とAirPortカードの魅力

  • Tangerine iBook G3 Clamshell のコレクション追加
  • AirPortカード 搭載で初のWi-Fi内蔵コンシューマー向けノート
  • 1999年当時の Wi-Fi(802.11b)最大11Mbps、実効速度はさらに低下
  • AirPort Base Station には10base-Tイーサネットと56Kモデムを搭載
  • 当時の多くのユーザーが AOL等のダイヤルアップISP 利用

ローカルダイヤルアップISPの自作

  • Raspberry Pi と電話回線シミュレータを使ったISP構築
  • 必要なハードウェア
    • SBC(Raspberry Pi 3/4/5)
    • Viking DLE-200B Two-Way Line Simulator
    • StarTech.com 56K USBダイヤルアップモデム
    • 電話線ケーブル数本
  • モデムと電話回線シミュレータを接続し、iBook G3をもう一方に接続
  • DLE-200Bのdipスイッチ#3 をUPで音量低減、通信速度向上
  • デバッグ用に ベル式電話機 も追加可能

ソフトウェア構成と設定

  • mgetty でモデム経由の着信とハンドシェイク管理
  • PPP(Point-to-Point Protocol) で認証とネットワークブリッジを実現
  • 詳細設定は Ansible Playbook を利用した自作リポジトリを公開
  • 推奨リソース
    • Doge MicrosystemsのDial up server Wiki
    • WebminのPPP Dialin Serverドキュメント
  • PPPデーモンのログ で接続状況を監視可能
  • minicom でモデムと手動ATコマンド操作も可能

ダイヤルアップ体験の再現と課題

  • 33.6Kbps での接続が多く、安定性重視なら28.8Kbps推奨
  • POTS(アナログ電話回線) の限界で56Kは実質困難
  • ダウンロード速度は 2.8KB/sec、当時の夜間長時間DLの思い出
  • モダンWebサイトはTLS証明書や暗号化の問題で閲覧不可

Macproxy Classicによる現代Webのレトロ化

  • Macproxy Classic で現代Webをレトロブラウザ向けに変換
    • CSS・JavaScript・HTMLタグの簡素化
    • Internet Explorer 5で自サイト閲覧に成功
  • WayBack Machine Extension で過去のWebアーカイブ閲覧も可能

Wi-Fi経由ダイヤルアップの実現とバッテリー再生

  • iBook G3のバッテリー再生 で6時間以上の稼働を実現
  • AirPort Base Station の不安定さや冷却設計の課題
  • Apple AirPort Admin Utility の直感的なUI評価
  • PowerBook G3 でもLucent WaveLAN PC Cardで無線接続成功

学びとレトロPC収集の意義

  • ノスタルジーだけでなく LinuxのmgettyやPPPの理解 向上
  • QAM(直交振幅変調) の仕組みと現代Wi-Fiへの応用の学習
  • レトロPCの収集・修復 が自己学習と趣味の両立
  • MacやPC、パーツや修理用具が増え続ける現状への自嘲

補足

  • Debian系Linuxでの動作を推奨。他ディストリビューションは要調整
  • 家庭用電話回線の長時間占有やISDNの思い出
  • Apple製品のデザイン重視 による冷却問題にも言及

Hackerたちの意見

それやる必要ないよ。俺はUSRトータルコントロールシャーシをホワイトノイズジェネレーターとして使ってる。

自分で9ボルトバッテリーと古い電話線を使ってラインシミュレーターを作った方が楽しかったんじゃないかな。ダイヤルトーンを完全にスキップしてちょっとしたマジックを楽しむのも良さそうだし…120ドルのブラックボックスのテレコシミュレーターは、楽しさを半減させちゃうよね。でも、今のPiの価格を考えると、120ドルのテレコシミュレーターは300ドルのPi 5と相性がいいかも。

ラインシミュレーターは楽しいよね。ポート同士で呼び合えるし、9ボルトのトリックみたいにモデムにカスタムイニット文字列を設定する必要もないから。古いデバイスにはそれが必要なこともあるけどね。Linksys/Ciscoの古いVoIP ATAを安いラインシミュレーターとして使うこともできるよ。完全アナログのTLSみたいに、ポート同士で呼び合える。設定が面倒なこともあるけど、安いし十分に動くよ。俺はこの3つの方法を使ったことがあるけど、TLSが一番簡単だった。ATAは、複数持ってて、ダイヤルインサーバーが遊んでるクライアントのいる部屋と違う場合に便利だよ。ATAは別のデバイスに「呼び出し」を設定することもできるから、オフィスのATAが地下のATA(Linuxサーバーがある)に電話をかけるなんてこともできる。

もしそれ以上の電話回線が必要なら、Ebayで古いCisco VG-224を買えば、そのラインシミュレーターの半額以下で手に入るし、24回線も使えるよ。すべての回線がカスタム電話番号でお互いに呼び合えるスタンドアロンユニットとして使える設定もあるよ(こちらにメモがあるよ [1])。ただ、50ピンのセントロニクススタイルのコネクタが付いてるから、RJ11にどうにかして接続しないといけないのが難点。あと、サイズが大きい(1Uラック)し、ファンも付いてる。俺はいくつか持ってて、モデムやコンピュータをたくさん接続する予定なんだけど、まだやってないんだ。限られたテストではモデムはちゃんと動いてるみたい。電話とも(予想通り)うまく動いてるし、パルスダイヤルも使えるよ。[1] https://alnwlsn.com/z/pots/cisco-vg224.html

主なポイントは、50ピンのセントロニクススタイルのコネクタが付いてることだ。これをRJ11にどうにかして接続しなきゃいけない。これはただの失われた技術の一つで、昔は結構詳しく学んだことがあるんだ。地域によって呼び名が違うけど(セントロニクス、シンチ、CHAMPって呼ばれることもあるし、ここではアムフェノールって呼んでる)。簡単な方法は名前に関係なく同じで、壁に取り付ける66パンチブロック(いわゆる「50ペア」)を使うことだ。適切なコネクタが付いた25ペアのケーブルを買って、66ブロックの片側にそのケーブルをパンチダウンする。これでシステムがパンチブロックに接続される。重要なのは、その配線はもう触らないこと。電話(正確には電話用のジャックの配線)は66ブロックの反対側に接続されて、これも触らない。電話とシステムは、ブリッジクリップでブロックの2つの部分をつなげて接続/切断する(1:1の接続しかできないけど、それで十分なことが多い)。別の方法として、「おしゃれな!」バリエーションでは、単一ペアのクロスコネクトワイヤーを使って、任意の電話を任意のシステムポートにすぐに接続できるようにすることもできる。あとはアムフェノールを接続して、電話をつなげて、自分とおしゃべりを楽しんでね。(小さいものにはこれが簡単な方法だけど、大きいもの(数百または数千ペア)にはもっと整理が必要だけど、パンチブロックはそこでも普通に使われてるよ。)

VG224はV.90/V.92の速度を管理できるのかな?ジェフのセットアップは、他のYouTuberがよくやる罠にはまってるね。ATAや他のデバイスを通してモデムにダイヤルすると、速度はV.34(33600ボー)に制限されちゃう。あの時代のテレコムについて理解している限りでは、できるだけ信号をデジタルのまま保つのが理想なんだ。顧客モデムとPBXの間のリンクだけが「アナログ」部分として残るのが理想。VG224は(実質的に)24のATAがコートを着ているようなもので、その要件を満たしているみたいだね。ただ、インストールしたらAsteriskのようなPBXに接続する必要がある。その後、理解している限りでは、それをT1ラインとしてトランク接続して、モデムコールをデジタルで処理できる何か(例えばCisco AS5300)に接続することになる。

もう一つの問題は、その電話回線に契約しなきゃいけないこと(本物のPOTS回線で、VOIPじゃないやつ)。私の住んでるところでは、ベル・カナダしか選択肢がないんだ。家庭用の電話回線1本の料金が月58ドル!企業向けのアカウントもあるけど、そこで24本の電話回線に契約できるかもしれないけど、めっちゃ高いよね!それに、24本の電話回線を住宅に持ち込むことを許可してくれるかも微妙だし。もしかしたら、そんなに多くの回線を提供できるトランク容量もないかもしれないから、オフィススペースを借りてT1回線を引いてもらう必要があるかも。

誰かが実際にこういうセットアップを使って、光回線がダウンしたときのバックアップにしてるか気になるな。レイテンシはひどいだろうけど、数kbpsでも無いよりはマシだよね。

プロジェクトとしては面白いけど、スタンバイモードのスターリンクの皿(500kbps)みたいな、もっと良い低速バックアップオプションがあるよね。

先日、WRT54Gを引っ張り出して56Kの制限をかけてみたんだ。Ubuntuっぽいネットブックでapt-get updateを完了させるのに数日かかったよ。でも、50個のブラウザタブを開いたノートパソコンを接続したら、タブ自体がバックグラウンドトラフィックで帯域幅の100%を消費しちゃって、他のネットワークサービスは全く動かなかった。システムを調整してない限り、ダイヤルアップモデムの速度は実質的に「全く接続できていない」と同じだね。

ジェフが動画で言ってたけど、CNNのトップページを読み込むのに1時間半くらいかかるんだって(20MB以上)。2026年の現代のインターネットでは33.6Kbpsは実用的じゃないよ。兄弟コメントでも触れられてたけど、スターレンク(スタンバイモードでも)を使った方がずっといい。lite.cnn.comは約10秒で読み込まれるから、かなり良いけど、もうそんなサイトはあまり残ってないよね。90年代のインターネットがこういう制限の中でどれだけ素晴らしかったかっていうのは驚きだよ。RAMやディスクスペースと同じように、当時の開発者たちは帯域幅にすごく気を使ってたけど、今の開発者(やエージェント)はその点にあまり気を使わなくて済むんだよね。

これは普通の光ファイバーインターネットをバックボーンとして使ってるから、光ファイバーがダウンするとダイヤルアップもダウンしちゃうんだ。

俺が欲しいのは、コンパクトなダイヤルアップからWi-Fiへのブリッジがいくつかあって、30年前のハードウェアをWi-Fi化できたら最高だな。古いPOPクライアントでメールを読んだり、オリジナルのAIMソフトウェアでチャットしたりするのも面白そう(LAN上のサーバーを使うようにパッチを当てて)。

USB FXSアダプタと何かPiのようなものでそれができるかずっと考えてたんだけど、基本的には動作させるために何らかのソフトモデムが必要で、Asterisk用の唯一のモジュールはその挑戦には応えられない(5年前にチェックしたときはそうだった)。正直言って、PPPをヌルモデムで直列接続する方が理にかなってると思う。

残念ながら、まだプラグアンドプレイではないけど、みんながRaspberry PiやUSBモデムを使ってダイヤルアップブリッジを作るプロセスをかなり簡略化してるよ。セガ・ドリームキャストのオンラインマルチプレイヤーを復活させるためにね(56kモデム付きだったし)。[1] https://dreamcastlive.net/dreampi-tutorial/

いいね、でもスリップとプリンクの方がもっと楽しいよ。

FOSDEM 2026で自分のダイヤルアップISPを作る話をしたんだけど、あまり良くはなかったけど、特にVoIPでの運用に関するポイントや設定のヒントがいくつかあったよ。ダイヤルアップを生かしてくれてありがとう!

ちょっと関連する話なんだけど、今朝、Wi-Fiやインターネットを通じて家庭用(非セルラー)の電話サービスを提供している会社があることを知ったんだ。考えてみて、クラシックなコードレス電話みたいなもので、ただベースステーションがWi-Fiに接続されてるだけ。中には無料で無制限のサービスを提供している会社もあって、私が見ていたものは、iOS/Android用のアプリがあって、インターネット接続があればどこからでも自宅の番号で電話がかけられるんだ。これらの番号はVOIPとしてフラグが立てられていると思うけど(多くのアプリやサイト、会社がVOIP番号を嫌っているから)、発見としては面白いよね。家庭用電話はもう死んでると思ってたのに。

つまり、基本的にはVOIPってこと?

過去10年くらいの間に、ほとんどのISPがこれを提供してるよ。多くのモデムにはPOTSのRJ11ジャックが付いてるし。そう、VOIPだね。適切な市外局番付きの「本物」の番号がもらえるかもしれないけど、それは実際のPOTSネットワークを通るかどうかは地域やISPによるね。