5.9. ポート転送
firewalld
を使用すると、システムで特定のポートに到達する着信トラフィックが、選択した別の内部ポートまたは別のマシンの外部ポートに配信されるようにポートのリダイレクトを設定できます。
5.9.1. リダイレクトするポートの追加
あるポートから別のポートまたは別のアドレスにトラフィックをリダイレクトする前に、パケットが到達するポート、使用されるプロトコル、リダイレクト先の 3 つを確認しておく必要があります。
ポートを別のポートにリダイレクトする場合は、次のコマンドを実行します。
~]# firewall-cmd --add-forward-port=port=port-number:proto=tcp|udp|sctp|dccp:toport=port-number
別の IP アドレスで、別のポートにポートをリダイレクトする場合は、次のコマンドを実行します。
- 転送するポートを追加します。
~]# firewall-cmd --add-forward-port=port=port-number:proto=tcp|udp:toport=port-number:toaddr=IP
- マスカレードを有効にします。
~]# firewall-cmd --add-masquerade
例5.1 同一マシンで TCP ポート 80 からポート 88 へのリダイレクト
ポートをリダイレクトするには、以下を行います。
- TCP トラフィックに対して、ポート 80 からポート 88 へリダイレクトします。
~]# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=88
- 新しい設定を永続化します。
~]# firewall-cmd --runtime-to-permanent
- そのポートがリダイレクトされていることを確認します。
~]# firewall-cmd --list-all
5.9.2. リダイレクトしているポートの削除
リダイレクトしているポートを削除するには、次のコマンドを実行します。
~]# firewall-cmd --remove-forward-port=port=port-number:proto=<tcp|udp>:toport=port-number:toaddr=<IP>
別のアドレスにリダイレクトした転送ポートを削除するには、以下を実行します。
- 転送したポートを削除するには、以下を行います。
~]# firewall-cmd --remove-forward-port=port=port-number:proto=<tcp|udp>:toport=port-number:toaddr=<IP>
- マスカレードを無効にするには、次のコマンドを実行します。
~]# firewall-cmd --remove-masquerade
注記
この方法を使用するポートのリダイレクトは、IPv4 ベースのトラフィックでのみ機能します。IPv6 リダイレクト設定には、リッチルールを使用する必要があります。詳細は、「リッチランゲージ構文を使用した複雑なファイアウォールルールの設定」 を参照してください。
外部システムにリダイレクトするには、マスカレードを有効にする必要があります。詳細は、「IP アドレスのマスカレードの設定」 を参照してください。
例5.2 同じマシンで TCP ポート 88 に転送されるポート 80 の削除
ポートのリダイレクトを削除するには、以下を行います。
- リダイレクトしたポートの一覧を表示します。
~]# firewall-cmd --list-forward-ports port=80:proto=tcp:toport=88:toaddr=
- ファイアウォールからリダイレクトしたポートを削除します。
~]# firewall-cmd --remove-forward-port=port=80:proto=tcp:toport=88:toaddr=
- 新しい設定を永続化します。
~]# firewall-cmd --runtime-to-permanent