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

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

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

注釈

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

特定の送信元IPアドレスからの通信を拒否する設定

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

サンプル設定のシナリオ

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

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

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

CLIにて入力するコマンド

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

注釈

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

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

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

firewall {
    filter from_CENTSV02 {
        term TERM1 {
            from {
                source-address {
                    192.168.2.12/32;
                }
            }
            then {
                discard;
            }
        }
        term TERM2 {
            then accept;
        }
    }
}

動作確認結果

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

仮想サーバ(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アドレスである仮想ルータ(192.168.2.202)から仮想ルータ(192.168.3.203)宛ての通信は可能

user01@vRouter-02:~$ ping 192.168.3.203 count 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.96 ms
64 bytes from 192.168.3.203: icmp_seq=2 ttl=63 time=1.33 ms
64 bytes from 192.168.3.203: icmp_seq=3 ttl=63 time=1.45 ms
64 bytes from 192.168.3.203: icmp_seq=4 ttl=63 time=1.43 ms
64 bytes from 192.168.3.203: icmp_seq=5 ttl=63 time=1.45 ms

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 1.335/1.729/2.969/0.622 ms
user01@vRouter-02:~$

特定の送信元IPアドレスからの通信のみ許可する設定

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

サンプル設定のシナリオ

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

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

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

CLIにて入力するコマンド

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

注釈

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

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

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


firewall {
    filter from_CENTSV02 {
        term TERM1 {
            from {
                source-address {
                    192.168.2.12/32;
                }
            }
            then {
                accept;
            }
        }
        term TERM2 {
            then {
                discard;
        }
        }
    }
}

動作確認結果

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

仮想サーバ(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=1.69 ms
64 bytes from 192.168.3.203: icmp_seq=2 ttl=63 time=1.10 ms
64 bytes from 192.168.3.203: icmp_seq=3 ttl=63 time=1.07 ms
64 bytes from 192.168.3.203: icmp_seq=4 ttl=63 time=0.991 ms
64 bytes from 192.168.3.203: icmp_seq=5 ttl=63 time=1.11 ms

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 0.991/1.195/1.698/0.257 ms
[user01@centsv-02 ~]$

その他の送信元IPアドレスである仮想ルータ(192.168.2.202)から仮想ルータ(192.168.3.203)宛ての通信がフィルタされ通信できない

user01@vRouter-02:~$ ping 192.168.3.203 count 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 4003ms

user01@vRouter-02:~$

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

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

サンプル設定のシナリオ

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

注釈

192.168.2.0/25は、192.168.2.0,192.168.2.1,192.168.2.2,~,192.168.2.127 の128個のIPアドレスが該当します。

vsrx_srcip_fig3

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

1.パケットフィルタリング設定の名前を from_CENTSV02 として設定
2.192.168.2.0/25を送信元とするパケットを拒否するポリシーを TERM1 として設定
3.192.168.2.0/25以外を送信元とするパケットについて許可するポリシーを TERM2 として設定
4.インターフェイス(ge-0/0/1)にてインプット方向へ適用

CLIにて入力するコマンド

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

注釈

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

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

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

firewall {
    filter from_CENTSV02 {
        term TERM1 {
            from {
                source-address {
                    192.168.2.0/25;
                }
            }
            then {
                discard;
            }
        }
        term TERM2 {
            then accept;
        }
    }
}

動作確認結果

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

仮想サーバ(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

[user01@centsv-02 ~]$

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

user01@vRouter-02:~$ ping 192.168.3.203 count 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.96 ms
64 bytes from 192.168.3.203: icmp_seq=2 ttl=63 time=1.33 ms
64 bytes from 192.168.3.203: icmp_seq=3 ttl=63 time=1.45 ms
64 bytes from 192.168.3.203: icmp_seq=4 ttl=63 time=1.43 ms
64 bytes from 192.168.3.203: icmp_seq=5 ttl=63 time=1.45 ms

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 1.335/1.729/2.969/0.622 ms
user01@vRouter-02:~$

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

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

サンプル設定のシナリオ

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

注釈

192.168.2.0/25は、192.168.2.0,192.168.2.1,192.168.2.2,~,192.168.2.127 の128個のIPアドレスが該当します。

構成図

vsrx_srcip_fig4

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

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

CLIにて入力するコマンド

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

注釈

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

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

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

firewall {
    filter from_CENTSV02 {
        term TERM1 {
            from {
                source-address {
                    192.168.2.0/25;
                }
            }
            then {
                accept;
            }
        }
        term TERM2 {
            then {
        discard;
        }
    }
}

動作確認結果

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

仮想サーバ(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.68 ms
64 bytes from 192.168.3.203: icmp_seq=2 ttl=63 time=0.789 ms
64 bytes from 192.168.3.203: icmp_seq=3 ttl=63 time=1.03 ms
64 bytes from 192.168.3.203: icmp_seq=4 ttl=63 time=1.06 ms
64 bytes from 192.168.3.203: icmp_seq=5 ttl=63 time=1.09 ms

--- 192.168.3.203 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 0.789/1.334/2.687/0.685 ms
[user01@centsv-02 ~]$

その他の送信元IPアドレスである仮想ルータ(192.168.2.202)から仮想ルータ(192.168.3.203)宛ての通信がフィルタされ通信できない

user01@vRouter-02:~$ ping 192.168.3.203 count 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 4000ms