送信元IPアドレスのNAPT

動作確認バージョン:Brocade 5600vRouter Version4.2R1S1
特定の送信元アドレス範囲のネットワークからのパケットに対するNAPT機能の紹介をします。

サンプル設定のシナリオ

  • 送信元IPアドレス192.168.2.0/24を送信元にするパケットをNAPTしたい
  • インタフェース(dp0s6)から出力されるパケットはNAPT変換にしたい
構成図
fw_nat_fig3

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

1.送信元IPを変換するためのNATルール名を10に設定する
2.NAPT対象のIPアドレス(192.168.2.0/24)を設定する
3.NAPTを実行する際の出力インタフェースを指定する
4.変換後がNAPTである設定(masquerade)を実施する

CLIにて入力するコマンド

set service nat source rule 10 source address '192.168.2.0/24'
set service nat source rule 10 outbound-interface 'dp0s6'
set service nat source rule 10 translation address 'masquerade'

注釈

インターフェースに指定されたIPアドレス以外のIPアドレスに変換したい場合は、
translation address に、'masquerade' ではなく'変換したいIPアドレス' を指定して下さい。
正しく設定が完了したときのコンフィグレーションは次のとおりです。
 service {
        nat {
                source {
                        rule 10 {
                                outbound-interface dp0s6
                                source {
                                        address 192.168.2.0/24
                                }
                                translation {
                                        address masquerade
                                }
                        }
                }
        }
}

動作確認結果

192.168.2.6のサーバから192.168.3.3のサーバ宛にHTTP通信実施成功しました。
Webサーバのアクセスログの確認結果より、アクセスされたIPアドレスが192.168.3.5に変換されていることが確認できましたので送信元IPアドレス(192.168.2.0/24)に対するNAPT機能が確認できました。
# サーバ(192.168.2.6)からWebサーバ(192.168.3.5)への通信結果 → OK

test@ubu01:~$ wget -O - http://192.168.3.5/ > /dev/null
--2016-07-29 13:46:17--  http://192.168.3.5/
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サーバのアクセスログ確認

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)" "-"