RHEL系のポートフォワーディングについて

あと数年でサポートが終わってしまいますが、CentOSでのポートフォワーディングを設定することがあったので、軽くまとめます。(きっと今後Rocky Linuxなんかで使い道が出ると考えて残します。)
他のテクノロジー系のブログでもINPUT側の記述はしてるけれど、OUTPUT側の記述をしていないことが多かったので、これらについて忘れないように備忘録とします。
環境
・CentOS7以降のRHEL系OSサーバ

firewalldとは
従来のCentOS6以前での、
ポートフォワーディングはiptablesでの設定となっており、コマンドでの実行結果は再起動後などには揮発してしまう。ファイルに設定書き込みこみすることで、揮発しない設定にすることも可能でした。ただし、iptablesでの設定では、ネットワークのリロードを行う必要があったため、ネットワークの瞬断が発生してしまっていました。
それに対して、CentOS7以降で導入されたfirewalld(firewall-cmd)では、ネットワークの瞬断を伴わないほか、その時にコマンドで設定すると、再起動時に揮発するか/揮発しないようにするかを選べたり、その時に揮発する設定でも設定をそのまま不揮発な状態にすることが可能です。

コマンド例
INPUT側でのコマンド

firewall-cmd --zone=external --add-forward-port="port=[ポート番号]:proto=tcp:toport=[ポート番号]:toaddr=[IPaddr]"

OUTPUT側でのコマンド

firewall-cmd --direct --add-rule ipv4 filter [任意文字列] 1 -m tcp -p tcp -dport [ポート番号] -d [IPアドレス] -j ACCEPT

ランタイムの設定を不揮発にする。

firewall-cmd --runtime-to-permanent 


以上のコマンドの感じでできるはずです。