Openstack #1-1 선행작업

Packstack과는 다르다. packstack 설치 과정과는 분리해서 생각하자.

Openstack #1 개요
Openstack #1-1 선행작업
Openstack #1-2 MariaDB(MySQL) 설치
Openstack #1-3 Chrony 설정
Openstack #1-4 MessageQueue(RabbitMQ)
Openstack #1-5 Memcached
Openstack #1-6 Etcd

이런 구성에서 설치를 진행한다고 가정한다. 왼쪽부터 호스트명은 openstack1 ~ 4

모든 노드에서 아래 작업을 수행한다.

네트워크 인터페이스 설정을 마친다.

기본적으로 CentOS extra 저장소는 openstack 저장소 활성화를 위한 rpm을 포함하고 있다. 그러니까 별도의 yum repository 설정을 한다거나 할 필요가 없다는 이야기이다.
오픈스택은 매 6개월마다 릴리즈된다. 버전은 알파멧 순서로 매겨진다. 여기에서 확인할 수있다.

오픈스택 저장소 활성화

 # 예제의 경우 stein 이 버전이다. 
[root@openstack1:~]# yum -y install centos-release-openstack-stein
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
Resolving Dependencies
--> Running transaction check
---> Package centos-release-openstack-stein.noarch 0:1-1.el7.centos will be installed
--> Processing Dependency: centos-release-qemu-ev for package: centos-release-openstack-stein-1-1.el7.centos.noarch
...중략...
  Verifying  : centos-release-qemu-ev-1.0-4.el7.centos.noarch                                                                                                                                                                                  6/6
Installed:
  centos-release-openstack-stein.noarch 0:1-1.el7.centos
Dependency Installed:
  centos-release-ceph-nautilus.noarch 0:1.2-2.el7.centos        centos-release-nfs-ganesha28.noarch 0:1.0-3.el7.centos        centos-release-qemu-ev.noarch 0:1.0-4.el7.centos        centos-release-storage-common.noarch 0:2-2.el7.centos
  centos-release-virt-common.noarch 0:1-1.el7.centos

Complete!

yum 패키지 업그레이드

[root@openstack1:~]#yum -y upgrade
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
centos-ceph-nautilus                                                                                                                                                                                                        | 3.0 kB  00:00:00
Resolving Dependencies
--> Running transaction check
---> Package NetworkManager.x86_64 1:1.18.8-1.el7 will be updated
...중략...
  Verifying  : nss-util-3.44.0-4.el7_7.x86_64                                                                                                                                                                                                99/99
Installed:
  kernel.x86_64 0:3.10.0-1160.11.1.el7
Dependency Installed:
  mariadb-common.x86_64 3:10.3.10-1.el7.0.0.rdo2                   mariadb-config.x86_64 3:10.3.10-1.el7.0.0.rdo2                   mariadb-errmsg.x86_64 3:10.3.10-1.el7.0.0.rdo2                   psmisc.x86_64 0:22.20-17.el7
Updated:
  selinux-policy-targeted.noarch 0:3.13.1-268.el7_9.2  systemd.x86_64 0:219-78.el7_9.2                  systemd-libs.x86_64 0:219-78.el7_9.2          systemd-sysv.x86_64 0:219-78.el7_9.2            tuned.noarch 0:2.11.0-10.el7
  tzdata.noarch 0:2020d-2.el7                          vim-minimal.x86_64 2:7.4.629-8.el7_9
Complete!

Openstack 클라이언트 설치

[root@openstack1:~]#yum -y install python-openstackclient
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
Resolving Dependencies
--> Running transaction check
---> Package python2-openstackclient.noarch 0:3.18.1-1.el7 will be installed
--> Processing Dependency: python-openstackclient-lang = 3.18.1-1.el7 for package: python2-openstackclient-3.18.1-1.el7.noarch
...중략...
  Verifying  : python2-pbr-5.1.2-2.el7.noarch                                                                                                                                                                                                87/87
Installed:
  python2-openstackclient.noarch 0:3.18.1-1.el7
Dependency Installed:
  python2-subprocess32.x86_64 0:3.2.6-14.el7           python2-urllib3.noarch 0:1.24.1-3.el7                     python2-wcwidth.noarch 0:0.1.7-8.el7                        python2-wrapt.x86_64 0:1.11.1-1.el7
  pytz.noarch 0:2016.10-2.el7                          rsync.x86_64 0:3.1.2-10.el7
Complete!

Openstack SElinux 패키지 설치 (보안 정책 자동 관리)

[root@openstack1:~]#yum -y install openstack-selinux
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.kakao.com
Resolving Dependencies
--> Running transaction check
---> Package openstack-selinux.noarch 0:0.8.18-1.el7 will be installed
--> Processing Dependency: container-selinux for package: openstack-selinux-0.8.18-1.el7.noarch
...중략...
  Verifying  : setools-libs-3.3.8-4.el7.x86_64                                                                                                                                                                                                 9/9
Installed:
  openstack-selinux.noarch 0:0.8.18-1.el7
Dependency Installed:
  audit-libs-python.x86_64 0:2.8.5-4.el7 checkpolicy.x86_64 0:2.5-8.el7    container-selinux.noarch 2:2.119.2-1.911c772.el7_8 libcgroup.x86_64 0:0.41-21.el7 libsemanage-python.x86_64 0:2.5-14.el7 policycoreutils-python.x86_64 0:2.5-34.el7
  python-IPy.noarch 0:0.75-6.el7         setools-libs.x86_64 0:3.3.8-4.el7
Complete!

캐릭터 셋 변경

/etc/profile 혹은 /root/.bash_profile을 수정한다.
– /etc/profile : 모든 사용자에 적용된다. 어떤 계정이건 bash가 실행 될 때 파일을 읽는다.
– /root/.bash_profile : root 계정에 적용된다.
– /home/계정명/.bash_profile : 해당 계정에 적용된다.

[root@openstack1:~]#    vi /etc/profile
 # 파일 끝에 아래를 붙여넣는다.

# shell prompt를 보기 편하게 하기 위한 설정. 
export PS1="[\[\033[38;5;45m\]\u@\[$(tput sgr0)\]\[\033[38;5;15m\]\h:\w]\\$\[$(tput sgr0)\]"
# 만약 vim이 설치돼 있지 않다면 아래 라인은 주석처리하거나, vim을 설치해야 한다.
alias vi=vim

#영문, UTF8로 설정
LANG=en_US.utf-8
LC_ALL=en_US.utf-8


OpenVPN 서버 구축 #1. 개요

OpenVPN 서버 구축 #2. 서버 설치 및 설정

가상사설망(假想私設網) 또는 VPN(영어: virtual private network)은 공중 네트워크를 통해 한 회사나 몇몇 단체가 내용을 바깥 사람에게 드러내지 않고 통신할 목적으로 쓰이는 사설 통신망이다.가상 사설망에서 메시지는 인터넷과 같은 공공망 위에서 표준 프로토콜을 써서 전달되거나, 가상 사설망 서비스 제공자와 고객이 서비스 수준 계약을 맺은 후 서비스 제공자의 사설망을 통해 전달된다.

가상 사설망의 등장배경은 인터넷을 기반으로 한 기업 업무환경의 변화에 기인한다. 즉, 소규모 지역에서 문서만을 전달하던 업무처리 기반에서 하나의 건물 내의 네트워크를 이용한 업무로, 다시 본사와 다수의 지사 관계, 또한 지사는 국내 지사와 국외 지사로 확장되었다. 이들이 하나의 네트워크 구축을 위해 기존 전용선을 사용하는 방법에는 비용을 포함한 여러가지 한계를 가지며, 전용선을 이용해서 네트워크가 구성되었다고 하더라도 네트워크 운영을 자체적으로 하는 것과 새로운 기술들을 도입하는 것 역시 기업의 입장에서는 상당한 부담이 될 수 있다. 또한 기존의 공중 네트워크는 보안과 관련해서는 서비스를 제공하지 않기 때문에 중요한 문서나 데이터를 전달하기에는 부족한 점이 있었다. 이러한 복합적인 이유가 가상 사설망이 등장한 계기가 되었다.1위키백과에서 발췌

왜 VPN이 생겨났는가는 단순하다.
A라는 회사가 있다고 생각해보자. 최첨단 산업을 선도하는 A사는 시간이 흐르면서 회사의 규모도 커지고 직원도 늘어나면서 서울에 본사 뿐 아니라 미국, 중국, 영국 등 세계 각국의 주요 거점에도 지사를 세우게 됐다.

서울 본사만 있을 때는 사내망 관리만 하면 됐지만 미국지사와 중요한 자료를 주고받으려니 일반망으로 데이터를 주고 받자니 중간에 패킷을 가로채거나 하는 공격의 위험이 크고, 서울에서 미국까지 전용선을 설치하자니 너무 비용이 많이 든다.

이러한 상황에서의 보안 요건을 충족하기 위한 것이 바로 Virtual Private Network 되시겠다.
즉, 일반망을 사용하되, 암호화 등의 조치를 통해 본사와 미국지사 사이의 연결이 사설망인 것 처럼 동작하게 하는 것, 그것이 VPN이다.


PPPTP / L2TP / IPSEC / SSL 등의 방식이 있으며, 근래에는 IPSEC, SSL 두 종류로 수렴하는 듯 한다.
가장 많이 쓰이는 IPSEC / SSL 방식 VPN의 차이를 찾자면
– SSL 방식이건 IPSEC이건 모두 암호화방식이나, 터널 개념에 있어서 큰 차이는 없다.

이건 SSL-VPN

– 클라이언트와 대상 망의 VPN 서버와 터널을 맺고 암호화 통신을 한다.

이건 IPSEC

– 양자간 각각의 VPN server를 두고 각 VPN 서버끼리 터널을 맺고 통신을 한다.