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