パケットの宛先IPアドレスを条件にするパケットフィルタリング設定

動作確認バージョン: vSRX Version15.1X49-D105.1, vSRX Version19.2R1.8

vSRX では、パケットフィルタリングの設定が可能です。宛先IPアドレスや宛先ネットワークを条件にしたフィルタ設定の紹介をします。

注釈

こちらの設定は、ステートフルなフィルタリング設定ではありませんので、行き返りのパケット通信を考慮して必要なフィルタ設定を実施する必要があります。

特定の宛先IPアドレスへの通信を拒否する設定

特定の宛先IPアドレスへの通信(パケット)だけをファイアウォールのインターフェイスで遮断し、その他のIPアドレスを宛先とする通信に関しては許可して転送する設定を行います。

サンプル設定のシナリオ

  • IPアドレス192.168.3.13を宛先IPアドレスとする通信をとめたい
  • インターフェイス(ge-0/0/1)にインプットするパケットに対して有効化したい
  • 192.168.3.13以外の宛先IPアドレスへの通信は、すべて許可して転送したい
vsrx_dstip_fig1

シナリオにおける設定のながれ

1.パケットフィルタリング設定の名前を to_CENTSV03 として設定
2.192.168.2.13を宛先IPアドレスとするパケットを拒否するポリシーを TERM1 として設定
3.192.168.2.13以外を宛先とするパケットについて許可するポリシーを TERM2 として設定
4.インターフェイス(ge-0/0/1)にてインプット方向へ適用

CLIにて入力するコマンド

user01@vSRX-02# set firewall filter to_CENTSV03 term TERM1 from destination-address 192.168.3.13/32
user01@vSRX-02# set firewall filter to_CENTSV03 term TERM1 then discard
user01@vSRX-02# set firewall filter to_CENTSV03 term TERM2 then accept
user01@vSRX-02# set interface ge-0/0/1 unit 0 family inet filter input to_CENTSV03

注釈

シナリオと同じポリシーで、フィルタリング設定をアウトプット方向で適用したい場合はインターフェイス ge-0/0/2 にて filter output で設定してください。

正しく設定が完了したときのコンフィグレーションは次のとおりです。

interfaces {
    ge-0/0/1 {
        unit 0 {
            family inet {
                filter {
                    input to_CENTSV03;
                }
                address 192.168.2.102/24;
            }
        }
    }
}

firewall {
    filter to_CENTSV03 {
        term TERM1 {
            from {
                destination-address {
                    192.168.3.13/32;
                }
            }
            then {
                discard;
            }
        }
        term TERM2 {
            then accept;
        }
    }
}

動作確認結果

以下の検証結果ログから、検証構成図にある仮想サーバ(192.168.2.12)から192.168.3.203あての通信は成功しますが、仮想サーバ(192.168.2.12)から フィルタリング設定で指定したIPアドレス(192.168.3.13)あての通信は失敗しておりパケットフィルタリング機能が動作していることが確認できました。

仮想サーバ(192.168.2.12)から仮想サーバ(192.168.3.203)宛ての通信は可能

[user01@centsv-02 ~]$ ping 192.168.3.203 -c 5
PING 192.168.3.203 (192.168.3.203) 56(84) bytes of data.
64 bytes from 192.168.3.203: icmp_seq=1 ttl=63 time=2.37 ms
64 bytes from 192.168.3.203: icmp_seq=2 ttl=63 time=1.05 ms
64 bytes from 192.168.3.203: icmp_seq=3 ttl=63 time=0.968 ms
64 bytes from 192.168.3.203: icmp_seq=4 ttl=63 time=0.971 ms
64 bytes from 192.168.3.203: icmp_seq=5 ttl=63 time=1.00 ms

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 0.968/1.274/2.371/0.550 ms

仮想サーバ(192.168.2.12)から仮想サーバ(192.168.3.13)宛ての通信はフィルタされて通信ができない

[user01@centsv-02 ~]$ ping 192.168.3.13 -c 5
PING 192.168.3.13 (192.168.3.13) 56(84) bytes of data.


--- 192.168.3.13 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 3999ms

特定の宛先IPアドレスへの通信のみ許可する設定

特定の宛先IPアドレスへの通信のみ許可して転送し、その他のIPアドレスを宛先とする通信に関してはファイアウォールのインターフェイスで遮断する設定を行います。

サンプル設定のシナリオ

  • 192.168.3.13を宛先IPアドレスとする通信だけ許可して転送したい
  • インターフェイス(ge-0/0/1)にインプットするトラフィックに対して有効化したい
  • 192.168.3.13以外の宛先IPアドレスへの通信はすべて拒否して遮断したい
vsrx_dstip_fig2

シナリオにおける設定のながれ

1.パケットフィルタリング設定の名前を to_CENTSV03 として設定
2.192.168.2.13を宛先IPアドレスとするパケットを許可するポリシーを TERM1 として設定
3.192.168.2.13以外を宛先とするパケットについて拒否するポリシーを TERM2 として設定
4.インターフェイス(ge-0/0/1)にてインプット方向へ適用

CLIにて入力するコマンド

user01@vSRX-02# set firewall filter to_CENTSV03 term TERM1 from destination-address 192.168.3.13/32
user01@vSRX-02# set firewall filter to_CENTSV03 term TERM1 then accept
user01@vSRX-02# set firewall filter to_CENTSV03 term TERM2 then discard
user01@vSRX-02# set interface ge-0/0/1 unit 0 family inet filter input to_CENTSV03

注釈

シナリオと同じポリシーで、フィルタリング設定をアウトプット方向で適用したい場合はインターフェイス ge-0/0/2 にて filter output で設定してください。

正しく設定が完了したときのコンフィグレーションは次のとおりです。

interfaces {
    ge-0/0/1 {
        unit 0 {
            family inet {
                filter {
                    input to_CENTSV03;
                }
                address 192.168.2.102/24;
            }
        }
    }
}

firewall {
    filter to_CENTSV03 {
        term TERM1 {
            from {
                destination-address {
                    192.168.3.13/32;
                }
            }
            then accept;
        }
        term TERM2 {
            then {
                discard;
            }
        }
    }
}

動作確認結果

以下の検証結果ログから、検証構成図にある仮想サーバ(192.168.2.12)から仮想サーバ(192.168.3.13)あての通信は成功しますが、その他の宛先IPアドレスに対する通信は失敗しておりパケットフィルタリング機能が動作していることが確認できました。

仮想サーバ(192.168.2.12)から仮想サーバ(192.168.3.13)宛ての通信は可能

[user01@centsv-02 ~]$ ping 192.168.3.13 -c 5
PING 192.168.3.13 (192.168.3.13) 56(84) bytes of data.
64 bytes from 192.168.3.13: icmp_seq=1 ttl=63 time=2.20 ms
64 bytes from 192.168.3.13: icmp_seq=2 ttl=63 time=0.844 ms
64 bytes from 192.168.3.13: icmp_seq=3 ttl=63 time=0.840 ms
64 bytes from 192.168.3.13: icmp_seq=4 ttl=63 time=0.655 ms
64 bytes from 192.168.3.13: icmp_seq=5 ttl=63 time=0.550 ms

--- 192.168.3.13 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4002ms
rtt min/avg/max/mdev = 0.550/1.018/2.201/0.602 ms

仮想サーバ(192.168.2.12)から仮想ルータ(192.168.3.203)宛ての通信はフィルタされて通信できない

[user01@centsv-02 ~]$ ping 192.168.3.203 -c 5
PING 192.168.3.203 (192.168.3.203) 56(84) bytes of data.


--- 192.168.3.203 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 3999ms

宛先IPアドレス(ネットワーク範囲指定)を利用した拒否設定

特定の宛先IPアドレス範囲への通信(パケット)をファイアウォールのインターフェイスで遮断し、その他の宛先IPアドレスへの通信に関しては転送する設定を行います。

サンプル設定のシナリオ

  • 192.168.3.0/25 を宛先IPアドレスとする通信を遮断したい
  • インターフェイス(ge-0/0/1)にインプットするトラフィックに対して有効化したい
  • 192.168.3.0/25 以外の宛先IPアドレスへの通信は、すべて許可して転送したい

注釈

192.168.3.0/25は、192.168.3.0,192.168.3.1,192.168.3.2 ~ 192.168.3.127 の128個IPアドレスが該当します。

vsrx_dstip_fig3

シナリオにおける設定のながれ

1.パケットフィルタリング設定の名前を to_CENTSV03 として設定
2.192.168.3.0/25を宛先IPアドレスとするパケットを拒否するポリシーを TERM1 として設定
3.192.168.3.0/25以外を宛先とするパケットについて許可するポリシーを TERM2 として設定
4.インターフェイス(ge-0/0/1)にてインプット方向へ適用

CLIにて入力するコマンド

user01@vSRX-02# set firewall filter to_CENTSV03 term TERM1 from destination-address 192.168.3.0/25
user01@vSRX-02# set firewall filter to_CENTSV03 term TERM1 then discard
user01@vSRX-02# set firewall filter to_CENTSV03 term TERM2 then accept
user01@vSRX-02# set interface ge-0/0/1 unit 0 family inet filter input to_CENTSV03

注釈

シナリオと同じポリシーで、フィルタリング設定をアウトプット方向で適用したい場合はインターフェイス ge-0/0/2 にて filter output で設定してください。

正しく設定が完了したときのコンフィグレーションは次のとおりです。

interfaces {
    ge-0/0/1 {
        unit 0 {
            family inet {
                filter {
                    input to_CENTSV03;
                }
                address 192.168.2.102/24;
            }
        }
    }
}

firewall {
    filter to_CENTSV03 {
        term TERM1 {
            from {
                destination-address {
                    192.168.3.0/25;
                }
            }
            then {
                discard;
            }
        }
        term TERM2 {
            then accept;
        }
    }
}

動作確認結果

以下の検証結果ログから、検証構成図にある仮想サーバ(192.168.2.12)から仮想ルータ(192.168.3.203)あての通信は成功しますが、192.168.3.0/25に該当する宛先IPアドレス(ここでは192.168.3.13)に対する通信は失敗しておりパケットフィルタリング機能が動作していることが確認できました。

仮想サーバ(192.168.2.12)から仮想ルータ(192.168.3.13)宛ての通信が指定した範囲に該当するためフィルタされ通信できない

[user01@centsv-02 ~]$ ping 192.168.3.13 -c 5
PING 192.168.3.13 (192.168.3.13) 56(84) bytes of data.


--- 192.168.3.13 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 3999ms

仮想サーバ(192.168.2.12)からその他の宛先IPアドレスである仮想ルータ(192.168.3.203)宛ての通信は可能

[user01@centsv-02 ~]$ ping 192.168.3.203 -c 5
PING 192.168.3.203 (192.168.3.203) 56(84) bytes of data.
64 bytes from 192.168.3.203: icmp_seq=1 ttl=63 time=2.99 ms
64 bytes from 192.168.3.203: icmp_seq=2 ttl=63 time=1.09 ms

64 bytes from 192.168.3.203: icmp_seq=3 ttl=63 time=1.02 ms
64 bytes from 192.168.3.203: icmp_seq=4 ttl=63 time=0.873 ms
64 bytes from 192.168.3.203: icmp_seq=5 ttl=63 time=1.03 ms

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4003ms
rtt min/avg/max/mdev = 0.873/1.402/2.992/0.799 ms

宛先IPアドレス(ネットワーク範囲指定)を利用した許可設定

特定の宛先IPアドレスの範囲への通信(パケット)のみ許可して、その他の宛先IPアドレスへの通信に関してはファイアウォールのインターフェイスで遮断する設定を行います。

サンプル設定のシナリオ

  • 192.168.3.0/25 に向かう通信だけ転送したい
  • インターフェイス(ge-0/0/1)にインプットするトラフィックに対して有効化したい
  • 192.168.3.0/25以外の宛先IPアドレスへの通信はすべて拒否して遮断したい

注釈

192.168.3.0/25は、192.168.3.0,192.168.3.1,192.168.3.2 ~ 192.168.3.127 の128個IPアドレスが該当します。

vsrx_dstip_fig4

シナリオにおける設定のながれ

1.パケットフィルタリング設定の名前を to_CENTSV03 として設定
2.192.168.3.0/25を宛先IPアドレスとするパケットを許可するポリシーを TERM1 として設定
3.192.168.3.0/25以外を宛先とするパケットについて拒否するポリシーを TERM2 として設定
4.インターフェイス(ge-0/0/1)にてインプット方向へ適用

CLIにて入力するコマンド

user01@vSRX-02# set firewall filter to_CENTSV03 term TERM1 from destination-address 192.168.3.0/25
user01@vSRX-02# set firewall filter to_CENTSV03 term TERM1 then accept
user01@vSRX-02# set firewall filter to_CENTSV03 term TERM2 then discard
user01@vSRX-02# set interface ge-0/0/1 unit 0 family inet filter input to_CENTSV03

注釈

シナリオと同じポリシーで、フィルタリング設定をアウトプット方向で適用したい場合はインターフェイス ge-0/0/2 にて filter output で設定してください。

正しく設定が完了したときのコンフィグレーションは次のとおりです。

interfaces {
    ge-0/0/1 {
        unit 0 {
            family inet {
                filter {
                    input to_CENTSV03;
                }
                address 192.168.2.102/24;
            }
        }
    }
}

firewall {
    filter to_CENTSV03 {
        term TERM1 {
            from {
                destination-address {
                    192.168.3.0/25;
                }
            }
            then accept;
        }
        term TERM2 {
            then {
                discard;
            }

        }
    }
}

動作確認結果

以下の検証結果ログから、検証構成図にあるサーバ(192.168.2.12)から仮想サーバ(192.168.3.13)あての通信は成功しますが、192.168.3.0/25に該当しない宛先IPアドレス(ここでは192.168.3.203)に対する通信は失敗しておりパケットフィルタリング機能が動作していることが確認できました。

仮想サーバ(192.168.2.12)から仮想サーバ(192.168.3.13)あての通信は指定した範囲に該当するため通信可能

[user01@centsv-02 ~]$ ping 192.168.3.13 -c 5
PING 192.168.3.13 (192.168.3.13) 56(84) bytes of data.
64 bytes from 192.168.3.13: icmp_seq=1 ttl=63 time=2.41 ms
64 bytes from 192.168.3.13: icmp_seq=2 ttl=63 time=0.474 ms
64 bytes from 192.168.3.13: icmp_seq=3 ttl=63 time=0.492 ms
64 bytes from 192.168.3.13: icmp_seq=4 ttl=63 time=0.523 ms
64 bytes from 192.168.3.13: icmp_seq=5 ttl=63 time=0.488 ms

--- 192.168.3.13 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4001ms
rtt min/avg/max/mdev = 0.474/0.877/2.410/0.766 ms

仮想サーバ(192.168.2.12)から仮想ルータ(192.168.3.203)あての通信はその他の宛先IPアドレスに該当しフィルタされて通信できない

[user01@centsv-02 ~]$ ping 192.168.3.203 -c 5
PING 192.168.3.203 (192.168.3.203) 56(84) bytes of data.

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 3999ms