キルスイッチでプリンターが止まる?まず行う3つの確認
キルスイッチはプリンターの通信を意図的に遮断します。限定的なLAN例外が妥当かどうかを3つの確認で判断し、例外は1つのアドレスに限定してください。
一時間前までプリンターは動いていました。そのあとVPNをオンにしたら、ジョブは失敗するまでキューにたまったままです。原因はプリンターではなくキルスイッチである可能性が高いです。トンネルの外に出ようとする通信を落とす仕組みで、LAN上のプリンターはまさにその通信です。本当の判断は、印刷をどう直すかではなく、この端末がローカルネットワークに届くべきかどうかです。三つの条件で決まり、どれか一つでも早い段階で議論を終わらせられます。
キルスイッチが落とすものとその理由
キルスイッチは失敗時の挙動を伴うルーティング規則です。トンネルが上がっている間は、該当するパケットは暗号化されて出ていきます。トンネルが落ちると、クライアントは既定ルートをブラックホールにして、平文で外に出るものがないようにします。同じサブネット上のプリンターはトンネルのルートに決して一致しないため、通信が建物の外に出ないにもかかわらず、脱出の試みとして扱われます。
検出の仕組みが症状を紛らわしくします。プリンターはポート5353のマルチキャストDNSで自身を通知し、プリンターの追加ダイアログに表示されるキューはその通知から作られます。ブロックが有効な間は通知が届かないことがあり、アドレスがまだ応答していてもプリンターは一覧から消えます。631のIPP、9100の生印刷、445のSMBは、トンネルの経路をまったく持たない通常のLANサービスです。
まずプリンターに到達できることを確かめる
ポリシーを変える前に、プリンターが正常であることと、想定しているアドレスを確認します。アドレスはプリンターのパネルか、プリンター自身のWebページから読み取ります。OSの一覧にある古い項目は、何週間も前にDHCPが別の機器に割り当てたアドレスを指していることがあります。
VPNを切断し、そのうえでアドレスと一般的な二つの印刷ポートを試します:
nc -vz 192.168.1.50 9100
nc -vz 192.168.1.50 631Windowsでは同等のものがTest-NetConnection 192.168.1.50 -Port 9100です。VPNを再接続して繰り返します。VPNを切るとポートが応答し、オンにするとタイムアウトするなら、遮断を再現できたことになり、残りはポリシーの問題です。どちらの状態でも失敗するなら、そこで止めてください。プリンター、Wi-Fiセグメント、クライアント分離のいずれかが原因で、VPNの例外は露出を増やすだけです。
許可か遮断かを決める三つの条件
順番に実行します。最初に失敗した条件で結果が決まるので、後のものは試す必要がありません。
| Condition | Allow a scoped exception | Keep the block |
|---|---|---|
| Who owns the network | Home or single-tenant office where you control the segment | Hotel, cafe or shared Wi-Fi where the printer is not yours |
| Who owns the device policy | Personal device with no enforced profile | Managed profile that enforces always-on VPN |
| What the device carries | Nothing another LAN peer must not reach | Client data that must not touch an untrusted segment |
ゲストネットワークは最も明確な「いいえ」です。ホテルのセグメントではローカル範囲が他のすべての宿泊客なので、あなたのプリンターに届く例外は彼らのノートPCにも届きます。自分のものではないプリンターは、そのセグメントを開ける理由になりません。
管理された端末は二つ目の「いいえ」です。管理者プロファイルがロックダウン付きの常時VPNを強制している場合、クライアントはローカルの変更のたびに遮断を再適用し、回避策は受け入れたポリシーに違反する可能性があります。上書きされる設定を編集するのではなく、サポートされたローカルリソースの経路を求めてください。
お使いのクライアントが対応する最小の例外
必要なのは一つのプリンターアドレスに対する宛先限定の規則であり、ローカル全体を許可するトグルではありません。全体トグルは通常、プライベート範囲全体とリンクローカル通信を覆い、一つの印刷キューに必要な量をはるかに超え、セグメント上のすべての機器をあなたが受け入れた相手にしてしまいます。
Windowsはスプリットトンネリングを提供し、一部のビルドはローカルネットワークのオプションも提供します。サポートされる唯一の経路がホストエントリの場合は、トンネルが上がったあとに物理ゲートウェイ経由で一つのアドレスを追加し(たとえば route add 192.168.1.50 mask 255.255.255.255 192.168.1.1)、セッション終了時に削除します。WireGuardは仕組みが異なります。AllowedIPsがトンネルに入るものを決めるため、フルトンネルの 0.0.0.0/0 プロファイルでは、より具体的なルートが迂回しない限り印刷ジョブがエンドポイントまで運ばれ、wg-quick はそれ以外をすべて遮断するファイアウォール規則を導入できます。
Androidでは、VPNなしの接続を遮断する常時接続の設定がキルスイッチであり、その遮断の内側にあるアプリからのプリンター検出にはLANの経路がありません。アプリごとと除外のモデルはAndroidのVPNページに記載されており、何かを変える前に確認すべきはそこです:Android VPN接続ガイド。最近のmacOSはトンネルとは別にローカルネットワークの許可を求め、iOSもローカルネットワークへのアクセスについて同じことをしますが、ベンダーのクライアントがサブネットをトンネル内にルーティングするため、トンネルが上がっていてもキューは失敗することがあります。
どのクライアントを使う場合でも、例外を一つのアドレスに絞り、プリンターが実際に使う二つか三つのポートだけにしてください。アドレスが変わる可能性があるため、規則をサブネット全体に広げるのではなくDHCPリースを予約してください。
例外を検証し、取り消すタイミングを知る
変更後に再接続し、三つのことを順に確認します。プリンターがポートで応答し、無害なテストページが印刷され、アドレス検索がISPではなくVPNのエンドポイントを返すことです。印刷はできるのに検索がISPを示すなら、プリンター以外も開いてしまっているので元に戻すべきです。
再起動後と、クライアントやプロファイルの更新後にもテストを繰り返します。更新は既定値に戻すことが十分多いからです。次の再接続までしかもたない例外は判断ではなく、一時的な穴です。正確な規則を書き留めて、意図的に削除できるようにしてください。
端末がトンネル専用である場合、出張用ノートPCや顧客データを持つマシンの場合は、遮断を維持して別の場所で印刷するのが正解です。PDFに保存してスマートフォンや別のマシンから印刷するか、トンネルがルーティングできる印刷サーバーに届けてください。一つのジョブのためにキルスイッチを切るのは、実際の保護を小さな便利さと引き換えにすることです。