라우터를 만든 후 외부 네트워크를 구성합니다. 외부 네트워크의 게이트웨이를 통해 클라우드의 내부 네트워크 사용자가 인터넷에 연결할 수 있습니다.
다음 그림은 단일 라우터가 클라우드 프로젝트의 네트워크 통신을 어떻게 지원하는지 보여줍니다.
그림 4 개인 네트워크 모델을 사용하는 공급자 라우터
그림은 다음을 보여줍니다.
프로젝트 2개(Tenant A 및 Tenant B)
VM 4개(VM1, VM2, VM3 및 VM4)
서브넷 4개(HR, ENG, IT 및 ACCT)
라우터
외부 네트워크
외부 네트워크에 대한 내부 네트워크 액세스를 제공할 경우 VM의 IP 주소는 외부 네트워크에 지정하는 유동 주소 중 하나에 매핑됩니다.
이 절차에서는 외부 네트워크를 나타내는 가상 네트워크를 만드는 방법을 보여줍니다. 이 가상 네트워크에서는 DHCP를 사용하지 않습니다. 대신 유동 IP 주소가 만들어지고 프로젝트에 지정되며 이러한 프로젝트 아래에서 Nova VM 인스턴스에 의해 사용됩니다. 다음 단계에서는 VLAN 네트워크 유형을 만들지만, 절차는 다른 네트워크 유형(예: 플랫 네트워크) 만들기에도 적용됩니다.
내부 네트워크 만들기와 독립적으로 외부 네트워크를 만들 수 있습니다.
시작하기 전에
탄력적 가상 스위치의 구성을 완료하십시오. 자세한 내용은 Neutron을 설치 및 구성하는 방법, 특히 EVS 구성 단계를 참조하십시오.
controller# export OS_USERNAME=neutron controller# export OS_PASSWORD=service-password controller# export OS_TENANT_NAME=service controller# export OS_AUTH_URL=http://$CONTROLLER_ADMIN_NODE:5000/v2.0
controller# evsadm show-controlprop -p vlan-range
controller# neutron net-create --provider:network_type=vlan \ --provider:segmentation_id=VLAN-nbr \ --router:external=true network-name
여기서 segmentation_id에 대한 값은 일반적으로 1이며, EVS 구성 중 정의한 VLAN 범위의 첫번째 번호입니다.
할당 풀은 서브넷에 지정된 일정 범위의 유동 IP 주소로 구성됩니다.
controller# neutron subnet-create --name subnet-name --disable-dhcp \ --allocation-pool start=start-IP,end=end-IP \ network-name subnet-IP
controller# neutron router-gateway-set router-name ext-network-id
controller# neutron router-show router-name
이 예에서는 외부 네트워크를 만들어 클라우드의 내부 네트워크에서 사용할 수 있도록 준비하는 방법을 보여줍니다.
플랫 네트워크를 만들려면 https://blogs.oracle.com/openstack/tags/juno의 2절에 제공된 예를 참조하십시오.
controller# export OS_USERNAME=neutron controller# export OS_PASSWORD=service-password controller# export OS_TENANT_NAME=service controller# export OS_AUTH_URL=http://$CONTROLLER_ADMIN_NODE:5000/v2.0 controller# evsadm show-controlprop -p vlan-range PROPERTY PERM VALUE DEFAULT HOST vlan-range rw 1,200-300 -- -- controller# neutron net-create --router:external=True \ --provider:network_type=vlan --provider:segmentation_id=1 ext-network Created a new network: +--------------------------+--------------------------------------+ | Field | Value | +--------------------------+--------------------------------------+ | admin_state_up | True | | id | 08cf49c8-f28f-49c1-933d-bdb1017e0294 | | name | ext-network | | provider:network_type | vlan | | provider:segmentation_id | 1 | | router:external | True | | shared | False | | status | ACTIVE | | subnets | | | tenant_id | 7d1caf0854b24becb28df5c5cabf72cc | +--------------------------+--------------------------------------+ controller# neutron subnet-create --name ext-subnet --disable-dhcp \ --allocation-pool start=10.134.13.8,end=10.134.13.254 \ ext_network 10.134.13.0/24 Created a new subnet: +-------------------+---------------------------------------------------+ | Field | Value | +-------------------+---------------------------------------------------+ | allocation_pools | {"start": "10.134.13.8", "end": "10.134.13.254"} | | cidr | 10.134.13.0/24 | | dns_nameservers | | | enable_dhcp | False | | gateway_ip | 10.134.13.1 | | host_routes | | | id | fce503ff-f483-4024-b122-f2524e3edae1 | | ip_version | 4 | | ipv6_address_mode | | | ipv6_ra_mode | | | name | ext-subnet | | network_id | 08cf49c8-f28f-49c1-933d-bdb1017e0294 | | tenant_id | 7d1caf0854b24becb28df5c5cabf72cc | +-------------------+---------------------------------------------------+ controller# neutron router-gateway-set ext-router 08cf49c8-f28f-49c1-933d-bdb1017e0294 Set gateway for router ext-router controller# neutron router-show ext-router +-----------------------+-------------------------------------------------------+ | Field | Value | +-----------------------+-------------------------------------------------------+ | admin_state_up | True | | external_gateway_info | {"network_id": "08cf49c8-f28f-49c1-933d-bdb1017e0294",| | | "enable_snat": true, | | | "external_fixed_ips": | | |[{"subnet_id": "fce503ff-f483-4024-b122-f2524e3edae1", | | |"ip_address": "10.134.13.8"}]} | | | id | f89b24ed-42dd-48b0-8f4b-fd41887a3370 | | name | ext-router | | status | ACTIVE | | tenant_id | 7d1caf0854b24becb28df5c5cabf72cc | +-----------------------+-------------------------------------------------------+
참조