Windows11のポートフォワーディング(ポート転送)設定でネットワークプリンタへ接続

2022-09-21

2台のPCが接続されているイラスト

2021年9月のWindows Updateで配信された更新プログラムで、職場のクライアントPCから共有プリンターでの印刷ができなくなっていました。

あまり印刷を使わないのでそのまま放置していましたが、どうしてもカラー印刷が必要になったのでネットワークプリンタへのポート転送で対応することにしました。

この記事では、Windows 10・11でのポート転送とネットワークプリンタへの接続手順を記録として公開しています。

ネットワーク構成

構成図

職場の都合で、クライアントPCから直接インターネットに繋がっていません。

おかげで、クライアントPCにWindows Updateを適応すれば解決できるのですが、いまだに不具合が起きたままになっています。

かといって、ホストPCはインターネットに接続されているためレジストリ変更やロールバックで脆弱性対策を無効にはしたくありませんでした。

解決策

基本的にはルータ越えのプリンタ接続と同じです。

クライアントPCからホストPC宛てに送ったデータを、そのままプリンタに転送して印刷します。

Windows10・11のポート転送

netsh

netshでポート転送の追加

>netsh interface portproxy add v4tov4 listenaddress=○○○○ listenport=○○○○ connectaddress=○○○○ connectport=○○○○

今回はIPV4しか使っていないので「v4tov4」だけ設定しています。必要があればv6tov6等も追加してください。

listenaddressにはホストPCが待ち受けをするIPアドレス(有線LANのインタフェース:192.168.1.1)、connectaddressは転送先のIPアドレス(プリンタ:192.168.2.9)を入力します。

ポート番号は、今回はRAW印刷のため9100を指定します。

確認

>netsh interface portproxy show v4tov4
ipv4 をリッスンする:       ipv4 に接続する:
Address         Port        Address         Port
--------------- ----------  --------------- ----------
192.168.1.1     9100        192.168.2.9     9100

入力を間違えてもそのまま待ち受けポートになったので、必ず確認する事をおすすめします。

間違えていた時

ipv4 をリッスンする:       ipv4 に接続する:
Address         Port        Address         Port
--------------- ----------  --------------- ----------
192.168.1.1     9100        192.168.2.9     connectport9100

「=」をつけ忘れていたので、一度削除してから追加しなおしました。

参考サイト

ポートフォワード [いかたこのたこつぼ]

Windwosファイアウォール設定

Windowsファイアウォールが許可されていない場合は、新規にルールを追加します。

長くなったので別記事にしています

クライアントPCの設定

最初に接続したいプリンターのプリンタドライバをクライアントPCにインストールします。

共有プリンターを設定した際にプリンタドライバもインストールされていたので、今回は特に何もしていませんが、必要に応じてインストールしてください。

クライアントPCでネットワークプリンタの設定

こちらも、長くなったので別記事にしています。

まとめ

単純な方法ですが、プリントアウトするだけなら困る事は無くなりました。

注意点としては、ポートフォワーディングの設定をするWindows PC(ホストPC)から「ネットワーク接続されているプリンター」であればどんなプリンターでも適応できますが、USBケーブル等で「直接接続されている」プリンターでは印刷できないので注意してください。

USBケーブルで接続されているプリンターに対しては、共有プリンターの不具合を解決する必要があります。