提供者网络¶
在启动实例之前,您必须创建必须的虚拟机网络设施。对于网络选项1,实例使用提供者(外部)网络,提供者网络通过L2(桥/交换机)设备连接到物理网络。这个网络包括为实例提供IP地址的DHCP服务器。
``admin``或者其他权限用户必须创建这个网络,因为它直接连接到物理网络设施。
备注
下面的说明和框图使用示例IP 地址范围。你必须依据你的实际环境修改它们。
创建提供者网络¶
在控制节点上,加载
admin
凭证来获取管理员能执行的命令访问权限:$ . admin-openrc
创建网络:
$ openstack network create --share --external \ --provider-physical-network provider \ --provider-network-type flat provider Created a new network: +---------------------------+--------------------------------------+ | Field | Value | +---------------------------+--------------------------------------+ | admin_state_up | UP | | availability_zone_hints | | | availability_zones | | | created_at | 2017-03-14T14:37:39Z | | description | | | dns_domain | None | | id | 54adb94a-4dce-437f-a33b-e7e2e7648173 | | ipv4_address_scope | None | | ipv6_address_scope | None | | is_default | None | | mtu | 1500 | | name | provider | | port_security_enabled | True | | project_id | 4c7f48f1da5b494faaa66713686a7707 | | provider:network_type | flat | | provider:physical_network | provider | | provider:segmentation_id | None | | qos_policy_id | None | | revision_number | 3 | | router:external | External | | segments | None | | shared | True | | status | ACTIVE | | subnets | | | updated_at | 2017-03-14T14:37:39Z | +---------------------------+--------------------------------------+
``–share``选项允许所有项目使用虚拟网络
The
--external
option defines the virtual network to be external. If you wish to create an internal network, you can use--internal
instead. Default value isinternal
.The
--provider-physical-network provider
and--provider-network-type flat
options connect the flat virtual network to the flat (native/untagged) physical network on thebr0
bridge, which can have a port which is connected toeth0
on the host using information from the following files:ml2_conf.ini
:[ml2_type_flat] flat_networks = provider
ml2_conf.ini
:[ovs] bridge_mappings = provider:br0
在网络上创建一个子网:
$ openstack subnet create --network provider \ --allocation-pool start=START_IP_ADDRESS,end=END_IP_ADDRESS \ --dns-nameserver DNS_RESOLVER --gateway PROVIDER_NETWORK_GATEWAY \ --subnet-range PROVIDER_NETWORK_CIDR provider
使用提供者物理网络的子网CIDR标记替换``PROVIDER_NETWORK_CIDR``。
将``START_IP_ADDRESS``和``END_IP_ADDRESS``使用你想分配给实例的子网网段的第一个和最后一个IP地址。这个范围不能包括任何已经使用的IP地址。
将
DNS_RESOLVER
替换为DNS解析服务的IP地址。在大多数情况下,你可以从主机``/etc/resolv.conf`` 文件选择一个使用。将``PUBLIC_NETWORK_GATEWAY`` 替换为公共网络的网关,一般的网关IP地址以 “.1” 结尾。
Example
公共网络203.0.113.0/24的网关为203.0.113.1。DHCP服务为每个实例分配IP,IP从203.0.113.101 到 203.0.113.200。所有实例的DNS使用8.8.4.4。
$ openstack subnet create --network provider \ --allocation-pool start=203.0.113.101,end=203.0.113.250 \ --dns-nameserver 8.8.4.4 --gateway 203.0.113.1 \ --subnet-range 203.0.113.0/24 provider Created a new subnet: +-------------------+--------------------------------------+ | Field | Value | +-------------------+--------------------------------------+ | allocation_pools | 203.0.113.101-203.0.113.250 | | cidr | 203.0.113.0/24 | | created_at | 2017-03-29T05:48:29Z | | description | | | dns_nameservers | 8.8.4.4 | | enable_dhcp | True | | gateway_ip | 203.0.113.1 | | host_routes | | | id | e84b4972-c7fc-4ce9-9742-fdc845196ac5 | | ip_version | 4 | | ipv6_address_mode | None | | ipv6_ra_mode | None | | name | provider | | network_id | 1f816a46-7c3f-4ccf-8bf3-fe0807ddff8d | | project_id | 496efd248b0c46d3b80de60a309177b5 | | revision_number | 2 | | segment_id | None | | service_types | | | subnetpool_id | None | | updated_at | 2017-03-29T05:48:29Z | +-------------------+--------------------------------------+