네트워크 생성

오픈스택 설치 후 네트워크가 자동으로 생성되어 있는 것이 정상적이지만 빈번하게 네트워크가 생성되지 않아서

인스턴스 생성 시 네트워크가 없어서 생성할 수 없을 경우에 네트워크를 직접 설정하는 방법이다



1. 사용자 windows7 - Dashboard - 우측 네트워크 탭 - 네트워크

정상적으로 설치되었다면 private라는 이름의 네트워크가 생성되어 있어야 하지만 없다면 네트워크 생성을 누른다




2. 네트워크 이름을 private로 지정하고 나머지는 기본값으로 넘어간다




3. 다음과 같이 서브넷 설정을 해준다

서브넷 이름 : private-subnet

네트워크 주소 원본 : 풀에서 네트워크 주소 할당

주소 풀 : v4

네트워크 마스크 : 26(Pool 기본)

IP 버전 : IPv4

게이트웨이 : 10.0.0.1




4. 네트워크 세부 정보 탭에서 다음과 같이 설정해준다

DHCP 사용 체크

Pools 할당 : 10.0.0.2, 10.0.0.62




5. 네트워크 탭 - 라우터

router1의 이름의 라우터를 만들어주기 위해 라우터 생성을 누른다




6. 다음과 같은 설정으로 라우터를 생성해준다

라우터 이름 : router1

관리 상태 활성화 체크

외부 네트워크 : public

가용 구역 힌트 : nova




7. 생성된 라우터의 이름을 누른다




8. 다음과 같이 해당 IP로 인터페이스를 추가해주기 위해 인터페이스 추가를 누른다




9. 다음과 같이 설정하고 인터페이스를 추가해주면 된다

서브넷 : IP 주소 선택

IP 주소(게이트웨이) : 서브넷 +1


SSH를 통한 인스턴스 접속

이전 게시글과 같은 방법으로 새로운 보안 그룹을 생성하여 설정하는 실습이다

단지 ICMP가 아닌 SSH로 설정해준다는 점이 다를 뿐이다


1. 사용자 windows7에서 좌측 네트워크 탭 - 보안 그룹 -> 보안 그룹 생성




2. 보안 그룹 이름을 지정하고 보안 그룹을 생성한다




3. 다음과 같이 SSH 규칙을 설정한다

규칙 : SSH

원격 : CIDR

CIDR : 0.0.0.0/0




4. 좌측 Compute 탭 - 인스턴스 -> 우측 화살표 - 보안 그룹 편집

새로 만든 보안 그룹을 추가해준다




5. 사용자 windows7에서 PuTTY로 인스턴스에 SSH 접근을 시도한다

IP주소는 할당받은 Floating IP를 입력한다

SSH의 포트 번호는 22이다




6. SSH 접속이 성공한 것을 확인할 수 있고 네트워크 장치에 네트워크 설정이 되어있는 것 또한 확인할 수 있다




7. 오픈스택의 우분투에서도 br-ex 인터페이스가 네트워크 설정되어 추가된 것을 확인할 수 있다




8. 우분투의 라우팅 테이블 역시 추가되어 있다




9. 사용자 window7에서 Compute 탭 - 인스턴스 - 콘솔

인터페이스를 확인한 결과, SSH 접속해서 확인한 것과 동일하다




인스턴스 보안 그룹 설정

기본적으로 모든 포트가 닫혀있어서 접속할 포트를 설정해줘야하는데 여기서 ICMP 프로토콜 통신을 위한 설정을 실습해보자

 


1. 사용자 windows7에서 오픈스택 좌측 네트워크 탭 - 보안 그룹 -> 보안 그룹 생성




2. 보안 그룹 이름을 지정해주고 보안 그룹을 생성해준다




3. 보안 그룹이 생성된 것을 확인할 수 있고 우측의 규칙 관리 버튼을 누른다




4. 규칙 추가 버튼을 누른다




5. 규칙 추가에서 다음과 같이 설정해준다

규칙 : ICMP

Direction : 들어옴

원격 : CIDR

CIDR : 0.0.0.0/0




6. Compute 탭- 인스턴스 -> 우측 화살표 - 보안 그룹 편집을 누른다




7. 만든 보안 그룹을 +로 추가한다




8. 보안 그룹이 추가된 것을 확인할 수 있다



Floating IP

클라우드 내에서 가상머신이 인터넷 외부망과 통신하기 위해 배정받는 IP


1. 사용자 windows7에서 오픈스택 웹 - 좌측 네트워크 탭 - Floating IP -> 프로젝트에 IP 할당




2. Pool : public으로 지정 후 IP 할당




3. IP가 할당된 것을 확인할 수 있고 우측의 연결 버튼을 누른다




4. IP 주소를 확인하고 인스턴스를 지정해준다




5. 실습환경이 GNS3으로 구축한 네트워크 환경이기 때문에 GNS3에서 정적 라우팅과 재분배를 통해 라우팅 테이블에 등록시킨다






오픈스택 인스턴스 생성

실습 과정을 진행하기 전에 몇 가지 실습환경을 확인하고 진행해보자


다음과 같은 네트워크 환경에서 진행되며

우분투의 오픈스택이 서비스를 제공해주고 Window7이 사용자라고 가정하고 실습 진행











1. 사용자 Windows7에서 웹 브라우저 크롬으로 주소창에 http://[Ubuntu IP 주소]/dashboard에 접속하고 admin 계정으로 먼저 로그인한다

사용자 이름 : admin

암호 : nomoresecret

크롬 브라우저가 사용할 때 가볍다




2. admin 계정은 로그아웃하고 사용자 계정인 demo 계정으로 로그인한다

사용자 이름 : demo

암호 : nomoresecret




3. demo 계정으로 로그인




4. 좌측 Compute 탭 - 인스턴스 -> 인스턴스 시작




5. 세부정보 탭

인스턴스 이름을 지정하고 다음으로 넘어간다




6. 소스 탭

인스턴스 삭제 시 볼륨 삭제 : 예

사용가능에 있는 디스크를 우측의 화살표 버튼으로 위로 할당시켜준다




7. 사용가능한 사양들 중 자신에 알맞은 사양을 할당하고 다음으로 진행한다




8. 키 페어 탭

키 페어 생성을 누른다




9. 키 페어 이름을 지정하고 키 페어를 생성해준다




10. 개인 키가 생성된 것을 확인할 수 있으며 클립 보드에 개인 키 복사 버튼을 누르고

메모장에 따로 저장해둔다




11. 나머지 설정은 기본값으로 진행하고 인스턴스 시작을 누르면 demo1이라는 인스턴스가 생성된 것을 확인할 수 있다


오픈스택 설치


오픈스택을 위한 Ubuntu 설치 후 devstack를 이용해서 오픈스택을 설치하는 법을 알아보자


오픈스택 설치 후에 간단한 실습을 하기위한 작은 네트워크를 GNS3 환경에서 미리 구축하고

구축한 네트워크 안에 있는 상태로 오픈스택 설치하는 법을 알아보자


준비물 : Ubuntu, GNS3로 구축한 네트워크 환경


GNS3으로 네트워크를 구축하기 전 우분투의 네트워크 먼저 설정해주자


1. 우분투 네트워크 설정 파일을 vi 편집기로 열고 설정한 관리자 비밀번호를 입력한 후 명령을 실행한다

sudo /etc/network/interfaces




2. /etc/network/interfaces 파일을 vi 편집기로 실행한 화면




3. 기존 파일 밑부분에 네트워크 설정값을 추가해준다

auto [장치명]

iface [장치명] inet [네트워크 방식]

address [IP 주소]

netmask [서브넷마스크]

gateway [GW 주소]

dns-servers [DNS 주소]




4. 네트워크 설정이 완료되었으면 네트워크 서비스를 재시작하고 해당 장치 인터페이스네 네트워크 설정이 잘 되었는지 확인한다

IP 주소와 서브넷마스크가 설정한대로 적용된 것을 확인할 수 있다

service networking restart : 네트워크 서비스 재시작

ifconfig : 네트워크 장치 정보 출력




우분투의 네트워크 설정이 완료되었으면 GNS3로 다음과 같이 네트워크 환경을 구축해준다








devstack을 이용한 오픈스택 설치하는 법

devstack을 설치하기 전에 위의 과정을 전부 거친 후 외부와 통신이 가능한 상태로 다음 과정을 수행해야한다


1. /etc/profile 파을을 vi 편집기로 실행한다

(/etc/profile은 사용자가 로그인 시 적용되는 스크립트를 정의해놓은 파일)

sudo vi /etc/profile




2. /etc/profile의 기본 설정 파일이다




3. 파일 아래 부분에 다음과 같은 설정값(환경변수)을 추가해준다

PATH=$PATH:/sbin

export PATH




4. 다음 명령어로 root 사용자 패스워드를 설정해준다

sudo passwd root

설정할 비밀번호 입력




5. root 사용자로 로그인 후 stack 사용자를 생성해준다

su - root : root 사용자로 로그인

useradd -U -G sudo -s /bin/bash -m stack

echo "stacl ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

passwd stack



6. 다음 명령어로 devstack를 다운받는다

git clone https://git.openstack.org/openstack-dev/devstack




7. 다운받은 devstack 디렉토리를 살펴보면 다음 파일들이 중요하다

stackrc : 서비스 설정파일

local.conf : 설치할 때 기본 설정 파일




8. /home/stack/devstack/samples/local.conf 파일을 /home/stack/devstack 디렉토리 안으로 복사하고

다음 명령어로 설치된 패키지의 버전을 모두 최신으로 업그레이드해준다

sudo apt-get upgrade





9. 다음 명령어로 devstack으로 오픈스택을 설치해준다

/home/stack/devstack/stack.sh  또는  ./stack.sh


오픈스택이 설치되는 과정에서 에러가 자주 발생해서 일부가 제대로 설치되지 않을 수도 있다

나중에 미설치 부분을 파악해서 일일이 재설치 해줄 수도 있지만

이 과정 직전에 스냅샷을 찍어놓고 에러가 발생했을 시 다시 복원 후 다시 설치를 진행하는 것이 편하고 더 빠르다


설치 소요시간 : 약 3시간 - 제 기준





10. 오픈스택 설치 완료 후 다음 명령어로 파이썬 패키지를 다운받는다

sudo apt-get install python-pip




11. 다음 명령어로 pip을 업그레이드해준다

sudo pip install --upgrade pip


우분투 설치

오픈 스택을 설치하는 방법으로는 3가지가 있다

1. 메뉴얼을 이용한 설치

2. Devstack을 이용한 설치

3. 자동화 툴을 이용한 설치


Devstack을 이용하여 설치하기 위해 OS는 리눅스 환경에서 진행해야 하기 때문에 OS를 먼저 설치해준다

대표적인 리눅스 OS인 CentOS와 Ubuntu가 있는데 오픈스택은 Ubuntu를 기반으로 만들어졌기 때문에 Ubuntu를 설치하도록 한다


준비 환경 : VMware, UbuntuOS.iso, 고급 사양의 PC

(오픈스택으로 사용자들에게 서비스를 제공해주어야 하기 때문에 사양은 높으면 높을수록 좋다)

최소 PC 사양 : CPU 8 Core / RAM 16GB - 뇌피셜



1. VMware - New Virtual Muchine 새로운 가상머신 Ubuntu로 만들어준다





2. 본인은 CPU Core 2개, 메모리 4GB 스펙의 가상머신을 만들었는데

나중에 오픈스택 인스턴트 하나도 못만들고 계속 뻗어서 아무것도 할 수 없었다

최소 가상머신 사양을 메모리 8GB를 권장




3. 보통 가상머신과는 달리 바로 본체 디스크에 가상 디스크 공간을 할당해준다




4. 언어는 혹시 모를 에러 방지를 위해 한국어가 아닌 영어로 진행한다




5. 우분투 설치를 진행한다




6. 다시 영어로 선택해서 진행




7. 어느 나라든 상관은 없지만 본인은 미국



8. 키보드 설정은 기본 설정값인 <No>



9. 다시 언어는 미국 영어




10. 기본값인 맨 위의 미국 영어




11. 네트워크 설정도 기본설정값인 <No>




12. 그리고 나중에 설치 이후에 네트워크를 설정할 수 있기 때문에 일단 설치를 위해 나중에 설정하겠다고 진행




13. Hostname은 아무 이름이나 상관없으나 본인은 openstack




14. username도 아무 이름이나 상관이 없기 때문에 본인 이니셜로 진행



15. user password 설정으로 본인은 암호1.




16. 비밀번호가 취약하다고 하지만 본인은 <Yes>로 강행




17. 홈 디렉토리를 암호화할지 설정하는 것으로 <Yes>로 진행




18. 지역시간을 설정하는데 본인은 미국을 택했기에 그냥 기본값으로 진행




19. 디크스 파티션 설정은 맨 위 설정으로 진행

Guided - use entire disk




20. 디스크 파티션 설정으로 기본 디스크로 진행




21. 기본값 그대로 <Yes>




22. 자동 업데이트는 하지 않는 걸로 진행

No automatic updates




23. 설치할 소프트웨어를 선택하는 단계로 맨 밑 3가지를 체크하고 진행

standard system uilities

Virtual Machine host

OpenSSH server

(체크/해제는 Space, 다음 설치 단계 진행은 Enter)




24. GRUB boot loader 설정으로 기본값인 <Yes>로 진행




25. 계속 진행하고나서 설정한 user로 로그인하면 우분투 준비 완료


우분투 설치 끝

+ Recent posts