帮助
[root@station140 ~(network_admin)]# neutron help | grep route
l3-agent-list-hosting-router List L3 agents hosting a router.
l3-agent-router-add Add a router to a L3 agent.
l3-agent-router-remove Remove a router from a L3 agent.
net-gateway-connect Add an internal network interface to a router.
router-create Create a router for a given tenant.
router-delete Delete a given router.
router-gateway-clear Remove an external network gateway from a router.
router-gateway-set Set the external network gateway for a router.
router-interface-add Add an internal network interface to a router.
router-interface-delete Remove an internal network interface from a router.
router-list List routers that belong to a given tenant.
router-list-on-l3-agent List the routers on a L3 agent.
router-port-list List ports that belong to a given tenant, with specified router.
router-show Show information of a given router.
router-update Update router's information.
查询 tenant
[root@station140 ~(network_admin)]# keystone tenant-list
+----------------------------------+----------+---------+
| id | name | enabled |
+----------------------------------+----------+---------+
| 9467f30b8bba4770a06a687e4584636b | cloud | True |
+----------------------------------+----------+---------+
创建路由连接到外部网络, 这个路由可以与内部网络进行连接
你可以创建过程中指定一个 tenant, 利用参数 --tenant-id 9467f30b8bba4770a06a687e4584636b 进行定义
创建路由
neutron router-create ext-to-int --tenant-id 9467f30b8bba4770a06a687e4584636b
Created a new router:
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
| external_gateway_info | |
| id | b83f43cd-bf8f-42f8-812a-708c2c372820 |
| name | ext-to-int |
| status | ACTIVE |
| tenant_id | 9467f30b8bba4770a06a687e4584636b |
+-----------------------+--------------------------------------+
查询方法
[root@station140 ~(keystone_admin)]# neutron router-list | grep -v router1
+--------------------------------------+------------+------------------------+
| id | name | external_gateway_info |
+--------------------------------------+------------+------------------------+
| b83f43cd-bf8f-42f8-812a-708c2c372820 | ext-to-int | null |
+--------------------------------------+------------+------------------------+
查询外部网络
[root@station140 ~(keystone_admin)]# neutron net-list | grep pub1
+--------------------------------------+---------+------------------------------------------------------+
| id | name | subnets |
+--------------------------------------+---------+------------------------------------------------------+
| aebe75f0-6013-4a5e-bbd9-cb81e1f017bc | pub1 | 59cc431b-498e-49a0-bc60-4a8ca1ca6f48 192.168.48.0/24 |
+--------------------------------------+---------+------------------------------------------------------+
连接路由到外部网络, 设定外部网络网关
# neutron router-gateway-set b83f43cd-bf8f-42f8-812a-708c2c372820 aebe75f0-6013-4a5e-bbd9-cb81e1f017bc
[root@station140 ~(keystone_admin)]# neutron router-list | grep -v router1
+--------------------------------------+------------+-----------------------------------------------------------------------------+
| id | name | external_gateway_info |
+--------------------------------------+------------+-----------------------------------------------------------------------------+
| b83f43cd-bf8f-42f8-812a-708c2c372820 | ext-to-int | {"network_id": "aebe75f0-6013-4a5e-bbd9-cb81e1f017bc", "enable_snat": true} |
+--------------------------------------+------------+-----------------------------------------------------------------------------+
列出子网信息
[root@station140 ~(keystone_admin)]# neutron subnet-list | grep terry
+--------------------------------------+----------------+-----------------+------------------------------------------------------+
| id | name | cidr | allocation_pools |
+--------------------------------------+----------------+-----------------+------------------------------------------------------+
| 3066c397-bccf-4473-8a94-72b09a97a70a | terry_pri_net1 | 10.0.0.0/8 | {"start": "10.0.0.50", "end": "10.0.0.100"} |
| 59cc431b-498e-49a0-bc60-4a8ca1ca6f48 | terry_pub_net1 | 192.168.48.0/24 | {"start": "192.168.48.142", "end": "192.168.48.148"} |
+--------------------------------------+----------------+-----------------+------------------------------------------------------+
创建内部网络路由接口
[root@station140 ~(network_admin)]# neutron router-interface-add b83f43cd-bf8f-42f8-812a-708c2c372820 3066c397-bccf-4473-8a94-72b09a97a70a
Added interface c9566299-44ed-4924-b845-4fc48bd4de98bbfe84a2-508e-47a1-a664-27b2e8121893 to router b83f43cd-bf8f-42f8-812a-708c2c372820.
显示路由信息
[root@station140 ~(keystone_admin)]# neutron router-show b83f43cd-bf8f-42f8-812a-708c2c372820
+-----------------------+-----------------------------------------------------------------------------+
| Field | Value |
+-----------------------+-----------------------------------------------------------------------------+
| admin_state_up | True |
| external_gateway_info | {"network_id": "aebe75f0-6013-4a5e-bbd9-cb81e1f017bc", "enable_snat": true} |
| id | b83f43cd-bf8f-42f8-812a-708c2c372820 |
| name | ext-to-int |
| routes | |
| status | ACTIVE |
| tenant_id | 9467f30b8bba4770a06a687e4584636b |
+-----------------------+-----------------------------------------------------------------------------+
移除路由接口 (interface)
[root@station140 ~(keystone_admin)]# neutron router-interface-delete b83f43cd-bf8f-42f8-812a-708c2c372820 3066c397-bccf-4473-8a94-72b09a97a70a
Removed interface from router b83f43cd-bf8f-42f8-812a-708c2c372820
移除路由的默认网关
查询
[root@station140 ~(keystone_admin)]# neutron router-list | grep network | grep ext-to-int
+--------------------------------------+------------+-----------------------------------------------------------------------------+
| id | name | external_gateway_info |
+--------------------------------------+------------+-----------------------------------------------------------------------------+
| b83f43cd-bf8f-42f8-812a-708c2c372820 | ext-to-int | {"network_id": "aebe75f0-6013-4a5e-bbd9-cb81e1f017bc", "enable_snat": true} |
+--------------------------------------+------------+-----------------------------------------------------------------------------+
当 external_gateway_info 则表示具有默认网关
删除网关接口
[root@station140 ~(keystone_admin)]# neutron router-gateway-clear b83f43cd-bf8f-42f8-812a-708c2c372820
Removed gateway from router b83f43cd-bf8f-42f8-812a-708c2c372820
下面显示为不具备网关的路由
[root@station140 ~(keystone_admin)]# neutron router-list | grep ext-to-int
+--------------------------------------+------------+-----------------------+
| id | name | external_gateway_info |
+--------------------------------------+------------+-----------------------+
| b83f43cd-bf8f-42f8-812a-708c2c372820 | ext-to-int | null |
+--------------------------------------+------------+-----------------------+
删除路由
[root@station140 ~(keystone_admin)]# neutron router-delete b83f43cd-bf8f-42f8-812a-708c2c372820
Deleted router: b83f43cd-bf8f-42f8-812a-708c2c372820