送信元IPアドレスのNAT

動作確認バージョン:Brocade 5600vRouter Version4.2R1S1
特定の送信元IPアドレスからの通信を指定して送信元IPアドレスをNATをします。

サンプル設定のシナリオ

  • インタフェース(dp0s6)から出力するパケットに対してNATしたい
  • 送信元IPアドレス192.168.2.6を192.168.3.5に変換したい
構成図
nat_fig1

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

1.送信元NATに利用するルール名を 10 に設定
2.変換対象になる送信元IPアドレスを設定
3.NATを実行するインタフェース(dp0s6)の決定
4.変換後の送信元IPアドレスを設定

CLIにて入力するコマンド

set service nat source rule 10 source address '192.168.2.6'
set service nat source rule 10 outbound-interface 'dp0s6'
set service nat source rule 10 translation address '192.168.3.5'
正しく設定が完了したときのコンフィグレーションは次のとおりです。
service {
       nat {
               source {
                       rule 10 {
                               outbound-interface dp0s6
                               source {
                                       address 192.168.2.6
                               }
                               translation {
                                       address 192.168.3.5
                               }
                       }
               }
       }

動作確認結果

検証構成図のサーバ(192.168.2.6)から192.168.3.3宛ての通信を実施した際にWebサーバのアクセスログから192.168.3.5に変換されていることが確認できますので、送信元IPアドレスに対する 1 対 1 NATが機能していることが確認できました。
# サーバ(192.168.2.6)からWebサーバ(192.168.3.3)宛の通信 → 通信結果 OK

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

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

2016-07-29 10:50:25 (132 MB/s) - stdout へ出力完了 [616/616]

# Webサーバのアクセスログ

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

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