ChromeOS FlexをインストールしたPCとiPhoneの間で、SMBを使って写真や書類を共有したいと考えることがあります。iPhoneの「ファイル」アプリにはファイルサーバーへ接続する機能があるため、ChromeOS Flex側をSMBサーバーにできれば便利そうに見えます。
しかし、ChromeOS FlexにはWindowsの「共有フォルダー」のように、数クリックでSMBサーバーを公開する標準機能は用意されていません。ChromeOSの「ファイル」アプリにはSMB共有へ接続するクライアント機能がありますが、ChromeOS Flex自身をSMBサーバーとして公開する機能とは別物です。Google公式・SMB共有への接続方法[参照]
Linux開発環境にSambaを導入する方法も思い付きますが、ChromeOSのLinux環境は仮想化された環境で動作し、外部公開用のポート転送にも制約があります。特にSMBで標準的に使うTCP 445番ポートとの相性が問題になるため、iPhoneから普通のSMBサーバーとして利用する目的ではおすすめしにくい構成です。
- まず「ChromeOS Flex」と「Chromebook」は同じではない
- ChromeOSのSMB機能は「サーバー」ではなく「クライアント」
- iPhone側は標準の「ファイル」アプリからSMBサーバーへ接続できる
- Linux開発環境へSambaを入れる方法はあるが簡単ではない
- SMBでは445番ポートが大きな問題になる
- SMBを別の高いポートで動かせばよいとは限らない
- ChromeOS FlexのLinux開発環境自体が使えないPCもある
- 安全性と利便性を考えるなら「別のSMBサーバー」を用意するのがおすすめ
- 構成は「ChromeOS Flex⇔SMBサーバー⇔iPhone」が分かりやすい
- 費用を抑えたいならWi-FiルーターのUSB共有機能を確認する
- 本格的に使うならNASが最も分かりやすい
- 余っているPCがあるならLinux+Sambaも実用的
- ChromeOS Flexを残したいならクラウド共有も簡単
- 目的別のおすすめ方法
- SMBをインターネットへ直接公開してはいけない
- 家庭内SMBで最低限行いたいセキュリティ設定
- ChromeOS Flexから別のSMBサーバーへ接続する方法
- iPhoneからSMBへ接続する方法
- まとめ|ChromeOS Flex自体をSMBサーバーにするより別サーバーを用意するのが現実的
まず「ChromeOS Flex」と「Chromebook」は同じではない
ChromeOS Flexは、Windows PCやMacなど既存のPCへGoogleのOSを導入して利用する仕組みです。ChromeOSと基盤技術の多くを共有しますが、Chromebookで利用できるすべての機能がChromeOS Flexでも使えるわけではありません。
Googleによると、ChromeOS FlexではGoogle Playと一般的なAndroidアプリの利用に制限があり、Linux開発環境についてもPCの機種やセキュリティ・ハードウェア要件によって利用可否が異なります。Google公式・ChromeOS FlexとChromeOSの違い[参照]
そのため、Android向けのSMBサーバーアプリをGoogle Playから入れて簡単に共有する、という通常のAndroid端末のような方法はChromeOS Flexでは基本的な解決策になりません。
ChromeOSのSMB機能は「サーバー」ではなく「クライアント」
ChromeOSのファイルアプリには、「新しいサービスを追加」からSMBファイル共有へ接続する機能があります。例えば家庭内にWindows PCやNASがあり、「\\192.168.1.10\share」のような共有フォルダーが存在すれば、それをChromeOS側から開くことができます。
これはChromeOS FlexからNASなどのデータを見るための機能です。反対方向、つまり「ChromeOS Flex内のフォルダーをiPhoneへSMB公開する」ための機能ではありません。
「ChromeOS FlexがSMBに対応している」という情報を見つけても、それだけでChromeOS FlexをSMBサーバーにできるとは限らない点が重要です。SMBクライアントとSMBサーバーは分けて考える必要があります。
iPhone側は標準の「ファイル」アプリからSMBサーバーへ接続できる
iPhoneについては、別途SMB専用アプリを必ずしもインストールする必要はありません。Appleの「ファイル」アプリには、ネットワーク上のコンピューターやファイルサーバーへ接続する機能があります。
Apple公式の手順では、「ファイル」アプリの「ブラウズ」からメニューを開き、「サーバへ接続」を選択してローカルホスト名またはネットワークアドレスを入力します。ゲスト接続のほか、ユーザー名とパスワードを入力する「登録ユーザ」での接続にも対応しています。Apple公式・iPhoneからファイルサーバーへ接続する方法[参照]
したがって、問題になるのはiPhone側ではなく、ChromeOS Flex側で一般的なSMBサーバーを安全かつ安定して公開できるかどうかです。
Linux開発環境へSambaを入れる方法はあるが簡単ではない
ChromeOSにはDebianベースのLinux開発環境があり、利用可能な端末ならAPTを使ってLinuxソフトをインストールできます。GoogleもLinux環境ではコマンドラインツールなどを追加できると案内しています。Google公式・Linux開発環境の設定[参照]
理屈の上では、このLinux環境へSambaパッケージをインストールし、smb.confを編集して共有フォルダーを作ることはできます。通常のDebian PCなら、これでSMBサーバーを構築できます。
ところがChromeOSのLinux環境は、ChromeOS本体と同じLANへ直接参加する通常のLinux環境ではありません。仮想環境内で動いているため、LAN上のiPhoneから接続させるにはChromeOS側からLinux環境へのポート転送が必要になります。
SMBでは445番ポートが大きな問題になる
現在のSMBでは、一般的にTCPの445番ポートが使われます。一方、ChromeOSのLinux開発環境にあるポート転送機能では、設定可能なポート番号に制限があります。
Chromiumの現在の実装では、Crostiniのポート転送に指定できる範囲は1024~65535番とされています。つまりSMBで標準的に使われる445番は、この通常のポート転送画面では指定できません。Chromiumソース・Linuxポート転送のポート範囲[参照]
GoogleのChromeOS開発者向け資料でも、Linux環境のサーバーを他の端末から利用するためのポート転送機能が案内されていますが、これは主にWeb開発サーバーなどを想定した仕組みです。ChromeOS.dev・ポート転送[参照]
この制約があるため、「Linuxを有効化→Sambaをインストール→iPhoneから普通にSMB接続」という手順はChromeOS Flexでは素直に成立しません。
SMBを別の高いポートで動かせばよいとは限らない
ここで「445番が無理なら1445番などでSambaを動かせばよいのでは」と考えることもできます。Linuxサーバー同士など、クライアント側で接続ポートを自由に指定できる環境なら応用できる場合があります。
しかしiPhone標準の「ファイル」アプリを一般的なSMBクライアントとして利用する目的では、非標準ポートを前提とした構成は互換性や使い勝手の点でおすすめできません。OSアップデート後も含め、通常のSMBサーバーと同じ安定性を期待する構成ではありません。
複雑なプロキシやネットワーク設定を加えれば技術的な実験の余地はありますが、「簡単」「安全」「日常的に便利」という目的から離れてしまいます。ファイル保存用のサーバーは、動けばよいだけでなく、再起動後にも確実につながることやデータを失いにくいことが重要です。
ChromeOS FlexのLinux開発環境自体が使えないPCもある
さらにChromeOS Flexでは、すべてのPCでLinux開発環境が利用できるとは限りません。Googleは、セキュリティとハードウェア機能の条件を満たすChromeOS Flex端末だけがLinux開発環境をサポートすると説明しています。Google公式・ChromeOS Flexの既知の問題[参照]
PCによってはBIOS・UEFIでVT-xやVT-dなど仮想化関連機能を有効にする必要があります。それでも機種によってはLinuxが利用できません。
まず「設定→ChromeOSについて→デベロッパー」付近にLinux開発環境をセットアップする項目が存在するか確認できますが、仮にLinuxが使えても、前述のSMB用ポートの問題は別に残ります。
安全性と利便性を考えるなら「別のSMBサーバー」を用意するのがおすすめ
iPhoneとChromeOS Flexの間でSMBを使いたい場合、もっとも安定しやすい構成はChromeOS Flex自身をサーバーにするのではなく、同じ家庭内LANへ別のSMBサーバーを置く方法です。
例えばNAS、USBストレージ共有機能のあるWi-Fiルーター、Windows PC、Linux PC、Raspberry PiなどをSMBサーバーにします。そしてChromeOS FlexとiPhoneの両方から同じ共有フォルダーへアクセスします。
この構成なら、ChromeOS Flex側はGoogleが標準で用意しているSMBクライアント機能を使い、iPhone側はApple標準の「ファイル」アプリを使えます。OSの裏技的な設定をせず、両端末とも本来想定されたクライアントとして利用できます。
構成は「ChromeOS Flex⇔SMBサーバー⇔iPhone」が分かりやすい
家庭内でファイルを共有するなら、次のような構成が扱いやすくなります。
ChromeOS Flex ←→ Wi-Fiルーター/NAS上の共有フォルダー ←→ iPhone
例えばiPhoneで撮影した写真をSMB共有の「Photo」フォルダーへ保存し、ChromeOS Flexのファイルアプリから同じフォルダーを開く、といった使い方ができます。逆にChromeOS FlexからPDFを共有フォルダーへ保存し、iPhoneの「ファイル」アプリから読むこともできます。
サーバーとなるNASやルーターが常時稼働していれば、ChromeOS FlexのPCを起動していなくてもiPhoneからファイルへアクセスできる点も大きなメリットです。
費用を抑えたいならWi-FiルーターのUSB共有機能を確認する
できるだけ安くSMB環境を作りたい場合、現在使っているWi-Fiルーターを確認してみる価値があります。機種によってはUSB端子へUSBメモリや外付けSSD・HDDを接続し、家庭内LANにファイル共有できる機能があります。
ただし、USB端子があるルーターなら必ずSMBに対応するわけではありません。「ファイル共有」「USBストレージ共有」「Samba」「SMB」などの機能が取扱説明書に記載されているか確認します。
また古いルーターではSMB1しか使えない製品などもあるため注意が必要です。セキュリティと互換性を考えるなら、現在サポートされているSMB2またはSMB3を利用できる製品を選ぶほうが適しています。
本格的に使うならNASが最も分かりやすい
写真や書類の保存場所として長期的に利用したいなら、NASはChromeOS Flexを無理にサーバー化するより適しています。NASはネットワーク上でファイルを提供すること自体を目的に作られているため、ユーザー管理、共有フォルダー、バックアップなどを設定しやすいのが特徴です。
ChromeOS FlexからはファイルアプリでSMB共有を追加し、iPhoneからは「ファイル→サーバへ接続」で同じNASへアクセスできます。家族用、個人用などアカウントを分けることも可能です。
価格はかかりますが、大切な写真を保存するのであれば「古いPC上の実験的なSamba環境」よりも運用しやすい選択肢です。ただしNAS自体もバックアップではないため、本当に重要なデータは別のドライブやクラウドにもコピーしておきます。
余っているPCがあるならLinux+Sambaも実用的
追加費用をできるだけ抑えながら本格的なSMBを使いたい場合、余っているPCへ通常のLinuxを入れてSambaサーバーにする方法もあります。ChromeOS Flex上の仮想Linuxとは異なり、通常のLinuxを直接インストールすればLAN上でTCP 445番を利用する一般的なSambaサーバーとして構成できます。
この場合はSambaのインストール、共有フォルダー、ユーザー、ファイアウォールなどの設定が必要になるため、NASより難易度は上がります。その代わり、Linuxの知識があれば細かなアクセス権やストレージ構成を自由に設定できます。
もし「ChromeOS Flexを入れているそのPCをどうしてもファイルサーバー専用機として使いたい」という目的なら、ChromeOS Flex上で無理にSambaを公開するより、そのPCへDebianやUbuntuなど一般的なLinuxをインストールしてSambaサーバー化するほうが構成として素直です。
ChromeOS Flexを残したいならクラウド共有も簡単
目的が「iPhoneとChromeOS Flexの間で写真やファイルを移したい」だけで、SMBそのものにこだわりがない場合は、Google Driveなどのクラウドストレージを使う方法が最も簡単です。
ChromeOSではGoogle Driveとの連携が標準的に利用でき、iPhoneにもGoogle Driveアプリを導入できます。外出先からも利用でき、LANのIPアドレスやサーバー設定を意識する必要がありません。
ただしクラウドはインターネット接続が必要になり、保存容量にも契約上の上限があります。「家庭内だけで大容量ファイルを高速転送したい」「データを外部サービスへ置きたくない」という場合にはSMB/NASのほうが向いています。
目的別のおすすめ方法
| 目的 | おすすめ | 難易度 |
|---|---|---|
| とにかく簡単にiPhoneとファイル共有 | Google Driveなどのクラウド | 低 |
| 家庭内だけでSMB共有 | SMB対応Wi-Fiルーター | 低~中 |
| 写真やファイルを長期保存 | NAS | 低~中 |
| 安価で自由度の高いSMBサーバー | 余ったPCやRaspberry Pi+Samba | 中~高 |
| ChromeOS Flex上のLinux+Samba | 非推奨・検証用途向け | 高 |
「簡単さ・安全性・安定性」を優先するなら、ChromeOS FlexをSMBサーバーにすること自体にこだわらず、ChromeOS FlexとiPhoneをクライアントとして使う構成が合理的です。
SMBをインターネットへ直接公開してはいけない
SMBサーバーを構築する際に特に注意したいのが、ルーターのポート開放です。外出先のiPhoneから接続したいからといって、TCP 445番をインターネットへ直接ポート転送するのは避けるべきです。
SMBは基本的に家庭内LANなど信頼できるネットワーク内で使います。外出先から自宅のファイルへアクセスしたい場合は、NASメーカーが正式に提供している安全なリモートアクセス機能や、適切に構成したVPNを利用するのが基本です。
また「ゲストで誰でも書き込み可能」の共有より、専用ユーザーと十分に強いパスワードを設定し、必要なフォルダーだけへアクセス権を与えるほうが安全です。
家庭内SMBで最低限行いたいセキュリティ設定
SMBサーバーをNAS、ルーター、Linuxなどで用意する場合にも、初期設定のまま使わずアクセス権を整理しましょう。
- SMB1ではなく、可能な限りSMB2・SMB3を利用する
- ゲストの書き込み共有を避ける
- iPhone用など専用ユーザーを作る
- 推測されにくいパスワードを設定する
- 不要な共有フォルダーを公開しない
- ルーターからTCP 445番をインターネットへ開放しない
- サーバーやNASのOS・ファームウェアを更新する
- 重要データは別媒体にもバックアップする
家庭内だけのファイル共有でも、誤設定によって他の端末から不要なファイルまで見える状態になることがあります。「共有するデータ」と「サーバー内にあるすべてのデータ」を分けておくことも重要です。
ChromeOS Flexから別のSMBサーバーへ接続する方法
別途NASなどを用意した場合、ChromeOS側からの接続は比較的簡単です。Google公式では、ファイルアプリを開き、メニューから「新しいサービスを追加」→「SMBファイル共有」を選択して共有を追加する方法が案内されています。Google公式・SMBファイル共有を追加する方法[参照]
接続先としてNASやLinuxサーバーのIPアドレス・共有名を指定し、必要ならユーザー名とパスワードを設定します。追加後はファイルアプリ内から通常のフォルダーに近い感覚で利用できます。
サーバーのIPアドレスが頻繁に変わると接続しにくくなるため、本格運用する場合はルーターのDHCP予約などを利用し、NAS・SMBサーバーへ同じローカルIPアドレスが割り当てられるようにすると管理しやすくなります。
iPhoneからSMBへ接続する方法
SMBサーバーを用意したら、iPhoneでは標準の「ファイル」アプリを開きます。「ブラウズ」画面からメニューを開き、「サーバへ接続」を選択します。
例えばSMBサーバーのローカルIPアドレスが192.168.1.50なら、そのアドレスを接続先として指定します。認証が必要なサーバーでは「登録ユーザ」を選び、SMBサーバー側で作成したユーザー名とパスワードを入力します。
接続後はファイルアプリから共有フォルダーを開けます。iPhoneとサーバーが同じ家庭内Wi-Fiに接続されていることも確認してください。ゲストWi-Fiでは端末間通信が遮断されていることがあり、その場合は同じWi-Fiに見えてもSMBへ接続できません。
まとめ|ChromeOS Flex自体をSMBサーバーにするより別サーバーを用意するのが現実的
ChromeOS FlexにはSMB共有へ接続する機能がありますが、Windowsの共有フォルダーのようにChromeOS Flex自身を簡単にSMBサーバーとして公開する標準機能はありません。
Linux開発環境へSambaを導入すること自体は考えられますが、ChromeOSのLinux環境は仮想化されており、LANからアクセスさせるにはポート転送が必要です。現在の通常のCrostiniポート転送は1024番以上を対象としているため、SMBで標準的に使うTCP 445番をそのまま公開できず、iPhone標準のファイルアプリとの組み合わせには適しません。
iPhoneとChromeOS FlexでSMB共有したい場合は、「ChromeOS Flexをサーバーにする」のではなく、「NAS・SMB対応ルーター・Linux PCなどをサーバーにして、ChromeOS FlexとiPhoneの両方から接続する」構成がおすすめです。
費用を最小限にするなら、まず現在のWi-FiルーターにUSBストレージのSMB共有機能があるか確認するとよいでしょう。本格的に写真やデータを保管するならNAS、余ったPCを活用して設定を学びたいなら通常のLinux+Sambaが適しています。
単純にiPhoneとファイルを受け渡したいだけならGoogle Driveなどのクラウドも候補です。SMBを使う場合にはTCP 445番をインターネットへ直接公開せず、家庭内LANで利用し、ユーザー認証・SMB2/3・バックアップを組み合わせることが、安全性と利便性を両立するポイントです。


コメント