# VPN不要のファイルサーバーをAzure上に作ってみた!SMB over QUICで443番ポートを使う
## この記事の内容
- SMB over QUICという新しいプロトコルを使い、VPNや追加の暗号化なしでインターネット越しにファイル共有ができます
- Windows Server 2022 Azure Editionと Windows 11クライアントの組み合わせが必要です
- Active Directoryやドメイン参加、管理サーバーなしのワークグループ構成で実現できます
- Let's Encryptの無料証明書をwin-acmeツールで取得し、SMBに割り当てます
- TCP 445番ポートをブロックし、UDP 443番ポートを開けることでSMB over QUICが機能します
---
## SMB over QUICとは
通常のファイルサーバー(SMB)はTCPの445番ポートを使用するため、インターネット経由でのアクセスはセキュリティ上の理由でブロックされているケースがほとんどです。Azure FilesなどもこのポートがブロックされているためVPN経由でのアクセスが必要になります。
SMB over QUICは、QUICプロトコル(UDP 443番)を使ってSMBトラフィックをカプセル化する新しいプロトコルです。暗号化がプロトコル自体に組み込まれているため、別途VPNを張ったり証明書ベースの複雑な設定をしたりすることなく、インターネット越しに安全なファイル共有が実現できます。
---
## 前提条件
SMB over QUICを使用するには以下が必要です。
| 項目 | 要件 |
|------|------|
| サーバーOS | Windows Server 2022 Azure Edition |
| クライアントOS | Windows 11(Windows 10は未サポート) |
| ドメイン | 不要(ワークグループ構成可) |
| VPN | 不要 |
| 証明書 | 必要(Let's Encryptの無料証明書で可) |
Windows 10クライアントはSMB over QUICをサポートしていないため、クライアントをWindows 11に統一する必要があります。組織によってはここがハードルになる可能性があります。
---
## 構成の全体像
インターネット経由のアクセスフローは以下のようになります。
Windows 11クライアント ↓ UDP 443 (SMB over QUIC) インターネット ↓ Azure VM(Windows Server 2022 Azure Edition) ↓ 共有フォルダ ファイルサーバー
quic.ebisuda.net. A <VMのパブリックIP>
Step 3: win-acmeで証明書を取得する
Azure VM(Windows Server 2022)にRDP接続し、作業を行います。
win-acmeのダウンロードと配置
win-acme(wacs)はWindows向けのACMEクライアントです。Let’s Encryptの証明書を自動取得・自動更新できます。
- GitHubのリリースページからzipファイルをダウンロードします
C:\win-acmeフォルダに展開します(パスの推奨場所です)- 管理者権限でコマンドプロンプトを開き、
C:\win-acmeに移動します
cd C:\win-acme
wacs.exe
証明書の取得手順
wacs.exeを管理者権限で起動すると対話形式のメニューが表示されます。
- N(Create certificate)を選択
- 2(Manual input)を選択
- ホスト名を入力(例:
quic.ebisuda.net) - 利用規約に同意し、メールアドレスを入力
- ドメインの所有確認にはDNS TXTレコード方式(6番)を選択します
DNSゾーンにTXTレコードを追加したら、wacs.exeに戻りEnterを押します。バリデーションが成功したら証明書がWindowsの証明書ストア(個人)に保存されます。
確認後、TXTレコードは削除しても構いません。
証明書の確認
MMC(mmc.exe)を起動し、証明書スナップイン(コンピューターアカウント)で「個人」ストアに証明書が入っていることを確認します。
Step 4: SMB over QUICを構成する
PowerShellを管理者権限で開き、現在のSMBサーバー設定を確認します。
Get-SmbServerConfiguration
EnableSMBQUIC が True になっていれば、SMB over QUICは有効です(Azure Editionではデフォルトで有効になっています)。
暗号化の設定変更
デフォルトでは DisableCompression や暗号化の一部設定が緩い状態になっています。証明書を使った接続を強制するため、以下を実行します。
Set-SmbServerConfiguration -RestrictNamedpipeAccessViaQuic $false
証明書をSMBにマッピングする
取得した証明書のサムプリントと情報をSMBに割り当てます。
まず証明書の情報を確認します(MMCまたは以下のコマンド)。
Get-ChildItem -Path Cert:\LocalMachine\My
必要な情報を変数に格納してマッピングを実行します。
$thumbprint = "<証明書のサムプリント>"
$serverName = "quic.ebisuda.net"
$subject = "CN=quic.ebisuda.net"
New-SmbServerCertificateMapping `
-Name $serverName `
-Thumbprint $thumbprint `
-StoreName "My" `
-Subject $subject `
-DisplayName $serverName `
-Type QUIC
マッピングを確認します。
Get-SmbServerCertificateMapping
Step 5: ファイアウォールの設定
Windowsファイアウォール(VM内)
SMB over QUICへの切り替えを強制するため、通常のSMBポート(TCP 445)をブロックし、QUIC用ポート(UDP 443)を開けます。
Windowsファイアウォールの受信規則で以下を設定します。
| ルール | プロトコル | ポート | 操作 |
|---|---|---|---|
| SMBをブロック | TCP | 445 | ブロック |
| QUIC受信を許可 | UDP | 443 | 許可 |
「ファイルとプリンターの共有(SMB受信)」ルールをブロックに変更し、UDP 443番の受信許可ルールを新たに追加します。
AzureのNSG(ネットワークセキュリティグループ)
Azureポータルで対象VMのNSGに以下の受信規則を追加します。
| 設定項目 | 値 |
|---|---|
| ソース | Any |
| 宛先 | Any |
| プロトコル | UDP |
| 宛先ポート | 443 |
| 操作 | 許可 |
Step 6: 共有フォルダを作成してWindows 11から接続する
共有フォルダの作成
VM上で共有フォルダを作成します。エクスプローラーでフォルダを右クリックし、「プロパティ」→「共有」→「詳細な共有」でアクセス権を設定します。
Windows 11クライアントから接続する
エクスプローラーのアドレスバーに以下を入力します。
重要なポイント: サーバー名のみ(\\quic.ebisuda.net)ではなく、共有名まで含めたパス(\\quic.ebisuda.net\share)で指定する必要があります。サーバー名だけでのアクセスは動作しません。
コマンドラインから明示的にQUICを使って接続する場合は以下のように指定します。
net use * \\quic.ebisuda.net\share /transport:quic
接続の確認
QUICで接続されているかどうかは以下のコマンドで確認できます。
netstat -an
UDP 443番への接続が表示されれば、SMB over QUICで接続されています。
トラブルシューティング
認証エラーが発生する場合
ユーザー名とパスワードが正しくても認証エラーが出る場合は、TLS接続の確立に失敗している可能性があります。証明書のマッピングが正しく行われているかを確認してください。
Get-SmbServerCertificateMapping
サーバー名だけでアクセスできない
\\サーバー名 のみのアクセスは動作しません。必ず \\サーバー名\共有名 の形式で指定してください。
クライアントがQUICにフォールバックしない
TCP 445番がクライアントから到達できる状態だと、クライアントは通常のSMBを使用しようとします。AzureのNSGとWindowsファイアウォールの両方でTCP 445番が適切にブロックされているか確認してください。
まとめ
SMB over QUICを使うことで、VPNや追加のネットワーク機器なしにAzure VM上のファイルサーバーへインターネット経由でアクセスできるようになります。
主なポイントは以下のとおりです。
- サーバーはWindows Server 2022 Azure Edition必須。通常版では動作しません
- クライアントはWindows 11必須。Windows 10は未対応です
- Let’s Encryptの無料証明書をwin-acmeで取得し、SMBにマッピングします
- TCP 445番をブロックし、UDP 443番を開けることでQUICへのフォールバックが機能します
- 接続時は共有名まで含めたパスを指定する必要があります
Active DirectoryもVPNも不要なシンプルな構成でインターネット越しのファイル共有が実現できるのは大きなメリットです。Windows 11への移行が完了している環境では、ぜひ試してみてください。