【実践編】ポート転送を使ってクライアントPCからホストPCの「ネットワークプリンタ」から印刷
2021年9月のWindows Updateの更新プログラムの影響で、職場のクライアントPCから共有プリンターでの印刷ができなくなっていました。
そこまで頻繁に印刷するわけではないのでそのまま放置していましたが、どうしてもカラー印刷が必要になったのでネットワークプリンタへのポート転送で対応した手順です。
ネットワーク構成
職場の都合で、クライアントPCから直接インターネットに繋がっていません。
おかげで、クライアントPCにWindows Updateを適応すれば解決できるのですが、いまだに不具合が起きたままになっています。
- KB5005565に印刷ができなくなる不具合。対処方法あり [Update 2: 脆弱性に影響しない恒久的解決策判明]
- 【緊急】9/16あたりから共有プリンターの印刷ができない【Win10】
- https://faq2.epson.jp/web/Detail.aspx?id=52608
かといって、ホストPCはインターネットに接続されているためレジストリ変更やロールバックで脆弱性対策を無効にはできません。
解決策
基本的にはルータ越えのプリンタ接続と同じです。
クライアントPCから、ルーターの代わりにホストPC印刷データを送り、ホストPCは受け取ったデータをそのままプリンタに転送して印刷します。
手順
ホストPCのポート転送設定
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
「=」をつけ忘れていたので、一度削除してから追加しなおしました。
参考サイト
ホストPCのWindwosファイアウォール設定
Windowsファイアウォールが許可されていない場合は新規にルールを追加します。
クライアントPCの設定
最初に接続したいプリンターのプリンタドライバをクライアントPCにインストールします。
今回はクライアントPCにインストール済みだったため特に何もしていませんが、必要に応じてインストールしてください。
クライアントPCでネットワークプリンタの設定
手動で設定します。
以上で、単純な方法ですがプリントアウトするだけなら困る事は無くなりました。
注意点
注意点としては、ポートフォワーディングの設定をするWindows PC(ホストPC)から「ネットワーク接続されているプリンター」であればどんなプリンターでも適応できますが、USBケーブル等で「直接接続されている」プリンターでは印刷できないので注意してください。
USBケーブルで接続されているプリンターに対しては、共有プリンターの不具合を解決する必要があります。
ディスカッション
コメント一覧
まだ、コメントがありません