LoginSignup
5
7

More than 3 years have passed since last update.

firewalld で ポートフォワーディング

Last updated at Posted at 2020-07-16

環境

マシン環境

  • ホストOS
    • Windows10 2004
  • ゲストOS
    • CentOS8 (VMware Player)

トポロジ

vmnetwork.png

やりたいこと

ホストOS側のブラウザから:8080でアクセスし、サーバーには:80としてポートフォワーディング.

vmnetwork (1).png

上の図はすごく判りづらいですが、要はホスト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以降が追記されてるくらいです.
5
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
7