Oracle® Solaris에서 OpenStack(Juno) 설치 및 구성

인쇄 보기 종료

업데이트 날짜: 2016년 6월
 
 

외부 네트워크 만들기

라우터를 만든 후 외부 네트워크를 구성합니다. 외부 네트워크의 게이트웨이를 통해 클라우드의 내부 네트워크 사용자가 인터넷에 연결할 수 있습니다.

다음 그림은 단일 라우터가 클라우드 프로젝트의 네트워크 통신을 어떻게 지원하는지 보여줍니다.

그림 4  개인 네트워크 모델을 사용하는 공급자 라우터

image:각각 2개의 내부 네트워크와 2개의 VM 인스턴스가 있는 프로젝트 2개

그림은 다음을 보여줍니다.

  • 프로젝트 2개(Tenant ATenant B)

  • VM 4개(VM1, VM2, VM3VM4)

  • 서브넷 4개(HR, ENG, ITACCT)

  • 라우터

  • 외부 네트워크

외부 네트워크에 대한 내부 네트워크 액세스를 제공할 경우 VM의 IP 주소는 외부 네트워크에 지정하는 유동 주소 중 하나에 매핑됩니다.

외부 네트워크를 만드는 방법

이 절차에서는 외부 네트워크를 나타내는 가상 네트워크를 만드는 방법을 보여줍니다. 이 가상 네트워크에서는 DHCP를 사용하지 않습니다. 대신 유동 IP 주소가 만들어지고 프로젝트에 지정되며 이러한 프로젝트 아래에서 Nova VM 인스턴스에 의해 사용됩니다. 다음 단계에서는 VLAN 네트워크 유형을 만들지만, 절차는 다른 네트워크 유형(예: 플랫 네트워크) 만들기에도 적용됩니다.

내부 네트워크 만들기와 독립적으로 외부 네트워크를 만들 수 있습니다.

시작하기 전에

탄력적 가상 스위치의 구성을 완료하십시오. 자세한 내용은 Neutron을 설치 및 구성하는 방법, 특히 EVS 구성 단계를 참조하십시오.

  1. Neutron에 대한 전역 셸 변수를 설정합니다.
    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
  2. (옵션) VLAN 범위를 가져옵니다.
    controller# evsadm show-controlprop -p vlan-range
  3. 외부 네트워크를 만듭니다.
    controller# neutron net-create --provider:network_type=vlan \
    --provider:segmentation_id=VLAN-nbr \
    --router:external=true network-name
    

    여기서 segmentation_id에 대한 값은 일반적으로 1이며, EVS 구성 중 정의한 VLAN 범위의 첫번째 번호입니다.


    주 -  플랫 네트워크를 만드는 경우 세그먼트화 ID를 지정할 필요가 없습니다.
  4. 외부 네트워크의 서브넷을 만듭니다.

    할당 풀은 서브넷에 지정된 일정 범위의 유동 IP 주소로 구성됩니다.

    controller# neutron subnet-create --name subnet-name --disable-dhcp \
       --allocation-pool start=start-IP,end=end-IP \
       network-name subnet-IP
  5. 라우터에 외부 네트워크를 추가합니다.
    controller# neutron router-gateway-set router-name ext-network-id

    주 -  이 명령을 실행하면 기본적으로 SNAT가 사용으로 설정됩니다. SNAT가 사용으로 설정된 경우 개인 네트워크의 VM은 외부 네트워크에 액세스할 수 있습니다. 그러나 인스턴스 자체는 클라우드 밖에서 액세스할 수 없습니다. SNAT를 사용 안함으로 설정하려면 neutron router-gateway-set 하위 명령에 –--disable-snat 옵션을 지정합니다.
  6. (옵션) 라우터에 대한 정보를 표시합니다.
    controller# neutron router-show router-name
예 2  외부 네트워크 만들기

이 예에서는 외부 네트워크를 만들어 클라우드의 내부 네트워크에서 사용할 수 있도록 준비하는 방법을 보여줍니다.

플랫 네트워크를 만들려면 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                      |
+-----------------------+-------------------------------------------------------+

참조