目次
- はじめに
- 前提
- 手順
3.1 Windows Defenderファイアウォールに受信の規則を追加
3.2 Podmanマシンにポート転送 - 参考資料
1. はじめに
Windows環境にインストールされたPodmanのコンテナに対して、リモート端末からアクセスするために、ポートフォワードを設定します。本記事ではコンテナがポート8443と9443でhttpリクエストを待ち受けている場合の設定例を紹介します。
2. 前提
本記事で使った環境は次の通りです。
- Windows 11 22H2(OSビルド 22621.2715)
- WSL 2.0.9.0
- Podman 4.8.0
3. 手順1) Windows Defenderファイアウォールに受信の規則を追加
検索窓にファイアウォール
と入力してWindows Defenderファイアウォールを検索し、アプリを起動します。
画面左の受信の規則
をクリックし、画面右の新しい規則
をクリックします。
表示されたポップアップでポート
をクリックします。
TCP
をクリックし、特定のロカールポート
をクリックしてWeb画面の待ち受けポート8443
と9443
を入力します。
接続を許可する
をクリックします。
リモート端末の場所に応じてドメイン
、プライベート
、パブリック
をクリックします。(本記事ではプライベート
が該当)
規則に名前を付けます。(本記事ではwatsonx.dataポート開放
)
受信の規則を登録できました。
3. 手順2) Podmanマシンにポート転送
PowerShellを起動し、Podmanマシンのシェルを起動します。そこでPodmanマシンのIPアドレスを確認します。本記事の環境では172.20.233.109
でした。
PS C:\Users\xxxx> wsl -d podman-machine-default
[user@DESKTOP-XXXXXXX ~]$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:c3:ff:9d brd ff:ff:ff:ff:ff:ff
inet 172.20.233.109/20 brd 172.20.239.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fec3:ff9d/64 scope link
valid_lft forever preferred_lft forever
PowerShellを管理者として起動し、Windowsマシン(ホストOS)からPodmanマシン(ゲストOS)へのポートフォワードを設定します。下の実行例においてlistenaddress
とconnectaddress
にそれぞれWindowsマシンのIPアドレス192.168.0.77
とPodmanマシンのIPアドレス172.20.233.109
を設定していますが、環境に合わせてIPアドレスやポート番号を読み替えてください。
PS C:\Windows\System32> netsh.exe interface portproxy add v4tov4 listenaddress=192.168.0.77 listenport=9443 connectaddress=172.20.233.109 connectport=9443
PS C:\Windows\System32> netsh.exe interface portproxy add v4tov4 listenaddress=192.168.0.77 listenport=8443 connectaddress=172.20.233.109 connectport=8443
PS C:\Windows\System32> netsh.exe interface portproxy show all
ipv4 をリッスンする: ipv4 に接続する:
Address Port Address Port
--------------- ---------- --------------- ----------
192.168.0.77 9443 172.20.233.109 9443
192.168.0.77 8443 172.20.233.109 8443
PS C:\Windows\System32> Test-NetConnection -ComputerName 192.168.0.77 -Port 9443
ComputerName : 192.168.0.77
RemoteAddress : 192.168.0.77
RemotePort : 9443
InterfaceAlias : イーサネット
SourceAddress : 192.168.0.77
TcpTestSucceeded : True
PS C:\Windows\System32> Test-NetConnection -ComputerName 192.168.0.77 -Port 8443
ComputerName : 192.168.0.77
RemoteAddress : 192.168.0.77
RemotePort : 8443
InterfaceAlias : イーサネット
SourceAddress : 192.168.0.77
TcpTestSucceeded : True