Chuyển tới nội dung chính

Tạo virtual router

POST/v2.0/routers

Tạo một logical router.

Thao tác này tạo một logical router. Logical router không có interface nội bộ và không gắn với subnet nào. Bạn có thể tuỳ chọn chỉ định external gateway cho router ngay khi tạo. External gateway của router phải được gắn vào một mạng external. Mạng external có trường mở rộng router:external được đặt là true. Để chỉ định external gateway, truyền ID của mạng external vào tham số network_id của thuộc tính external_gateway_info trong request body.

info

Nguồn: create-router

Request​

Tham số​

routerobjectbắt buộc

Object router.

tenant_idstring

ID của project sở hữu tài nguyên. Chỉ admin và user có role advsvc mới có thể chỉ định project ID khác project của mình. Bạn không thể thay đổi giá trị này qua policy uỷ quyền.

project_idstring

ID của project sở hữu tài nguyên. Chỉ admin và user có role advsvc mới có thể chỉ định project ID khác project của mình. Bạn không thể thay đổi giá trị này qua policy uỷ quyền.

namestring

Tên dễ đọc của tài nguyên. Mặc định là chuỗi rỗng.

descriptionstring

Mô tả dễ đọc của tài nguyên. Mặc định là chuỗi rỗng.

admin_state_upboolean

Trạng thái quản trị của tài nguyên: up (true) hoặc down (false). Mặc định là true.

external_gateway_infoobject

Thông tin external gateway của router. Nếu router có external gateway, đây là dictionary gồm network_id, enable_snat và external_fixed_ips. Ngược lại là null.

network_idstringbắt buộc

ID mạng mà gateway của router kết nối tới.

enable_snatboolean

Thuộc tính Enable Source NAT (SNAT). Mặc định là true. Để giữ nguyên giá trị thuộc tính này, đặt tuỳ chọn enable_snat_by_default trong file neutron.conf. Có hiệu lực khi extension ext-gw-mode được bật.

external_fixed_ipsarray

Địa chỉ IP của interface external gateway của router. Dùng ip_version để tự động cấp địa chỉ IP từ bất kỳ subnet nào thuộc loại được chỉ định.

1 trường
ip_versionintegerbắt buộcbody

Phiên bản giao thức IP. Giá trị là 4 hoặc 6.

distributedboolean

true biểu thị router phân tán. Có hiệu lực khi extension dvr được bật.

haboolean

true biểu thị router highly-available. Có hiệu lực khi extension l3-ha được bật.

service_type_idstring

ID của service type liên kết với router.

flavor_idstring

ID của flavor liên kết với router.

Request mẫu​

Dùng curl​

curl -ks -H 'Content-Type: application/json' -H 'X-Auth-Token: gAAAAA<...>' -d '{
"router": {
"name": "R01",
"external_gateway_info": {
"network_id": "79cab11a-122d-43a7-9427-3575d9512413",
"enable_snat": true,
"external_fixed_ips": [
{
"ip_version": 4
}
]
}
}
}' https://api.vietnix.cloud:9696/v2.0/routers

HTTP request​

POST https://api.vietnix.cloud:9696/v2.0/routers
Content-Type: application/json
X-Auth-Token: gAAAAA<...>

{
"router": {
"name": "R01",
"external_gateway_info": {
"network_id": "79cab11a-122d-43a7-9427-3575d9512413",
"enable_snat": true,
"external_fixed_ips": [
{
"ip_version": 4
}
]
}
}
}

Response​

Tham số response​

routerobjectbắt buộc

Object router.

idstringbắt buộc

ID của router.

tenant_idstringbắt buộc

ID của project.

project_idstringbắt buộc

ID của project.

namestringbắt buộc

Tên dễ đọc của tài nguyên.

descriptionstringbắt buộc

Mô tả dễ đọc của tài nguyên.

admin_state_upbooleanbắt buộc

Trạng thái quản trị của tài nguyên: up (true) hoặc down (false).

statusstringbắt buộc

Trạng thái router.

external_gateway_infoobjectbắt buộc

Thông tin external gateway của router. Nếu router có external gateway, đây là dictionary gồm network_id, enable_snat và external_fixed_ips. Ngược lại là null.

network_idstringbắt buộc

ID mạng mà gateway của router kết nối tới.

enable_snatbooleanbắt buộc

Thuộc tính Enable Source NAT (SNAT). true nghĩa là Network Address Translation (NAT) được bật cho lưu lượng do các subnet gắn với router tạo ra khi gửi đến/nhận từ mạng external. false nghĩa là không áp dụng NAT cho lưu lượng đến/từ mạng external. Có hiệu lực khi extension ext-gw-mode được bật.

external_fixed_ipsarraybắt buộc

Địa chỉ IP của external gateway của router. Là danh sách địa chỉ IP. Mỗi phần tử là dictionary gồm ip_address và subnet_id.

revision_numberintegerbắt buộc

Revision number của tài nguyên.

routesarraybắt buộc

Cấu hình extra route cho L3 router. Danh sách dictionary gồm tham số destination và nexthop. Có hiệu lực khi extension extraroute được bật.

destinationstringbắt buộc

CIDR đích.

nexthopstringbắt buộc

Địa chỉ IP của next hop tương ứng với destination. Địa chỉ IP next hop phải thuộc một trong các subnet mà interface của router kết nối tới.

distributedbooleanbắt buộc

true biểu thị router phân tán. Có hiệu lực khi extension dvr được bật.

habooleanbắt buộc

true biểu thị router highly-available. Có hiệu lực khi extension l3-ha được bật.

availability_zone_hintsarraybắt buộc

Các availability zone ứng viên cho router. Có hiệu lực khi extension router_availability_zone được bật. Phiên bản Virtuozzo Hybrid Infrastructure hiện tại không hỗ trợ availability zone. Response trả về availability zone mặc định hoặc null.

availability_zonesarraybắt buộc

Các availability zone cho router. Có hiệu lực khi extension router_availability_zone được bật. Phiên bản Virtuozzo Hybrid Infrastructure hiện tại không hỗ trợ availability zone. Response trả về availability zone mặc định hoặc null.

service_type_idstringbắt buộc

ID của service type liên kết với router.

flavor_idstringbắt buộc

ID của flavor liên kết với router.

created_atstringbắt buộc

Ngày giờ tạo tài nguyên. Định dạng timestamp ISO 8601: CCYY-MM-DDThh:mm±hh. Ví dụ: 2015-08-27T09:49:58-05:00. Giá trị ±hh, nếu có, là múi giờ so với UTC. Trong ví dụ này, offset là -05:00.

updated_atstringbắt buộc

Ngày giờ cập nhật tài nguyên. Nếu tài nguyên chưa được cập nhật, field này là null. Định dạng timestamp ISO 8601: CCYY-MM-DDThh:mm±hh. Ví dụ: 2015-08-27T09:49:58-05:00. Giá trị ±hh, nếu có, là múi giờ so với UTC. Trong ví dụ này, offset là -05:00.

tagsarraybắt buộc

Danh sách tag trên router.

conntrack_helpersarraybắt buộc

Các tài nguyên conntrack helper liên kết với router. Nếu router có nhiều tài nguyên conntrack helper, field này có nhiều phần tử. Mỗi phần tử gồm netfilter conntrack helper (helper), giao thức mạng (protocol), port mạng (port).

Mã trạng thái​

Thành công​

MãMô tả
201 - CreatedTài nguyên đã được tạo và sẵn sàng sử dụng.

Lỗi​

MãMô tả
400 - Bad RequestNội dung request không hợp lệ.
401 - UnauthorizedCần xác thực trước khi gửi request.

Response mẫu​

Response body
{
"router": {
"id": "a3b4012b-303d-404d-972f-ce7ad0ec6053",
"name": "R01",
"tenant_id": "f33507157a634f1cac71e06a70fb558e",
"admin_state_up": true,
"status": "ACTIVE",
"external_gateway_info": {
"network_id": "79cab11a-122d-43a7-9427-3575d9512413",
"external_fixed_ips": [
{
"subnet_id": "54ca4e27-7dfd-4504-a36b-8c47527f7a23",
"ip_address": "45.115.16.136"
}
],
"enable_snat": true
},
"description": "",
"availability_zones": [],
"availability_zone_hints": [],
"routes": [],
"flavor_id": null,
"tags": [],
"created_at": "2025-09-24T04:10:41Z",
"updated_at": "2025-09-24T04:10:42Z",
"revision_number": 3,
"project_id": "f33507157a634f1cac71e06a70fb558e"
}
}