アドレスグループ設定

動作確認バージョン:Brocade 5600vRouter Version4.2R1S1

アドレスグループとは

ファイアウォール機能でパケットフィルタリングを設定する時にルールを記述しますが
登録されたIPアドレスのリストに対しての通信可否を設定することが可能です。
このIPアドレスが登録されたリストをアドレスグループと呼びます。

注釈

アドレスグループは32まで設定可能です。それ以上のグループ数は作成できません。

複数のIPアドレスをグループ化する設定

複数のIPアドレスからなるグループを作成します。

サンプル設定のシナリオ

  • IPアドレス 192.168.2.12,192.168.2.13 のアドレスグループを作成したい
  • アドレスグループの名前を g1 にしたい

CLIにて入力するコマンド

set resources group address-group g1 address '192.168.2.12'
set resources group address-group g1 address '192.168.2.13'
正しく設定が完了したときのコンフィグレーションは次のとおりです。
resources {
      group {
              address-group g1 {
                      address 192.168.2.12
                      address 192.168.2.13
              }
      }
}

1つのIPアドレスを複数のグループに追加する設定

IPアドレスは複数のリストに所属することが可能です。

サンプル設定のシナリオ

  • IPアドレス192.168.2.12,192.168.2.13 のアドレスグループを作成したい
  • 上記アドレスグループを g1 にしたい
  • IPアドレス192.168.2.12,192.168.2.6のアドレスグループを作成したい
  • 上記アドレスグループを g2 にしたい

CLIにて入力するコマンド

set resources group address-group g1 address '192.168.2.12'
set resources group address-group g1 address '192.168.2.13'
set resources group address-group g2 address '192.168.2.12'
set resources group address-group g2 address '192.168.2.6'
正しく設定が完了したときのコンフィグレーションは次のとおりです。
resources {
       group {
               address-group g1 {
                       address 192.168.2.12
                       address 192.168.2.13
               }
               address-group g2 {
                       address 192.168.2.12
                       address 192.168.2.6
               }
       }
 }

IPアドレス範囲(ネットワーク)をグループ化する設定

アドレスグループには、IPアドレスの範囲を指定してリストに所属することが可能です。

サンプル設定のシナリオ

  • IPアドレス192.168.2.4/30,192.168.2.12/30 のネットワークごとアドレスグループを作成したい
  • 上記アドレスグループを g3 にしたい

注釈

192.168.2.4/30は、192.168.2.4 から192.168.2.7の4つIPアドレスが対象になります。
192.168.2.12/30は、192.168.2.12から192.168.2.15の4つのIPアドレスが対象になります。

CLIにて入力するコマンド

set resources group address-group g3 address '192.168.2.4/30'
set resources group address-group g3 address '192.168.2.12/30'
正しく設定が完了したときのコンフィグレーションは次のとおりです。
resources {
      group {
              address-group g3 {
                      address 192.168.2.4/30
                      address 192.168.2.12/30
              }
      }
}

作成したグループをパケットフィルタリングに利用する設定

アドレスグループを定義し、グループに含むIPアドレスを設定します。
アドレスグループに登録されているIPアドレスからの通信を許可して
その他のIPアドレスを送信元とする通信に関しては
ファイアウォールのインタフェースで遮断する設定を行います。

注釈

アドレスグループは、複数のIPアドレスを登録されたリストになります。 グループ化することで、リストに対してのポリシーを設定することが可能です。

サンプル設定のシナリオ

  • IPアドレス 192.168.2.6と192.168.2.13 のアドレスからの通信だけを転送したい
  • 上記アドレスをアドレスグループとして設定したい
  • インタフェース(dp0s5)にインプットするトラフィックに対して有効化したい
  • アドレスグループ以外の送信元IPアドレスからの通信はすべて遮断したい
構成図
NATの図

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

1.パケットフィルタリング設定の名前 test_rule
2.192.168.2.6と192.168.2.13をアドレスグループ g1 として設定
3.アドレスグループg1を送信元IPとするパケットを許可するルールを10として設定
4.アドレスグループg1以外を送信元IPとするパケットについて拒否する設定
5.dp0s5 インタフェースにてインプット方向へ適用

CLIにて入力するコマンド

set interfaces dataplane dp0s5 firewall in 'test_rule'
set resources group address-group g1 address '192.168.2.13'
set resources group address-group g1 address '192.168.2.6'
set security firewall name test_rule default-action 'drop'
set security firewall name test_rule rule 10 action 'accept'
set security firewall name test_rule rule 10 source address 'g1'

注釈

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

正しく設定が完了したときのコンフィグレーションは次のとおりです。
interfaces {
       dataplane dp0s4 {
               address 192.168.1.50/24
       }
       dataplane dp0s5 {
               address 192.168.2.50/24
               firewall {
                       in test_rule
               }
       }
       dataplane dp0s6 {
               address 192.168.3.5/24
       }
}
resources {
       group {
               address-group g1 {
                       address 192.168.2.13
                       address 192.168.2.6
               }
       }
}
security {
       firewall {
               name test_rule {
                       default-action drop
                       rule 10 {
                               action accept
                               source {
                                       address g1
                               }
                       }
               }
       }
}

動作確認結果

以下の検証結果ログから、検証構成図にあるサーバ(192.168.2.6)から
192.168.3.3 への通信(Ping)が成功しますが、アドレスグループg1に該当しない
192.168.2.12からの通信(Ping)は失敗しておりパケットフィルタリング機能が動作していることが確認できました。
#192.168.2.6から通信 -> OK

test@ubu01:~$ ping 192.168.3.3
PING 192.168.3.3 (192.168.3.3) 56(84) bytes of data.
64 bytes from 192.168.3.3: icmp_seq=1 ttl=63 time=3.07 ms
64 bytes from 192.168.3.3: icmp_seq=2 ttl=63 time=1.19 ms
64 bytes from 192.168.3.3: icmp_seq=3 ttl=63 time=1.78 ms
64 bytes from 192.168.3.3: icmp_seq=4 ttl=63 time=1.43 ms
64 bytes from 192.168.3.3: icmp_seq=5 ttl=63 time=1.78 ms
64 bytes from 192.168.3.3: icmp_seq=6 ttl=63 time=1.31 ms
64 bytes from 192.168.3.3: icmp_seq=7 ttl=63 time=1.56 ms
64 bytes from 192.168.3.3: icmp_seq=8 ttl=63 time=1.54 ms
64 bytes from 192.168.3.3: icmp_seq=9 ttl=63 time=1.48 ms
^C
--- 192.168.3.3 ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 8013ms
rtt min/avg/max/mdev = 1.194/1.684/3.071/0.524 ms

#192.168.2.12から通信 -> NG

test@ubu03:~$ ping 192.168.3.3
PING 192.168.3.3 (192.168.3.3) 56(84) bytes of data.
^C
--- 192.168.3.3 ping statistics ---
8 packets transmitted, 0 received, 100% packet loss, time 7055ms

作成したグループをNATに利用する設定

アドレスグループを定義し、グループに含むIPアドレスを設定します。
NAT機能をご利用いただく際に、ネットワークアドレス変換するための条件に
アドレスグループを利用することが可能です。

サンプル設定のシナリオ

  • IPアドレス 192.168.2.6と192.168.2.12 のアドレスからの通信に対してSourceNATしたい
  • 上記アドレスをアドレスグループとして設定したい
  • インタフェース(dp0s6)から出力するトラフィックに対して有効化したい
構成図
NAT条件がアドレスグループ

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

1.アドレスグループの名前を g1 としてIPアドレス192.168.2.6と192.168.2.12を登録する
2.送信元がアドレスグループ g1 かつインタフェース(dp0s6)の出力時にネットワークアドレス変換を設定

CLIにて入力するコマンド

set resources group address-group g1 address '192.168.2.6'
set resources group address-group g1 address '192.168.2.12'
set service nat source rule 10 outbound-interface 'dp0s6'
set service nat source rule 10 source address 'g1'
set service nat source rule 10 translation address 'masquerade'
set service nat destination rule 10 destination address '192.168.2.50'
set service nat destination rule 10 inbound-interface 'dp0s5'
set service nat destination rule 10 translation address '192.168.3.3'
正しく設定が完了したときのコンフィグレーションは次のとおりです。
 resources {
        group {
                address-group g1 {
                        address 192.168.2.6
                        address 192.168.2.12

                }
        }
 }
 service {
        nat {
                destination {
                        rule 10 {
                                destination {
                                        address 192.168.2.50
                                }
                                inbound-interface dp0s5
                                translation {
                                        address 192.168.3.3
                                }
                        }
                }
                source {
                        rule 10 {
                                outbound-interface dp0s6
                                source {
                                        address g1
                                }
                                translation {
                                        address masquerade
                                }
                        }
                }
        }

}

動作確認結果

以下の検証結果ログから、検証構成図にあるサーバ(192.168.2.6)から
192.168.2.50 への通信(HTTP GET)に関して、インタフェース dp0s5が受信時に
宛先IPアドレスが192.168.3.3に変換されて、インタフェース dp0s6から192.168.3.3に
出力される時に、アドレスグループに合致する送信元IPアドレスの際に、192.168.3.5に
変換されて目的のサーバ192.168.3.3にアクセスが成功しています。
サーバのアクセスログからも、192.168.3.5からのアクセスになっていることを確認
できていることから、NAPT変換のルールにアドレスグループが適用されていることが確認できました。

注釈

NATの動作やコンフィグレーションに関しましては、ネットワーク機能設定例のNAT機能をご参照ください。

#clientからのアクセス

test@ubu01:~$ wget -O - http://192.168.2.50/ > /dev/null
--2016-07-29 13:46:17--  http://192.168.2.50/
192.168.2.50:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 616 [text/html]
`STDOUT' に保存中

100%[========================================================================================================================================================================================================>] 616         --.-K/s   時間 0s

2016-07-29 13:46:17 (161 MB/s) - stdout へ出力完了 [616/616]

#web access

test@web1:~$ tail /usr/local/nginx/logs/access.log

192.168.2.6 - - [26/Jul/2016:11:29:10 +0900] "GET / HTTP/1.1" 200 616 "-" "Wget/1.15 (linux-gnu)" "-"
192.168.2.6 - - [29/Jul/2016:10:50:25 +0900] "GET / HTTP/1.1" 200 616 "-" "Wget/1.15 (linux-gnu)" "-"
192.168.3.5 - - [29/Jul/2016:10:53:59 +0900] "GET / HTTP/1.1" 200 616 "-" "Wget/1.15 (linux-gnu)" "-"
192.168.3.5 - - [29/Jul/2016:11:40:57 +0900] "GET / HTTP/1.1" 200 616 "-" "Wget/1.15 (linux-gnu)" "-"
192.168.3.5 - - [29/Jul/2016:13:46:16 +0900] "GET / HTTP/1.1" 200 616 "-" "Wget/1.15 (linux-gnu)" "-"