Firewalld : IP マスカレードの設定2025/10/21 |
|
Firewalld における IP マスカレードの設定です。
Internet
-------------+-------------
Gateway|10.0.0.1
|
External |
enp1s0|10.0.0.30
+------------+------------+
| |
| dlp.srv.world |
| |
+------------+------------+
enp7s0|192.168.0.30
Internal |
|
|
| [1] | それぞれのインターフェースのゾーン設定を変更します。 |
|
# 現在の状態を表示 dlp:~ # firewall-cmd --get-active-zone docker interfaces: docker0 public (default) interfaces: enp7s0 enp1s0 # ゾーン変更 dlp:~ # nmcli connection modify enp7s0 connection.zone internal dlp:~ # nmcli connection modify enp1s0 connection.zone external
firewall-cmd --get-active-zone docker interfaces: docker0 external interfaces: enp1s0 internal interfaces: enp7s0 public (default) |
| [2] | External 側のゾーンに IP マスカレードの設定をします。 (これより以下全て、永続化する場合は [--permanent] または [--runtime-to-permanent] オプションを付加) |
|
# IP マスカレードを設定 dlp:~ # firewall-cmd --zone=external --add-masquerade success # 確認 dlp:~ # firewall-cmd --zone=external --query-masquerade yes # [ip_forward] はマスカレーディング有効化により自動的に有効となる dlp:~ # cat /proc/sys/net/ipv4/ip_forward 1 |
| [3] | 例として、External 側のゾーンへ来た 22 番ポート宛てのパケットをローカルの 1234 番ポートへ転送する。 |
|
dlp:~ # firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=1234 success dlp:~ # firewall-cmd --list-all --zone=external
external (active)
target: default
ingress-priority: 0
egress-priority: 0
icmp-block-inversion: no
interfaces: enp1s0
sources:
services: ssh
ports:
protocols:
forward: yes
masquerade: yes
forward-ports:
port=22:proto=tcp:toport=1234:toaddr=
source-ports:
icmp-blocks:
rich rules:
|
| [4] | 例として、External 側のゾーンへ来た 22 番ポート宛てのパケットを、他ホスト [192.168.0.31] の 22 番ポートへ転送する。 |
|
dlp:~ # firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=22:toaddr=192.168.0.31 success dlp:~ # firewall-cmd --list-all --zone=external
external (active)
target: default
ingress-priority: 0
egress-priority: 0
icmp-block-inversion: no
interfaces: enp1s0
sources:
services: ssh
ports:
protocols:
forward: yes
masquerade: yes
forward-ports:
port=22:proto=tcp:toport=1234:toaddr=
port=22:proto=tcp:toport=22:toaddr=192.168.0.31
source-ports:
icmp-blocks:
rich rules:
|
| [5] | 例として、Internal ネットワーク [192.168.0.0/24] 内の任意のコンピュータから [dlp.srv.world] を経由して External 側へ出ていくパケットの転送/許可設定です。 |
|
# internal ゾーンに IP マスカレードを設定 dlp:~ # firewall-cmd --zone=internal --add-masquerade success firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -o enp1s0 -j MASQUERADE dlp:~ # firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i enp7s0 -o enp1s0 -j ACCEPT dlp:~ # firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i enp1s0 -o enp7s0 -m state --state RELATED,ESTABLISHED -j ACCEPT |
| Sponsored Link |
|
|