環境
マシン環境
- ホストOS
- Windows10 2004
- ゲストOS
- CentOS8 (VMware Player)
トポロジ
###やりたいこと
ホストOS側のブラウザから:8080でアクセスし、サーバーには:80としてポートフォワーディング.
上の図はすごく判りづらいですが、要はホストOS側からの:8080の通信を:80に切り替えてhttpdに送るよっていうことです。
今回は、同一サーバーへのフォワーディングですが、別サーバーへも可能です.
###同一サーバ内でのポートフォワーディング
####コマンド
# firewall-cmd --add-forward-port=port=port-number:proto=tcp|udp|sctp|dccp:toport=port-number
これを今回のパターンにはめると
####コマンド例
# firewall-cmd --add-forward-port=port=8080:proto=tcp:toport=80
- --add-forward-portの後にポート情報をつらつら書きます
- port=8080 はクライアントから:8080が来るよ
- proto=tcp はプロトコルにtcpを使うよ
- toport=80 は:80におくるよ
####設定を永続化するコマンド
# firewall-cmd --runtime-to-permanent
- 上記のadd-forward-...というコマンドに、--permanentをつけることで永続化も行えますが、今回は別コマンドから永続化しています.
###設定の確認するコマンド
# firewall-cmd --list-all
- このコマンドの出力結果は、各環境ごとによって異なる場合があります.
public (active)
target: default
icmp-block-inversion: no
interfaces: ens33
sources:
services: cockpit dhcpv6-client http https ssh
ports:
protocols:
masquerade: no
forward-ports: port=8080:proto=tcp:toport=80:toaddr=
source-ports:
icmp-blocks:
rich rules:
- forward-ports:のところに書き込めているのでできたことなります.
###別IPへのポートフォワーディング
####コマンド
# firewall-cmd --add-forward-port=port=port-number:proto=tcp|udp:toport=port-number:toaddr=IP/mask
- 今回は、別IPへのフォワーディングは行いませんが、ご覧の通り、toaddr以降が追記されてるくらいです.