FutureNet

NXR,WXRシリーズ

REST-API編

6. NAT設定

6-2. 宛先NAT設定(dnat)

 処理概要

宛先NAT設定に関する処理を実行します。

 

URIおよびメソッド

機能 Version URI メソッド
POST PUT GET DELETE
DNAT v2 /api/v2/nat/dnat
/api/v2/nat/dnat/nat-list
/api/v2/nat/dnat/nat-list/{NAME}

凡例:〇対応、-未対応

  • api/v1は対応していません。

 

実行例

DNAT名の定義および設定の作成

メソッド URI
POST /api/v2/nat/dnat/nat-list
JSON
リクエスト

POST /api/v2/nat/dnat/nat-list
Content-Type: application/json

 

{
"nat-list": {
"name": "eth0_dnat",
"rule": {
"protocol": "ip",
"destination": "192.168.1.1",
"translation_ip": {
"from": "192.168.0.1"
}
}
}
}

 

レスポンス

201 Created

 

XML
リクエスト

POST /api/v2/nat/dnat/nat-list
Content-Type: application/xml

 

<dnat>
<nat-list>
<name>eth0_dnat</name>
<rule>
<protocol>ip</protocol>
<destination>192.168.1.1</destination>
<translation_ip>
<from>192.168.0.1</from>
</translation_ip>
</rule>
</nat-list>
</dnat>

 

レスポンス

201 Created

 

DNAT設定の追加

メソッド URI
PUT /api/v2/nat/dnat/nat-list/{NAME}
  • PUT時は、既存のDNAT名へのルールの追加のみ可能です。

 

JSON
リクエスト

PUT /api/v2/nat/dnat/nat-list/eth0_dnat
Content-Type: application/json

 

{
"name": "eth0_dnat",
"rule": {
"protocol": "tcp",
"src_port": {
"min": "any"
},
"destination": "192.168.1.2",
"dst_port": {
"min": 80
},
"translation_ip": {
"from": "192.168.0.2"
},
"translation_port": {
"min": 8080
}
}
}

 

レスポンス

204 No content

 

XML
リクエスト

PUT /api/v2/nat/dnat/nat-list/eth0_dnat
Content-Type: application/xml

 

<nat-list>
<name>eth0_dnat</name>
<rule>
<protocol>tcp</protocol>
<src_port>
<min>any</min>
</src_port>
<destination>192.168.1.2</destination>
<dst_port>
<min>80</min>
</dst_port>
<translation_ip>
<from>192.168.0.2</from>
</translation_ip>
<translation_port>
<min>8080</min>
</translation_port>
</rule>
</nat-list>

 

レスポンス

204 No content

 

DNAT設定の取得

メソッド URI
GET /api/v2/nat/dnat/nat-list/{NAME}
JSON
リクエスト

GET /api/v2/nat/dnat/nat-list/eth0_dnat
Accept: application/json

 

レスポンス

200 OK
Content-Type: application/json

 

{
"name": "eth0_dnat",
"rule": [
{
"protocol": "ip",
"destination": "192.168.1.1",
"translation_ip": {
"from": "192.168.0.1"
}
},
{
"protocol": "tcp",
"src_port": {
"min": "any"
},
"destination": "192.168.1.2",
"dst_port": {
"min": 80
},
"translation_ip": {
"from": "192.168.0.2"
},
"translation_port": {
"min": 8080
}
}
]
}

 

XML
リクエスト

GET /api/v2/nat/dnat/nat-list/eth0_dnat
Accept: application/xml

 

レスポンス

200 OK
Content-Type: application/xml

 

<nat-list>
<name>eth0_dnat</name>
<rule>
<protocol>ip</protocol>
<destination>192.168.1.1</destination>
<translation_ip>
<from>192.168.0.1</from>
</translation_ip>
</rule>
<rule>
<protocol>tcp</protocol>
<src_port>
<min>any</min>
</src_port>
<destination>192.168.1.2</destination>
<dst_port>
<min>80</min>
</dst_port>
<translation_ip>
<from>192.168.0.2</from>
</translation_ip>
<translation_port>
<min>8080</min>
</translation_port>
</rule>
</nat-list>

 

TEXT/PLAIN
リクエスト

GET /api/v2/nat/dnat/nat-list/eth0_dnat
Accept: text/plain

 

レスポンス

200 OK
Content-Type: text/plain

 

ip dnat eth0_dnat ip any 192.168.1.1 192.168.0.1
ip dnat eth0_dnat tcp any any 192.168.1.2 80 192.168.0.2 8080

 

DNAT設定の削除

メソッド URI
DELETE /api/v2/nat/dnat/nat-list/{NAME}
  • Bodyを指定しなかった場合、指定したNAMEのDNAT設定を全て削除します。

 

JSON
リクエスト

DELETE /api/v2/nat/dnat/nat-list/eth0_dnat
Content-Type: application/json

 

{
"name": "eth0_dnat",
"rule": {
"protocol": "ip",
"destination": "192.168.1.1",
"translation_ip": {
"from": "192.168.0.1"
}
}
}

 

レスポンス

204 No content

 

XML
リクエスト

DELETE /api/v2/nat/dnat/nat-list/eth0_dnat
Content-Type: application/xml

 

<nat-list>
<name>eth0_dnat</name>
<rule>
<protocol>ip</protocol>
<destination>192.168.1.1</destination>
<translation_ip>
<from>192.168.0.1</from>
</translation_ip>
</rule>
</nat-list>

 

レスポンス

204 No content

 

パラメータ

指定可能なパラメータは下記の通りです。

なお指定可能なパラメータは、製品およびファームウェアのバージョンにより異なりますので、各パラメータの詳細については、各製品のユーザーズガイド(CLI版)も合わせてご参照ください。

  • パラメータ表の説明文中の記号について
    < > … 括弧内の値の範囲から選択することを示しています。
    [ ] … 括弧内の値のどれかを選択することを示しています。
  • パラメータ表の説明文中のデータタイプについて
    A.B.C.D … IPv4アドレス
    A.B.C.D/M … IPv4プレフィックスおよびマスク長

 

パラメータおよびレベル 説明
Lv.1 Lv.2 Lv.3 Lv.4 Lv.5 Lv.6
nat dnat nat-list name DNAT名
rule protocol プロトコル … [tcp | udp | ip | <0-255>]
destination 宛先IPv4アドレス …

  • any
  • A.B.C.D
  • A.B.C.D/M
dst_port min 宛先ポート番号 … [any | <1-65535>]
max 宛先ポート番号 … <1-65535>
※範囲指定時のみ有効
source 送信元IPv4アドレス …

  • any
  • A.B.C.D
  • A.B.C.D/M
src_port min 送信元ポート番号 … [any | <1-65535>]
max 送信元ポート番号 … <1-65535>
※範囲指定時のみ有効
translation_ip from 変換後宛先IPv4アドレス … A.B.C.D
to 変換後宛先IPv4アドレス … A.B.C.D
※範囲指定時のみ有効
translation_port min 変換後宛先ポート … <1-65535>
max 変換後宛先ポート … <1-65535>
※範囲指定時のみ有効
translation_prefix 変換後宛先IPv4ネットワークアドレス … A.B.C.D/M