共通機能をファイアウォール経由で利用する際のNAT構成例

動作確認バージョン:Brocade 5600vRouter Version4.2R1S1
ファイアウォール配下のサーバセグメントから共通機能ゲートウェイを介し、共通機能プールへ接続する構成例を示します。
今回のケースはNTPサーバへのアクセスを想定しています。

注釈

システム構成図

Server-01,02 がファイアウォールを経由し、共通機能プールのNTPサーバへアクセスできるよう構成しています。
  • Server-01,02 のゲートウェイとして、FW-01,02 でVRRPを設定し冗長構成としています。
  • Server-01,02 からNTPサーバへの通信をFWでSNATするよう構成しています。
../_images/function_D_1.png

注釈

  • ServerのOSは "CentOS 7.1.1503" を使用しております。
  • NTPクライアントは "chrony-1.29.1-1" を使用しております。

ファイアウォール設定の内容

ファイアウォールインタフェース設定

設定内容の確認のためにインタフェース設定を示しておりますが、実際にはインタフェース設定はカスタマポータル上で設定して頂く必要があります。
以下インタフェース設定コマンドを投入するとエラーが返ってきますのでご注意ください。

注釈

  • インタフェース設定はカスタマポータル以外で設定することはできません。
  • FW-01
set interfaces dataplane dp0s10 address '169.254.0.5/17'
set interfaces dataplane dp0s11 address '192.168.4.12/28'
  • FW-02
set interfaces dataplane dp0s10 address '169.254.0.6/17'
set interfaces dataplane dp0s11 address '192.168.4.13/28'

VRRP設定

サーバセグメントの冗長設定を以下に示します。
VRRP設定前に、必ずカスタマポータル上でVRRP通信許可設定を実施いただく必要があります。 VRRP用通信設定の登録 をご参照ください。
  • FW-01
set interfaces dataplane dp0s11 vrrp vrrp-group 4 advertise-interval '20'
set interfaces dataplane dp0s11 vrrp vrrp-group 4 preempt 'true'
set interfaces dataplane dp0s11 vrrp vrrp-group 4 priority '200'
set interfaces dataplane dp0s11 vrrp vrrp-group 4 'rfc-compatibility'
set interfaces dataplane dp0s11 vrrp vrrp-group 4 version '2'
set interfaces dataplane dp0s11 vrrp vrrp-group 4 virtual-address '192.168.4.11'
  • FW-02
set interfaces dataplane dp0s11 vrrp vrrp-group 4 advertise-interval '20'
set interfaces dataplane dp0s11 vrrp vrrp-group 4 preempt 'true'
set interfaces dataplane dp0s11 vrrp vrrp-group 4 priority '150'
set interfaces dataplane dp0s11 vrrp vrrp-group 4 'rfc-compatibility'
set interfaces dataplane dp0s11 vrrp vrrp-group 4 version '2'
set interfaces dataplane dp0s11 vrrp vrrp-group 4 virtual-address '192.168.4.11'

注釈

  • VRRPのadvertise intervalは初期設定では基盤側においてVRRP通信が稀に不安定になることが確認されていたため20sec以上を推奨しておりましたが(2016年12月時点)、不安定事象が解消したためお客様のシステム構成に合わせ設計ください(2017年8月時点)。(3回連続でHello Packetを受信しなかった際に断検知します)。なお本設定を変更する場合、Backup側のファイアウォールから変更してください。Master側から変更すると、Backup側へのHelloパケット送信間隔が変わるため、Backup側もMasterに昇格し、両装置がMasterになる可能性があります。

NAT設定(SNAT)

サーバの送信元IPアドレスを、ファイアウォールにて共通機能ゲートウェイセグメントのIPアドレスへSNATを行う設定を以下に示します。
  • FW-01
set service nat source rule 10 outbound-interface 'dp0s10'
set service nat source rule 10 source address '192.168.4.0/28'
set service nat source rule 10 translation address '169.254.0.5'
  • FW-02
set service nat source rule 10 outbound-interface 'dp0s10'
set service nat source rule 10 source address '192.168.4.0/28'
set service nat source rule 10 translation address '169.254.0.6'

設定内容の確認

前述の設定が正しく投入されている場合、以下出力が確認できます。
  • FW-01
user-admin@FW-01# show interfaces
 interfaces {
        dataplane dp0s10 {
                address 169.254.0.5/17
        }
        dataplane dp0s11 {
                address 192.168.4.12/28
                vrrp {
                        vrrp-group 4 {
                                advertise-interval 20
                                preempt true
                                priority 200
                                rfc-compatibility
                                version 2
                                virtual-address 192.168.4.11
                        }
                }
        }


user-admin@FW-01# show service nat
 nat {
        source {
                rule 10 {
                        outbound-interface dp0s10
                        source {
                                address 192.168.4.0/28
                        }
                        translation {
                                address 169.254.0.5
                        }
                }
        }
 }
  • FW-02
user-admin@FW-02# show interfaces
 interfaces {
       dataplane dp0s10 {
               address 169.254.0.6/17
       }
       dataplane dp0s11 {
               address 192.168.4.13/28
               vrrp {
                       vrrp-group 4 {
                               advertise-interval 20
                               preempt true
                               priority 150
                               rfc-compatibility
                               version 2
                               virtual-address 192.168.4.11
                       }
               }
       }


user-admin@FW-02# show service nat
 nat {
       source {
               rule 10 {
                       outbound-interface dp0s10
                       source {
                               address 192.168.4.0/28
                       }
                       translation {
                               address 169.254.0.6
                       }
               }
       }
 }

通信の流れ

Server-01,02 は正常時、MasterであるFW-01を通過してNTPサーバへ通信を行います。
../_images/function_D_2.png

正常通信時の状態確認

正常通信時のファイアウォールの状態は以下のように確認できます。
  • VRRPの状態
FW-01 が Master であること。
user-admin@FW-01:~$ show vrrp
                                 RFC        Addr   Last        Sync
Interface         Group  State   Compliant  Owner  Transition  Group
---------         -----  -----   ---------  -----  ----------  -----
dp0s11            4      MASTER  dp0vrrp1   no     2d15h49m31s <none>
FW-02 が Backup であること。
user-admin@FW-02:~$ show vrrp
                                 RFC        Addr   Last        Sync
Interface         Group  State   Compliant  Owner  Transition  Group
---------         -----  -----   ---------  -----  ----------  -----
dp0s11            4      BACKUP  dp0vrrp1   no     2d15h49m34s <none>
  • NAT変換の状態
FW-01 を通過する Server-01,02 の送信元IPアドレスが、設定通りSNATされていること。
user-admin@FW-01:~$ show nat source translations
Pre-NAT                 Post-NAT                Prot    Timeout

192.168.4.1:123         169.254.0.5:123         udp     57
192.168.4.2:123         169.254.0.5:124         udp     57

注釈

  • FW-02 は Backup であるため、通信の通過はありません。よってSNATの変換ログはありません。

Serverでの同期確認

以下の通り、NTPサーバ(169.254.127.1)と同期が取れております。
NTPサーバーアドレスの前に*または+が表示されれば時刻同期中の状態です。
  • Server-01
[root@server-01 test-user]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 169.254.127.1                 3   6    17    20   -131us[ -103us] +/-   80ms
  • Server-02
[root@server-02 test-user]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 169.254.127.1                 3   6    17    21   -207us[ -140us] +/-   80ms

障害発生時の通信の流れ

FW-01 にインスタンス障害が発生した場合、Server-01,02 はFW-02を通過してNTPサーバへ通信を行います。
../_images/function_D_3.png

注釈

 インスタンス障害の試験方法として、FW-01 の VRRP を一時的に無効化する手法を採用しております。
 任意の vrrp-group を停止/再開するコマンドは以下の通りです。
 # 停止
 set interfaces dataplane [INTERFACE NAME] vrrp vrrp-group [GROUP ID] disable
 # 再開
 delete interfaces dataplane [INTERFACE NAME] vrrp vrrp-group [GROUP ID] disable

障害発生時の状態確認

障害発生時のファイアウォールの状態は以下のように確認できます。
  • VRRPの状態
FW-01 の VRRP が起動していないこと。
user-admin@FW-01:~$ show vrrp
                                 RFC        Addr   Last        Sync
Interface         Group  State   Compliant  Owner  Transition  Group
---------         -----  -----   ---------  -----  ----------  -----

注釈

  • FW-01 のVRRPは停止中のため、状態は表示されません。
FW-02 が Master であること。
user-admin@FW-02:~$ show vrrp
                                 RFC        Addr   Last        Sync
Interface         Group  State   Compliant  Owner  Transition  Group
---------         -----  -----   ---------  -----  ----------  -----
dp0s11            4      MASTER  dp0vrrp1   no     2s          <none>
  • NAT変換の状態
FW-02 を通過する Server-01,02 の送信元IPアドレスが、設定通りSNATされていること。
user-admin@FW-02:~$ show nat source translations
Pre-NAT                 Post-NAT                Prot    Timeout

192.168.4.1:123         169.254.0.6:123         udp     60
192.168.4.2:123         169.254.0.6:124         udp     60

注釈

  • FW-01 のVRRPは停止中のため、通信の通過はありません。よってNAT変換のログもありません。

Serverでの同期確認

障害発生時でもServerの同期の確認が取れています。
※NTPサーバーアドレスの前に*または+が表示されれば時刻同期中の状態です。
  • Server-01
[root@server-01 test-user]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 169.254.127.1                 3   6    17    22  -2307ns[  +50us] +/-   92ms
  • Server-02
[root@server-02 test-user]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 169.254.127.1                 3   6    17    23    +83us[ +229us] +/-   57ms