firewall-cmd
をたまにしか使わないので覚えられず、いつもブログの過去記事から探してるので、まとめておく。
2022.08.03: ポートフォワードを追記
設定確認
デフォルトゾーンの設定を見る
[zaki@k8s-master01 ~]$ sudo firewall-cmd --list-all [--zone=internal] public (active) target: default icmp-block-inversion: no interfaces: ens192 sources: services: dhcpv6-client ssh ports: 6443/tcp 2379-2380/tcp 10250/tcp 10251/tcp 10252/tcp protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
ゾーン指定する場合は--zone=***
を付ける
全てのゾーンの設定を見る
[root@k8s-master02 ~]# firewall-cmd --list-all-zones block target: %%REJECT%% icmp-block-inversion: no interfaces: sources: services: ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: dmz target: default icmp-block-inversion: no interfaces: : :
ゾーン関係
一覧
[zaki@manager ~]$ sudo firewall-cmd --get-zones block dmz drop external home internal public trusted work
アクティブなゾーンの一覧
[zaki@manager ~]$ sudo firewall-cmd --get-active-zones internal interfaces: ens224 public interfaces: ens192 ens256
ゾーンに指定インタフェースを設定
sudo firewall-cmd --permanent --zone=trusted --change-interface=cni0
ゾーンから指定インタフェースを削除
sudo firewall-cmd --permanent --zone=trusted --remove-interface=cni0
[Kubernetes] kubeadmを使ってCentOSへk8sクラスタをデプロイしてみた (firewalld有効版) - zaki work log
ポートの公開
ポート番号指定
$ sudo firewall-cmd --add-port=6443/tcp --permanent [--zone=public] $ sudo firewall-cmd --reload
[Kubernetes] kubeadmを使ってCentOSへk8sクラスタをデプロイしてみた (firewalld有効版) - zaki work log
サービス名を指定
$ sudo firewall-cmd --add-service=tftp --permanent [--zone=internal] $ sudo firewall-cmd --reload
dnsmasqを使ったDHCP/PXE/TFTPでネットワークブートとインストール - zaki work log
サービス名を確認
$ sudo firewall-cmd --get-services RH-Satellite-6 amanda-client amanda-k5-client amqp amqps apcupsd audit bacula bacula-client bb bgp bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc bittorrent-lsd ceph ceph-mon cfengine cockpit condor-collector ctdb dhcp dhcpv6 dhcpv6-client distcc dns dns-over-tls docker-registry docker-swarm ... ...
ポートフォワード
自ホストの別ポートへ転送
リモートからの443/tcpアクセスを、自分の80/tcpへ転送する
firewall-cmd --add-forward-port=port=443:proto=tcp:toport=80
自ホストのアクセスを別ホストへ転送
リモートからの443/tcpアクセスを、172.29.0.14:443へ転送する
firewall-cmd --add-forward-port=port=443:proto=tcp:toport=443:toaddr=172.29.0.14
ダイレクトルール
iptablesの書式に慣れてたらこっちも良いかも。
設定
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o ens192 -j MASQUERADE firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ens224 -o ens192 -j ACCEPT firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ens192 -o ens224 -m state --state RELATED,ESTABLISHED -j ACCEPT
確認
firewall-cmd --direct --get-all-rules
2nicなCentOS7にIPマスカレード処理させてルーターにする(firewalld) - zaki work log