NAT設定¶
動作確認バージョン: | vSRX Version22.4R1 |
---|
送信元IPアドレスのNAT¶
特定の送信元IPアドレスからの通信を指定して送信元IPアドレスをNATします。
サンプル設定のシナリオ
- trustゾーンからuntrustゾーン向けのパケットに対してNATしたい
- 送信元IPアドレス192.168.2.11を192.168.3.200に変換したい
シナリオにおける設定のながれ
注釈
CLIにて入力するコマンド
user01@vSRX-02# set security nat source pool POOL1 address 192.168.3.200/32
user01@vSRX-02# set security nat source pool POOL1 port no-translation
user01@vSRX-02# set security nat source rule-set RULE from zone trust
user01@vSRX-02# set security nat source rule-set RULE to zone untrust
user01@vSRX-02# set security nat source rule-set RULE rule RULE1-1 match source-address 192.168.2.0/24
user01@vSRX-02# set security nat source rule-set RULE rule RULE1-1 then source-nat pool POOL1
user01@vSRX-02# set security nat proxy-arp interface ge-0/0/2.0 address 192.168.3.200/32
正しく設定が完了したときのコンフィグレーションは次のとおりです。
security{
nat {
source {
pool POOL1 {
address {
192.168.3.200/32;
}
port {
no-translation;
}
}
rule-set RULE {
from zone trust;
to zone untrust;
rule RULE1-1 {
match {
source-address 192.168.2.0/24;
}
then {
source-nat {
pool {
POOL1;
}
}
}
}
}
}
proxy-arp {
interface ge-0/0/2.0 {
address {
192.168.3.200/32;
}
}
}
}
}
動作確認結果
検証構成図のサーバーインスタンス(192.168.2.11)からサーバーインスタンス(192.168.3.13)宛ての通信を実施した際にvSRX-02で192.168.3.200に変換されていることが確認できますので、送信元IPアドレスに対するNATが機能していることを確認できました。
サーバーインスタンス(192.168.2.11)からサーバーインスタンス(192.168.3.13)宛の通信確認結果
user01@ubuntu:~$ ping -c 5 192.168.3.13
PING 192.168.3.13 (192.168.3.13) 56(84) bytes of data.
64 bytes from 192.168.3.13: icmp_seq=1 ttl=63 time=3.97 ms
64 bytes from 192.168.3.13: icmp_seq=2 ttl=63 time=1.42 ms
64 bytes from 192.168.3.13: icmp_seq=3 ttl=63 time=1.25 ms
64 bytes from 192.168.3.13: icmp_seq=4 ttl=63 time=1.38 ms
64 bytes from 192.168.3.13: icmp_seq=5 ttl=63 time=1.25 ms
--- 192.168.3.13 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4004ms
rtt min/avg/max/mdev = 1.250/1.856/3.971/1.060 ms
vSRXでNAT動作の確認結果
user01@vSRX-02> show security flow session
Session ID: 107, Policy name: default-permit/5, Timeout: 1786, Valid
In: 192.168.2.11/33606 --> 192.168.3.13/22;tcp, Conn Tag: 0x0, If: ge-0/0/1.0, Pkts: 33, Bytes: 4127,
Out: 192.168.3.13/22 --> 192.168.3.200/33606;tcp, Conn Tag: 0x0, If: ge-0/0/2.0, Pkts: 29, Bytes: 4979,
Total sessions: 1
宛先IPアドレスのNAT¶
特定の宛先IPアドレスへの通信に対して宛先IPアドレスをNATします。
サンプル設定のシナリオ
- untrustゾーンから入力するパケットに対してNATしたい
- 192.168.3.102宛ての通信は192.168.2.11にNATして通信させたい
シナリオにおける設定のながれ
CLIにて入力するコマンド
user01@vSRX-02# set security nat destination pool POOL1 address 192.168.2.11/32
user01@vSRX-02# set security nat destination rule-set RULE1 from zone untrust
user01@vSRX-02# set security nat destination rule-set RULE1 rule RULE1-1 match destination-address 192.168.3.102/32
user01@vSRX-02# set security nat destination rule-set RULE1 rule RULE1-1 then destination-nat pool POOL1
正しく設定が完了したときのコンフィグレーションは次のとおりです。
security {
nat {
destination {
pool POOL1 {
address 192.168.2.11/32;
}
rule-set RULE1 {
from zone untrust;
rule RULE1-1 {
match {
destination-address 192.168.3.102/32;
}
then {
destination-nat {
pool {
POOL1;
}
}
}
}
}
}
}
}
動作確認結果
検証構成図のサーバーインスタンス(192.168.3.13)からvSRX-02(192.168.3.102)宛ての通信がNATされて192.168.2.11に対して通信が成功しておりますので、宛先IPアドレスに対するNATが機能していることが確認できました。
サーバーインスタンス(192.168.3.13)からvSRX-02(192.168.3.102)への通信結果
user01@ubuntu:~$ ssh user01@192.168.3.102
user01@192.168.3.102's password:
Thanks for using Official Template (Ubuntu).
(省略)
Last login: Mon Sep 18 09:46:49 2017 from 192.168.2.102
$
vSRX-02でNAT動作の確認結果
user01@vSRX-02> show security flow session
Session ID: 2026, Policy name: POL1/6, Timeout: 1800, Valid
In: 192.168.3.13/56922 --> 192.168.3.102/22;tcp, Conn Tag: 0x0, If: ge-0/0/2.0, Pkts: 118, Bytes: 9159,
Out: 192.168.2.11/22 --> 192.168.3.13/56922;tcp, Conn Tag: 0x0, If: ge-0/0/1.0, Pkts: 97, Bytes: 14543,
Total sessions: 1
user01@vSRX-02>
送信元IPアドレスのNAPT¶
特定の送信元IPアドレスからの通信に対して送信元IPアドレスをNAPTします。
サンプル設定のシナリオ
- trustゾーンからuntrustゾーン向けのパケットに対してNAPTしたい
- 送信元IPアドレス192.168.2.11を出力インターフェイスのIPアドレスに変換したい
シナリオにおける設定のながれ
CLIにて入力するコマンド
user01@vSRX-02# set security nat source rule-set RULE1 from zone trust
user01@vSRX-02# set security nat source rule-set RULE1 to zone untrust
user01@vSRX-02# set security nat source rule-set RULE1 rule RULE1-1 match source-address 192.168.2.11/32
user01@vSRX-02# set security nat source rule-set RULE1 rule RULE1-1 then source-nat interface
正しく設定が完了したときのコンフィグレーションは次のとおりです。
security {
nat {
source {
rule-set RULE1 {
from zone trust;
to zone untrust;
rule RULE1-1 {
match {
source-address 192.168.2.11/32;
}
then {
source-nat {
interface;
}
}
}
}
}
}
}
動作確認結果
検証構成図のサーバーインスタンス(192.168.2.11)から192.168.3.13宛ての通信を実施した際にvSRX-02で192.168.3.102に変換されていることが確認できますので、送信元IPアドレス(192.168.2.11)に対するNAPT機能が確認できました。
サーバーインスタンス(192.168.2.11)からサーバーインスタンス(192.168.3.13)への通信結果
user01@ubuntu:~$ ping -c 5 192.168.3.13
PING 192.168.3.13 (192.168.3.13) 56(84) bytes of data.
64 bytes from 192.168.3.13: icmp_seq=1 ttl=63 time=3.59 ms
64 bytes from 192.168.3.13: icmp_seq=2 ttl=63 time=1.13 ms
64 bytes from 192.168.3.13: icmp_seq=3 ttl=63 time=0.807 ms
64 bytes from 192.168.3.13: icmp_seq=4 ttl=63 time=1.21 ms
64 bytes from 192.168.3.13: icmp_seq=5 ttl=63 time=1.33 ms
--- 192.168.3.13 ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4003ms
rtt min/avg/max/mdev = 0.807/1.619/3.598/1.004 ms
vSRX-02でNAPT状態の確認結果
user01@vSRX-02> show security flow session
Session ID: 1443, Policy name: default-permit/5, Timeout: 1798, Valid
In: 192.168.2.11/33578 --> 192.168.3.13/22;tcp, Conn Tag: 0x0, If: ge-0/0/1.0, Pkts: 119, Bytes: 9067,
Out: 192.168.3.13/22 --> 192.168.3.102/17879;tcp, Conn Tag: 0x0, If: ge-0/0/2.0, Pkts: 101, Bytes: 15447,
Total sessions: 1
user01@vSRX-02>
宛先IPアドレスとポート番号のNAPT¶
特定の宛先IPアドレスとポート番号に該当する通信を指定したIPアドレスとポート番号へ変換するNAPT設定を行います。
サンプル設定のシナリオ
- 192.168.3.13から宛先192.168.3.102の TCP:2222 宛ての通信を192.168.1.11の TCP:22 宛ての通信に変換したい
- untrustゾーンから入力するパケットに対してNAPTしたい
シナリオにおける設定のながれ
CLIにて入力するコマンド
user01@vSRX-02# set security nat destination pool POOL2 address 192.168.1.11/32 port 22
user01@vSRX-02# set security nat destination rule-set RULE1 from zone untrust
user01@vSRX-02# set security nat destination rule-set RULE1 rule RULE1-1 match destination-address 192.168.3.102/32
user01@vSRX-02# set security nat destination rule-set RULE1 rule RULE1-1 match destination-port 2222
user01@vSRX-02# set security nat destination rule-set RULE1 rule RULE1-1 then destination-nat pool POOL2
正しく設定が完了したときのコンフィグレーションは次のとおりです。
security {
nat {
destination {
pool POOL2 {
address 192.168.1.11/32 port 22;
}
rule-set RULE1 {
from zone untrust;
rule RULE1-1 {
match {
destination-address 192.168.3.102/32;
destination-port {
2222;
}
}
then {
destination-nat {
pool {
POOL2;
}
}
}
}
}
}
}
}
動作確認結果
検証構成図のサーバーインスタンス(192.168.3.13)からvSRX-02(192.168.3.102)ポート2222番宛ての通信がNAPTされて 192.168.1.11ポート22番に対してSSH通信が成功しておりますので、宛先IPアドレスとポート番号のNAPTが機能していることが確認できました。
サーバーインスタンス(192.168.3.13)からサーバーインスタンス(192.168.1.11)への通信結果
user01@ubuntu:~$ ssh user01@192.168.3.102 -p 2222
user01@192.168.3.102's password:
Thanks for using Official Template (Ubuntu).
(省略)
Last login: Mon Sep 18 15:49:53 2017 from 192.168.3.13
$
vSRX-02でNAPT動作の確認結果
user01@vSRX-02> show security flow session
Session ID: 459, Policy name: POL1/6, Timeout: 1800, Valid
In: 192.168.3.13/37106 --> 192.168.3.102/2222;tcp, Conn Tag: 0x0, If: ge-0/0/2.0, Pkts: 201, Bytes: 13403,
Out: 192.168.1.11/22 --> 192.168.3.13/37106;tcp, Conn Tag: 0x0, If: ge-0/0/0.0, Pkts: 179, Bytes: 27191,
Total sessions: 2
user01@vSRX-02>
宛先NAPTと送信元IPアドレスNAPTの組み合わせ設定¶
サンプル設定のシナリオ
- 192.168.3.13から宛先192.168.3.102のTCPポート2222番あての通信は192.168.2.12を宛先にしたい
- 192.168.3.13から宛先192.168.3.102のTCPポート22番あての通信は192.168.1.11を宛先にしたい
- インターフェイス(ge-0/0/2)に入力するトラフィックに対して宛先NATをしたい
- 送信元IPアドレス192.168.3.0/24を送信元にするパケットをNAPTしたい
- trustゾーンの各インターフェイス(ge-0/0/0,ge-0/0/1)から出力されるパケットの送信元IPアドレスをインターフェイスアドレスに変換したい
シナリオにおける設定のながれ
- 送信元IPアドレスに対するNAPT設定
- 宛先IPアドレスとポート番号の組み合わせのNAT設定
CLIにて入力するコマンド
送信元IPアドレスに対するNAPT設定
user01@vSRX-02# set security nat source rule-set SNAT_RULE from zone untrust
user01@vSRX-02# set security nat source rule-set SNAT_RULE to zone trust
user01@vSRX-02# set security nat source rule-set SNAT_RULE rule SNAT_RULE1 match source-address 192.168.3.0/24
user01@vSRX-02# set security nat source rule-set SNAT_RULE rule SNAT_RULE1 then source-nat interface
宛先IPアドレスとポート番号の組み合わせのNAT設定
user01@vSRX-02# set security nat destination pool POOL1 address 192.168.1.11/32 port 22
user01@vSRX-02# set security nat destination pool POOL2 address 192.168.2.12/32 port 22
user01@vSRX-02# set security nat destination rule-set DNAT_RULE from zone untrust
user01@vSRX-02# set security nat destination rule-set DNAT_RULE rule DNAT_RULE1 match destination-address 192.168.3.102/32
user01@vSRX-02# set security nat destination rule-set DNAT_RULE rule DNAT_RULE1 match destination-port 22
user01@vSRX-02# set security nat destination rule-set DNAT_RULE rule DNAT_RULE1 then destination-nat pool POOL1
user01@vSRX-02# set security nat destination rule-set DNAT_RULE rule DNAT_RULE2 match destination-address 192.168.3.102/32
user01@vSRX-02# set security nat destination rule-set DNAT_RULE rule DNAT_RULE2 match destination-port 2222
user01@vSRX-02# set security nat destination rule-set DNAT_RULE rule DNAT_RULE2 then destination-nat pool POOL2
正しく設定が完了したときのコンフィグレーションは次のとおりです。
送信元IPアドレスに対するNAPT設定
security {
nat {
source {
rule-set SNAT_RULE {
from zone untrust;
to zone trust;
rule SNAT_RULE1 {
match {
source-address 192.168.3.0/24;
}
then {
source-nat {
interface;
}
}
}
}
}
}
}
宛先IPアドレスとポート番号の組み合わせのNAT設定
security {
nat {
destination {
pool POOL1 {
address 192.168.1.11/32 port 22;
}
pool POOL2 {
address 192.168.2.12/32 port 22;
}
rule-set DNAT_RULE {
from zone untrust;
rule DNAT_RULE1 {
match {
destination-address 192.168.3.102/32;
destination-port {
22;
}
}
then {
destination-nat {
pool {
POOL1;
}
}
}
}
rule DNAT_RULE2 {
match {
destination-address 192.168.3.102/32;
destination-port {
2222;
}
}
then {
destination-nat {
pool {
POOL2;
}
}
}
}
}
}
}
}
動作確認結果
サーバーインスタンスからそれぞれ192.168.3.102:22と192.168.3.102:2222を宛先にしたSSH通信が成功しました。 192.168.1.11と192.168.2.12のサーバーインスタンスへアクセス可能なことが確認できましたので、宛先IPアドレスとポート番号の組み合わせたNAPTも正しく動作することが確認できました。 また、通信を実施した際にvSRX-02で192.168.1.102と192.168.2.102に変換されていることが確認できますので、送信元IPアドレス(192.168.3.0/24)に対するNAPT機能が確認できました。
サーバーインスタンス(192.168.3.13)から192.168.3.102:22宛てのSSH通信が192.168.1.11に通信ができており、接続元も192.168.1.102から接続されていることが確認できます。
user01@ubuntu:~$ ssh user01@192.168.3.102 -p 22
user01@192.168.3.102's password:
Thanks for using Official Template (Ubuntu).
(省略)
Last login: Tue Sep 19 07:12:12 2017 from 192.168.1.102
$
サーバーインスタンス(192.168.3.13)から192.168.3.102:2222宛てのSSH通信が192.168.2.12に通信ができており、接続元も192.168.2.102から接続されていることが確認できます。
user01@ubuntu:~$ ssh user01@192.168.3.102 -p 2222
user01@192.168.3.102's password:
Thanks for using Official Template (Ubuntu).
(省略)
Last login: Tue Sep 19 07:57:22 2017 from 192.168.2.102
$
vSRX-02でNAPT状態の確認結果
user01@vSRX-02> show security flow session
Session ID: 601, Policy name: POL1/6, Timeout: 1800, Valid
In: 192.168.3.13/57016 --> 192.168.3.102/22;tcp, Conn Tag: 0x0, If: ge-0/0/2.0, Pkts: 2459, Bytes: 130963,
Out: 192.168.1.11/22 --> 192.168.1.102/27746;tcp, Conn Tag: 0x0, If: ge-0/0/0.0, Pkts: 2439, Bytes: 369967,
Session ID: 602, Policy name: POL1/6, Timeout: 1800, Valid
In: 192.168.3.13/37124 --> 192.168.3.102/2222;tcp, Conn Tag: 0x0, If: ge-0/0/2.0, Pkts: 2391, Bytes: 128003,
Out: 192.168.2.12/22 --> 192.168.2.102/26438;tcp, Conn Tag: 0x0, If: ge-0/0/1.0, Pkts: 2368, Bytes: 358443,
Total sessions: 2