FutureNet

NXR,WXRシリーズ

REST-API編

7. VPN設定

7-2. L2TPv3設定(l2tpv3)

 処理概要

L2TPv3設定に関する処理を実行します。

 

URIおよびメソッド

機能 Version URI メソッド
POST PUT GET DELETE
L2TPv3 v2 /api/v2/l2tpv3
/api/v2/l2tpv3/global
/api/v2/l2tpv3/l2tpv3-tunnel
/api/v2/l2tpv3/l2tpv3-tunnel/tunnel
/api/v2/l2tpv3/l2tpv3-tunnel/tunnel/{NUM}
/api/v2/l2tpv3/l2tpv3-xconnect
/api/v2/l2tpv3/l2tpv3-xconnect/xconnect
/api/v2/l2tpv3/l2tpv3-xconnect/xconnect/{NUM}
/api/v2/l2tpv3/l2tpv3-group
/api/v2/l2tpv3/l2tpv3-group/group
/api/v2/l2tpv3/l2tpv3-group/group/{NUM}

凡例:〇対応、-未対応

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

 

実行例

L2TPv3グローバル設定の更新

メソッド URI
PUT /api/v2/l2tpv3/global
  • Bodyを指定しなかった場合、設定を削除します。

 

JSON
リクエスト

PUT /api/v2/l2tpv3/global
Content-Type: application/json

 

{
"global": {
"hostname": "nxra",
"router-id": "192.168.10.1",
"pmtu": "enable"
}
}

 

レスポンス

204 No content

 

XML
リクエスト

PUT /api/v2/l2tpv3/global
Content-Type: application/xml

 

<l2tpv3>
<global>
<hostname>nxra</hostname>
<router-id>192.168.10.1</router-id>
<pmtu>enable</pmtu>
</global>
</l2tpv3>

 

レスポンス

204 No content

 

L2TPv3グローバル設定の取得

メソッド URI
GET /api/v2/l2tpv3/global
JSON
リクエスト

GET /api/v2/l2tpv3/global
Accept: application/json

 

レスポンス

200 OK
Content-Type: application/json

 

{
"global": {
"hostname": "nxra",
"router-id": "192.168.10.1",
"pmtu": "enable"
}
}

 

XML
リクエスト

GET /api/v2/l2tpv3/global
Accept: application/xml

 

レスポンス

200 OK
Content-Type: application/xml

 

<l2tpv3>
<global>
<hostname>nxra</hostname>
<router-id>192.168.10.1</router-id>
<pmtu>enable</pmtu>
</global>
</l2tpv3>

 

TEXT/PLAIN
リクエスト

GET /api/v2/l2tpv3/global
Accept: text/plain

 

レスポンス

200 OK
Content-Type: text/plain

 

l2tpv3 hostname nxra
l2tpv3 router-id 192.168.10.1
l2tpv3 mac-learning enable
l2tpv3 path-mtu-discovery enable

 

L2TPv3トンネル設定の作成

メソッド URI
POST /api/v2/l2tpv3/l2tpv3-tunnel/tunnel
JSON
リクエスト

POST /api/v2/l2tpv3/l2tpv3-tunnel/tunnel
Content-Type: application/json

 

{
"tunnel": {
"tid": 1,
"description": "NXR_B",
"remote": {
"address": "192.0.2.2",
"hostname": "nxrb",
"router-id": "192.168.10.2"
}
}
}

 

レスポンス

201 Created

 

XML
リクエスト

POST /api/v2/l2tpv3/l2tpv3-tunnel/tunnel
Content-Type: application/xml

 

<l2tpv3-tunnel>
<tunnel>
<tid>1</tid>
<description>NXR_B</description>
<remote>
<address>192.0.2.2</address>
<hostname>nxrb</hostname>
<router-id>192.168.10.2</router-id>
</remote>
</tunnel>
</l2tpv3-tunnel>

 

レスポンス

201 Created

 

全L2TPv3トンネル設定の取得

メソッド URI
GET /api/v2/l2tpv3/l2tpv3-tunnel/tunnel
JSON
リクエスト

GET /api/v2/l2tpv3/l2tpv3-tunnel/tunnel
Accept: application/json

 

レスポンス

200 OK
Content-Type: application/json

 

{
"tunnel": [
{
"tid": 1,
"description": "NXR_B",
"remote": {
"address": "192.0.2.2",
"hostname": "nxrb",
"router-id": "192.168.10.2"
}
},
{
"tid": 2,
・・・・・

 

XML
リクエスト

GET /api/v2/l2tpv3/l2tpv3-tunnel/tunnel
Accept: application/xml

 

レスポンス

200 OK
Content-Type: application/xml

 

<l2tpv3-tunnel>
<tunnel>
<tid>1</tid>
<description>NXR_B</description>
<remote>
<address>192.0.2.2</address>
<hostname>nxrb</hostname>
<router-id>192.168.10.2</router-id>
</remote>
</tunnel>
<tunnel>
<tid>2</tid>
・・・・・

 

TEXT/PLAIN
リクエスト

GET /api/v2/l2tpv3/l2tpv3-tunnel/tunnel
Accept: text/plain

 

レスポンス

200 OK
Content-Type: text/plain

 

l2tpv3 tunnel 1
description NXR_B
tunnel address 192.0.2.2
tunnel hostname nxrb
tunnel router-id 192.168.10.2
l2tpv3 tunnel 2
・・・・・

 

L2TPv3トンネル設定の更新

メソッド URI
PUT /api/v2/l2tpv3/l2tpv3-tunnel/tunnel/{NUM}
JSON
リクエスト

PUT /api/v2/l2tpv3/l2tpv3-tunnel/tunnel/1
Content-Type: application/json

 

{
"tid": 1,
"description": "NXR_B",
"remote": {
"address": "192.0.2.2",
"hostname": "nxrb",
"router-id": "192.168.10.2"
},
"protocol": "udp"
}

 

レスポンス

204 No content

 

XML
リクエスト

PUT /api/v2/l2tpv3/l2tpv3-tunnel/tunnel/1
Content-Type: application/xml

 

<tunnel>
<tid>1</tid>
<description>NXR_B</description>
<remote>
<address>192.0.2.2</address>
<hostname>nxrb</hostname>
<router-id>192.168.10.2</router-id>
</remote>
<protocol>udp</protocol>
</tunnel>

 

レスポンス

204 No content

 

L2TPv3トンネル設定の取得

メソッド URI
GET /api/v2/l2tpv3/l2tpv3-tunnel/tunnel/{NUM}
JSON
リクエスト

GET /api/v2/l2tpv3/l2tpv3-tunnel/tunnel/1
Accept: application/json

 

レスポンス

200 OK
Content-Type: application/json

 

{
"tid": 1,
"description": "NXR_B",
"remote": {
"address": "192.0.2.2",
"hostname": "nxrb",
"router-id": "192.168.10.2"
},
"protocol": "udp"
}

 

XML
リクエスト

GET /api/v2/l2tpv3/l2tpv3-tunnel/tunnel/1
Accept: application/xml

 

レスポンス

200 OK
Content-Type: application/xml

 

<tunnel>
<tid>1</tid>
<description>NXR_B</description>
<remote>
<address>192.0.2.2</address>
<hostname>nxrb</hostname>
<router-id>192.168.10.2</router-id>
</remote>
<protocol>udp</protocol>
</tunnel>

 

TEXT/PLAIN
リクエスト

GET /api/v2/l2tpv3/l2tpv3-tunnel/tunnel/1
Accept: text/plain

 

レスポンス

200 OK
Content-Type: text/plain

 

l2tpv3 tunnel 1
description NXR_B
tunnel address 192.0.2.2
tunnel hostname nxrb
tunnel router-id 192.168.10.2
tunnel protocol udp

 

L2TPv3トンネル設定の削除

メソッド URI
DELETE /api/v2/l2tpv3/l2tpv3-tunnel/tunnel/{NUM}
リクエスト

DELETE /api/v2/l2tpv3/l2tpv3-tunnel/tunnel/1

 

レスポンス

204 No content

 

L2TPv3 Xconnect設定の作成

メソッド URI
POST /api/v2/l2tpv3/l2tpv3-xconnect/xconnect
JSON
リクエスト

POST /api/v2/l2tpv3/l2tpv3-xconnect/xconnect
Content-Type: application/json

 

{
"xconnect": {
"xid": 1,
"description": "NXR_B",
"tid": 1,
"interface": "ethernet0",
"end-id": 1,
"interval": 30,
"adjust-tcp-mss": "enable",
"mss": "auto"
}
}

 

レスポンス

201 Created

 

XML
リクエスト

POST /api/v2/l2tpv3/l2tpv3-xconnect/xconnect
Content-Type: application/xml

 

<l2tpv3-xconnect>
<xconnect>
<xid>1</xid>
<description>NXR_B</description>
<tid>1</tid>
<interface>ethernet0</interface>
<end-id>1</end-id>
<interval>30</interval>
<adjust-tcp-mss>enable</adjust-tcp-mss>
<mss>auto</mss>
</xconnect>
</l2tpv3-xconnect>

 

レスポンス

201 Created

 

全L2TPv3 Xconnect設定の取得

メソッド URI
GET /api/v2/l2tpv3/l2tpv3-xconnect/xconnect
JSON
リクエスト

GET /api/v2/l2tpv3/l2tpv3-xconnect/xconnect
Accept: application/json

 

レスポンス

200 OK
Content-Type: application/json

 

{
"xconnect": [
{
"xid": 1,
"description": "NXR_B",
"tid": 1,
"interface": "ethernet0",
"end-id": 1,
"interval": 30,
"adjust-tcp-mss": "enable",
"mss": "auto"
},
{
"xid": 2,
・・・・・

 

XML
リクエスト

GET /api/v2/l2tpv3/l2tpv3-xconnect/xconnect
Accept: application/xml

 

レスポンス

200 OK
Content-Type: application/xml

 

<l2tpv3-xconnect>
<xconnect>
<xid>1</xid>
<description>NXR_B</description>
<tid>1</tid>
<interface>ethernet0</interface>
<end-id>1</end-id>
<interval>30</interval>
<adjust-tcp-mss>enable</adjust-tcp-mss>
<mss>auto</mss>
</xconnect>
<xconnect>
<xid>2</xid>
・・・・・

 

TEXT/PLAIN
リクエスト

GET /api/v2/l2tpv3/l2tpv3-xconnect/xconnect
Accept: text/plain

 

レスポンス

200 OK
Content-Type: text/plain

 

l2tpv3 xconnect 1
description NXR_B
tunnel 1
xconnect ethernet 0
xconnect end-id 1
retry-interval 30
ip tcp adjust-mss auto
l2tpv3 xconnect 2
・・・・・

 

L2TPv3 Xconnect設定の更新

メソッド URI
PUT /api/v2/l2tpv3/l2tpv3-xconnect/xconnect/{NUM}
JSON
リクエスト

PUT /api/v2/l2tpv3/l2tpv3-xconnect/xconnect/1
Content-Type: application/json

 

{
"xid": 1,
"description": "NXR_B",
"tid": 1,
"interface": "ethernet0",
"end-id": 1,
"interval": 30,
"adjust-tcp-mss": "enable",
"mss": "auto",
"split-horizon": "enable"
}

 

レスポンス

204 No content

 

XML
リクエスト

PUT /api/v2/l2tpv3/l2tpv3-xconnect/xconnect/1
Content-Type: application/xml

 

<xconnect>
<xid>1</xid>
<description>NXR_B</description>
<tid>1</tid>
<interface>ethernet0</interface>
<end-id>1</end-id>
<interval>30</interval>
<adjust-tcp-mss>enable</adjust-tcp-mss>
<mss>auto</mss>
<split-horizon>enable</split-horizon>
</xconnect>

 

レスポンス

204 No content

 

L2TPv3 Xconnect設定の取得

メソッド URI
GET /api/v2/l2tpv3/l2tpv3-xconnect/xconnect/{NUM}
JSON
リクエスト

GET /api/v2/l2tpv3/l2tpv3-xconnect/xconnect/1
Accept: application/json

 

レスポンス

200 OK
Content-Type: application/json

 

{
"xid": 1,
"description": "NXR_B",
"tid": 1,
"interface": "ethernet0",
"end-id": 1,
"interval": 30,
"adjust-tcp-mss": "enable",
"mss": "auto",
"split-horizon": "enable"
}

 

XML
リクエスト

GET /api/v2/l2tpv3/l2tpv3-xconnect/xconnect/1
Accept: application/xml

 

レスポンス

200 OK
Content-Type: application/xml

 

<xconnect>
<xid>1</xid>
<description>NXR_B</description>
<tid>1</tid>
<interface>ethernet0</interface>
<end-id>1</end-id>
<interval>30</interval>
<adjust-tcp-mss>enable</adjust-tcp-mss>
<mss>auto</mss>
<split-horizon>enable</split-horizon>
</xconnect>

 

TEXT/PLAIN
リクエスト

GET /api/v2/l2tpv3/l2tpv3-xconnect/xconnect/1
Accept: text/plain

 

レスポンス

200 OK
Content-Type: text/plain

 

l2tpv3 xconnect 1
description NXR_B
tunnel 1
xconnect ethernet 0
xconnect end-id 1
retry-interval 30
ip tcp adjust-mss auto
split-horizon enable

 

L2TPv3 Xconnect設定の削除

メソッド URI
DELETE /api/v2/l2tpv3/l2tpv3-xconnect/xconnect/{NUM}
リクエスト

DELETE /api/v2/l2tpv3/l2tpv3-xconnect/xconnect/1

 

レスポンス

204 No content

 

L2TPv3グループ設定の作成

メソッド URI
POST /api/v2/l2tpv3/l2tpv3-group/group
JSON
リクエスト

POST /api/v2/l2tpv3/l2tpv3-group/group
Content-Type: application/json

 

{
"group": {
"gid": 1,
"primary-xid": 1,
"secondary-xid": 2,
"mac-advertise": "enable"
}
}

 

レスポンス

201 Created

 

XML
リクエスト

POST /api/v2/l2tpv3/l2tpv3-group/group
Content-Type: application/xml

 

<l2tpv3-group>
<group>
<gid>1</gid>
<primary-xid>1</primary-xid>
<secondary-xid>2</secondary-xid>
<mac-advertise>enable</mac-advertise>
</group>
</l2tpv3-group>

 

レスポンス

201 Created

 

全L2TPv3グループ設定の取得

メソッド URI
GET /api/v2/l2tpv3/l2tpv3-group/group
JSON
リクエスト

GET /api/v2/l2tpv3/l2tpv3-group/group
Accept: application/json

 

レスポンス

200 OK
Content-Type: application/json

 

{
"group": [
{
"gid": 1,
"primary-xid": 1,
"secondary-xid": 2,
"mac-advertise": "enable"
},
{
"gid": 2,
・・・・・

 

XML
リクエスト

GET /api/v2/l2tpv3/l2tpv3-group/group
Accept: application/xml

 

レスポンス

200 OK
Content-Type: application/xml

 

<l2tpv3-group>
<group>
<gid>1</gid>
<primary-xid>1</primary-xid>
<secondary-xid>2</secondary-xid>
<mac-advertise>enable</mac-advertise>
</group>
<group>
<gid>2</gid>
・・・・・

 

TEXT/PLAIN
リクエスト

GET /api/v2/l2tpv3/l2tpv3-group/group
Accept: text/plain

 

レスポンス

200 OK
Content-Type: text/plain

 

l2tpv3 group 1
xconnect 1 2
mac-advertise enable
l2tpv3 group 2
・・・・・

 

L2TPv3グループ設定の更新

メソッド URI
PUT /api/v2/l2tpv3/l2tpv3-group/group/{NUM}
JSON
リクエスト

PUT /api/v2/l2tpv3/l2tpv3-group/group/1
Content-Type: application/json

 

{
"gid": 1,
"primary-xid": 1,
"secondary-xid": 2,
"preempt": "enable",
"mac-advertise": "enable"
}

 

レスポンス

204 No content

 

XML
リクエスト

PUT /api/v2/l2tpv3/l2tpv3-group/group/1
Content-Type: application/xml

 

<group>
<gid>1</gid>
<primary-xid>1</primary-xid>
<secondary-xid>2</secondary-xid>
<preempt>enable</preempt>
<mac-advertise>enable</mac-advertise>
</group>

 

レスポンス

204 No content

 

L2TPv3グループ設定の取得

メソッド URI
GET /api/v2/l2tpv3/l2tpv3-group/group/{NUM}
JSON
リクエスト

GET /api/v2/l2tpv3/l2tpv3-group/group/1
Accept: application/json

 

レスポンス

200 OK
Content-Type: application/json

 

{
"gid": 1,
"primary-xid": 1,
"secondary-xid": 2,
"preempt": "enable",
"mac-advertise": "enable"
}

 

XML
リクエスト

GET /api/v2/l2tpv3/l2tpv3-group/group/1
Accept: application/xml

 

レスポンス

200 OK
Content-Type: application/xml

 

<group>
<gid>1</gid>
<primary-xid>1</primary-xid>
<secondary-xid>2</secondary-xid>
<preempt>enable</preempt>
<mac-advertise>enable</mac-advertise>
</group>

 

TEXT/PLAIN
リクエスト

GET /api/v2/l2tpv3/l2tpv3-group/group/1
Accept: text/plain

 

レスポンス

200 OK
Content-Type: text/plain

 

l2tpv3 group 1
xconnect 1 2
preempt enable
mac-advertise enable

 

L2TPv3グループ設定の削除

メソッド URI
DELETE /api/v2/l2tpv3/l2tpv3-group/group/{NUM}
リクエスト

DELETE /api/v2/l2tpv3/l2tpv3-group/group/1

 

レスポンス

204 No content