Post List
2014/07/06
Network Booting OS 설치 #끝 - Mikrotik Router 설정
Network Booting 을 위한 CentOS Server 는 준비되었다.
1. TFTP 서버 : 파일을 전송하기 위한 서버
2. Syslinux : 부트로더
3. PXE 설정 : Preboot eXecution Environment
4. OS 설치 파일
마지막으로 필요한 것은 DHCP 서버에서 PXE 를 실행하기 위한 설정을 해 주는 것이다.
DHCP 서버는 CentOS 나 다른 OS 에서 설정할 수도 있지만 여기서는 Router (Mikrotik Router OS VM) 를 사용한다고 가정하므로 Router 에서 설정한다.
Winbox 를 실행시키고 / IP / DHCP Servers 로 들어간다.
현재 설정되어 있는 DHCP Server 를 더블 클릭한다.
Next Server : 부분에는 PXE 가 실행되고 있는 CentOS IP 를 입력하고
Boot File Name : 부분에는 부트로더 이름을 입력한다.
이제 또 다른 VM 을 하나 생성하고 Network Booting 이 가능한지 테스트 해 보자.
새로 생성하는 VM (혹인 Real Machine) 은 Mikrotik Router 와 같은 Network 을 사용하고 있어야 한다. (DHCP Server 가 인식 가능한 상태여야 한다.)
vSphere Host / 구성 / 네트워킹을 선택해서 확인해 보면
Mikrotik 과 New Virtual Machine 이 같은 vSwitch1 에 묶여 있음을 알 수 있다.
새 VM 의 전원을 넣으면...
위에서 설정했던 메뉴 화면이 나타나고 사용자의 선택을 기다린다.
Install CentOS ... 를 선택하니 뭔가 파일을 로딩하기 시작한다.
CentOS 설치 화면이 나타났다.
알아서 진행...
이제 필요한 파일들이 모두 로딩되고 GUI 환경의 설치 화면이 나타났다.
Next 를 눌러서 진행...
자세한 CentOS 설치 방법은 아래 post 참조..
vSphere 에 CentOS 6.5 설치
드.디.어.
Network Booting 을 이용한 CentOS 최종 설치 완료.
Congratulatin !!!
2014/07/03
Network Booting OS 설치 #2 - syslinux
부트로더인 syslinux 를 설치한다.
[root@localhost tftpboot]# rpm -qa syslinux [root@localhost tftpboot]# yum install syslinux ... ... ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: syslinux x86_64 4.02-16.el6_5 updates 331 k Installing for dependencies: syslinux-nonlinux i686 4.02-16.el6_5 updates 513 k Transaction Summary ================================================================================ Install 2 Package(s) Total download size: 844 k Installed size: 2.0 M Is this ok [y/N]: y ... ... Running Transaction Installing : syslinux-4.02-16.el6_5.x86_64 1/2 Installing : syslinux-nonlinux-4.02-16.el6_5.i686 2/2 Verifying : syslinux-nonlinux-4.02-16.el6_5.i686 1/2 Verifying : syslinux-4.02-16.el6_5.x86_64 2/2 Installed: syslinux.x86_64 0:4.02-16.el6_5 Dependency Installed: syslinux-nonlinux.i686 0:4.02-16.el6_5 Complete! [root@localhost tftpboot]#
설치 완료.
TFTP에 필요한 Directory 를 만들고 부트로더를 카피한다.
mkdir /tftpboot # 이미 있으면 무시 mkdir /tftpboot/pxelinux.cfg cp /usr/share/syslinux/pxelinux.0 /tftpboot/ cp /usr/share/syslinux/menu.c32 /tftpboot/ cp /usr/share/syslinux/memdisk /tftpboot/ cp /usr/share/syslinux/mboot.c32 /tftpboot/ cp /usr/share/syslinux/chain.c32 /tftpboot/
파일 확인
[root@localhost tftpboot]# ll /tftpboot total 180 -rw-r--r-- 1 root root 20448 Jul 3 16:00 chain.c32 -rw-r--r-- 1 root root 35676 Jul 3 16:00 mboot.c32 -rw-r--r-- 1 root root 24988 Jul 3 16:00 memdisk -rw-r--r-- 1 root root 61056 Jul 3 16:00 menu.c32 -rw-r--r-- 1 root root 26595 Jul 3 16:00 pxelinux.0 drwxr-xr-x 2 root root 4096 Jul 3 15:55 pxelinux.cfg -rw-r--r--. 1 root root 8 Jul 3 05:48 testme [root@localhost tftpboot]#
이제 OS 를 설치하기 위해 디렉토리를 만들고 파일을 복사한다.
CentOS ISO 파일이 /media/Centos_6.5_Final 에 mount 되어 있다고 가정한다.
[root@localhost CentOS_6.5_Final]# mkdir /tftpboot/centos6 [root@localhost CentOS_6.5_Final]# mkdir /tftpboot/centos6/i386 [root@localhost CentOS_6.5_Final]# cp /media/CentOS_6.5_Final/* -r /tftpboot/centos6/i386/ [root@localhost CentOS_6.5_Final]#
vi /etc/httpd/conf.d/pxeboot.conf
Alias /centos6/i386 /tftpboot/centos6/i386
<directory /tftpboot/centos6/i386>
Options Indexes FollowSymLinks
Order Deny,Allow
Deny from all
Allow from 127.0.0.1 192.168.88.0/24
</directory>
vi /tftpboot/pxelinux.cfg/default default menu.c32 prompt 0 timeout 300 ONTIMEOUT local menu title =========== PXE Boot Menu by Jay =========== label 1 menu label ^1) Install CentOS 6.5 i386 kernel centos6/i386/images/pxeboot/vmlinuz append initrd=centos6/i386/images/pxeboot/initrd.img method=http://192.168.88.245/centos6/i386 devfs=nomount label 2 menu label ^2) Boot from local drive localboot
서버를 재시작 한다.
[root@localhost CentOS_6.5_Final]# /etc/init.d/xinetd restart Stopping xinetd: [ OK ] Starting xinetd: [ OK ] [root@localhost CentOS_6.5_Final]# /etc/init.d/httpd restart Stopping httpd: [ OK ] Starting httpd: [ OK ] [root@localhost CentOS_6.5_Final]#
이제 tftp 를 포함해서 CentOS 쪽 설정은 끝났다.
남은 것은 Router 설정과 테스트 뿐이다.
Network Booting OS 설치 #1 - TFTP
Mikrotik RouterOS (x86) 과 CentOS 6.5 를 이용해서 Network Booting 을 구현해 보자.
TFTP (Trivial File Transfer Protocol) 는 파일을 전송하기 위한 프로토콜이다.
구조가 단순하고 구현이 쉽기 때문에 PXE 를 통한 Network Booting 등에서 많이 사용된다.
일단 TFTP 를 설치한다.
root 계정으로 로그인 한다.
tftp 설치 여부 확인
당연히 없다. 설치하자..
tftp 의 홈 디렉토리를 만들고 다운로드 테스트용으로 사용할 간단한 파일을 하나 작성한다.
tftp 환경 설정
server_args 와 disabled 부분을 수정한다.
이제 서비스를 띄우고 테스트 해 보자
아직 작동이 안된다.
SELinux 설정을 확인해 본다.
SELinux 는 Security Enhanced Linux 로 Linux Kernel 의 보안을 획기적으로 높였다고 하는데
나는 아직 정확히 이해할 수 없어 일단은 disable 시키기로 한다.
(대부분의 사용자가 disable 시키고 사용하는 듯...)
시스템이 다시 부팅되면 selinux 설정을 다시 확인해 본다.
정상적으로 disable 되어 있다.
이제 다시 tftp 테스트를 해 보자.
아무런 오류 없이 tftp> 프롬프트가 나타났다.
실제로 파일을 받았는지 확인해 보자.
System / Administration / Firewall
TFTP (Trivial File Transfer Protocol) 는 파일을 전송하기 위한 프로토콜이다.
구조가 단순하고 구현이 쉽기 때문에 PXE 를 통한 Network Booting 등에서 많이 사용된다.
일단 TFTP 를 설치한다.
root 계정으로 로그인 한다.
tftp 설치 여부 확인
[root@localhost ~]# rpm -qa tftp tftp-server [root@localhost ~]#
당연히 없다. 설치하자..
[root@localhost ~]# rpm -qa tftp tftp-server ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: tftp x86_64 0.49-7.el6 base 32 k tftp-server x86_64 0.49-7.el6 base 39 k Installing for dependencies: xinetd x86_64 2:2.3.14-39.el6_4 base 121 k Transaction Summary ================================================================================ Install 3 Package(s) Total download size: 192 k Installed size: 362 k Is this ok [y/N]:
tftp 의 홈 디렉토리를 만들고 다운로드 테스트용으로 사용할 간단한 파일을 하나 작성한다.
[root@localhost ~]# rpm -qa tftp tftp-server [root@localhost ~]# [root@localhost ~]# mkdir /tftpboot [root@localhost ~]# echo Test... > /tftpboot/testme [root@localhost ~]# ll /tftpboot total 4 -rw-r--r--. 1 root root 8 Jul 3 05:48 testme [root@localhost ~]#
tftp 환경 설정
vi /etc/xinetd.d/tftp
server_args 와 disabled 부분을 수정한다.
# default: off # description: The tftp server serves files using the trivial file transfer \ # protocol. The tftp protocol is often used to boot diskless \ # workstations, download configuration files to network-aware printers, \ # and to start the installation process for some operating systems. service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 }
이제 서비스를 띄우고 테스트 해 보자
# default: off # /etc/init.d/xinetd start Starting xinetd: [ OK ] [root@localhost ~]# tftp local-4 localhost localhost: bad port number tftp> tftp> quit [root@localhost ~]#
아직 작동이 안된다.
SELinux 설정을 확인해 본다.
[root@localhost ~]# sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy version: 24 Policy from config file: targeted [root@localhost ~]#
SELinux 는 Security Enhanced Linux 로 Linux Kernel 의 보안을 획기적으로 높였다고 하는데
나는 아직 정확히 이해할 수 없어 일단은 disable 시키기로 한다.
(대부분의 사용자가 disable 시키고 사용하는 듯...)
[root@localhost ~]# sestatus vi /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
selinux 설정은 시스템을 리부팅해야 적용된다.
[root@localhost ~]# sestatus reboot
시스템이 다시 부팅되면 selinux 설정을 다시 확인해 본다.
[root@localhost ~]# sestatus [root@localhost ~]# sestatus SELinux status: disabled
정상적으로 disable 되어 있다.
이제 다시 tftp 테스트를 해 보자.
[root@localhost ~]# sestatus [root@localhost ~]# tftp -4 localhost tftp> get testme tftp>
아무런 오류 없이 tftp> 프롬프트가 나타났다.
실제로 파일을 받았는지 확인해 보자.
현재 디렉토리에 정상적으로 파일을 받아온 것을 확인할 수 있다.
이제 tftp 서버를 통해 파일을 주고 받는 게 가능하다.
localhost 가 아닌 다른 기기들간에 tftp 전송이 가능하려면 방화벽 설정을 확인해야 한다.
System / Administration / Firewall
2014/06/30
vSphere VM 과 Clipboard 공유
vSphere 가 처음 설치된 상태에서는 VM 간 혹은 VM 과 Host 간 Copy - Paste 가 작동하지 않는다.
이것을 가능하게 하려면 VM 의 옵션을 수정해야 한다.
일단 VM 의 전원이 꺼져 있어야 한다.
전원이 꺼져 있는 VM 선택 후 설정 편집...
옵션 / 고급 / 일반 을 선택하고 구성 매개 변수... 선택
행 추가
아래의 두 행을 추가한다.
Name | Value |
isolation.tools.copy.disable | FALSE |
isolation.tools.paste.disable | FALSE |
추가된 모습
이 작업은 각각의 VM 별로 이루어져야 한다.
전체 VM 에 적용하기 위해서는 Host 에 SSH 로 접속하여 아래와 같이 실행한다.
- Log in to the ESX/ESXi host as a root user.
- Take a backup of the /etc/vmware/config file.
- Open the
/etc/vmware/config
file using a text editor. - Add these entries to the file:
vmx.fullpath = "/bin/vmx"isolation.tools.copy.disable="FALSE"
isolation.tools.paste.disable="FALSE" - Save and close the file.
SSH 접속이 안될 때
vShpere telnet (SSH) 접속 활성화
이 후 Host 를 리부팅 해주고 테스트 해 본다.
Copy / Paste 기능을 이용하기 위해서는 각각의 VM 에 VMWare Tools 가 설치되어 있어야 한다.
vSphere CentOS 에 VMWare Tools 설치
VMWare Website 참고
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1026437
vSphere CentOS 에 VMWare Tools 설치
vSphere 에서 CentOS VM 을 실행시킨다.
VM 에서 CD-ROM 을 선택하고 데이터 스토어의 ISO 이미지에 연결... 을 선택한다.
datastore/vmimages/tools-isoimages/linux.iso 를 선택하고 mount 한다.
Mount 가 되면 자동으로 해당 폴더가 나타난다.
Extract 선택
현재 선택된 경로는 CD-ROM 의 경로이기 때문에 Extract 가 되지 않는다.
Download 등의 다른 경로를 선택하고 Extract...
Extract 완료
자동으로 열린 창에서 vmware-tools-distrib 를 선택
vmware-install.pl double click
Run in Terminal 선택
터미널 창이 열리고 작업이 진행된다.
몇가지 설정 질문이 나오는데 그냥 엔터를 입력하면 기본값으로 설정이 완료된다.
터미널 창은 자동으로 닫힌다.
vSphere Client 에서 확인해 보자.
VMWare Tools 가 실행중임을 확인할 수 있다.
2014/06/29
CentOS Web Server 설정
CentOS 기본 설치 후 가장 기본적인 Web Server 기동
설치는 GUI 메뉴를 통해서도 가능하다.
System / Administration / Add Remove Softwares
CentOS 기본 설치시 Apache 는 설치되어 있다.
APM 패키지를 기본적으로 설치하기로 한다.
Apache + Php + Mysql
yum 을 이용해서 설치한다.
이미 설치되어 있을 경우 자동으로 최신 패키지로 Update 한다.
yum install httpd yum install mysql mysql-server yum install php php-myadmin
정상적으로 설치되었는지 확인
rpm -qa httpd mysql php
OK
이제 아파치의 간단한 보안 설정을 해 보자.
아파치 설정파일 수정
vi /etc/httpd/conf/httpd.conf
User apache 를 찾아 아래와 같이 수정한다.
#User apache
#Group apache
User nobody
Group nobody
php 를 사용할 수 있도록 DirectoryIndex 와 AddType 부분을 수정한다.
찾기 : /DirectoryIndex
수정 : DirectoryIndex index.html index.htm index.php index.html.var
찾기 : /AddType
추가 :
AddType application/x-httpd-php .php .html .htm .inc
AddType application/x-httpd-php-source .phps
:wq!
환경 설정이 바뀌었으므로 http 서비스를 시작 한다.
/etc/init.d/httpd start
서비스는 시작됐지만 아직 http 접속은 되지 않는다.
이제 방화벽 80번 port 를 open 한다.
System / Administration / Firewall
Trusted Services 선택하고 오른쪽 제일 아래 WWW (HTTP) 선택 후 Apply
이제 브라우저를 열고 접속을 해 보면 정상적으로 web 페이지가 열리는 것을 볼 수 있다.
이제 php 파일을 만들어서 테스트 해 보자.
DocumentRoot 폴더에 php 파일을 하나 작성한다.
기본적으로는 /var/www/html 이 DocumentRoot 이다.
확인하려면 아래와 같이 입력하거나 vi 를 이용한다.
cat /etc/httpd/conf/httpd.conf | grep DocumentRoot
파일의 위치가 확인됐으니 파일을 만든다.
vi /var/www/html/phpinfo.php
파일 내용은 아래와 같이 만든다.
<?php phpinfo(); ?>
테스트 해 보자
http://localhost/phpinfo.php
CentOS VNC 를 이용한 원격 접속
CentOS 에 아직 익숙하지 않다면 SSH 등 보다는 GUI 환경이 더 편할 것이다.
VNC 를 이용해서 Windows 의 Remote Desktop 과 같이 원격에서 접속 해보자.
System / Preference / Remote Desktop 선택
Sharing
Allow other user to view / to control 항목 체크
Security
You must confirm 체크 해제 - 이 항목이 체크되어 있으면 연결 요청에 대한 승인을 하지 않으면 접속이 불가하다.
Require the user to enter this password : 원하는 비밀번호 입력
Close
Remote Desktop 은 설정했지만 아직 접속을 할 수 있는 상태는 아니다.
Firewall 에서 해당하는 Port 를 open 해 주어야 한다.
System / Administration / Firewall 실행
Other Ports 선택
Add 를 눌러 Remote Desktop 에서 사용하는 5900 포트를 추가한다.
TCP / UDP 모두 추가
Yes
이제 CentOS 쪽 설정은 끝났다.
Windows 에서 VNC 접속을 해보자.
VNC 접속을 위해서는 VNC Client 프로그램이 필요하다.
많은 프로그램이 있지만 나는 TightVNC 를 이용하기로 한다.
http://tightvnc.com/ 에서 내려 받고 설치하고 실행한다.
CentOS 의 IP Address 를 입력하고 Connect...
Remote Desktop 에서 설정한 비밀번호 입력
VNC 접속 성공
접속시 다른 사용자가 이 화면을 제어하고 있다는 메시지가 나온다.
VNC 연결은 기본적으로 멀티 세션을 허용하기 때문에 동시에 여러 곳에서 접속이 가능하지만 모두 하나의 화면을 공유한다.
또한 현재 접속되어 있는 user 의 계정으로만 접속이 가능하다.
다른 user 계정별 동시 접속을 설정하기 위해서는 VNC 고급 설정을 이용해야 한다.
다음 기회에...
CentOS 초기 설정
CentOS 기본 설치 후 첫 로그인 화면
우 상단 Network 아이콘에 X 표시가 되어 있다.
CentOS 는 초기 설치시 NIC 연결을 자동으로 하지 않는다.
네트워크 아이콘을 클릭...
Edit Connections...
Connect automatically 선택 : Apply
root 가 아닌 유저로 로그인 했을 경우는 이런 창이 나타난다.
귀찮으면 초기 로그인 화면에서 root 로 로그인 하면 된다.
아무튼 root password 를 입력하고 Authenticate
네트워크 아이콘이 정상적으로 바뀐 것을 볼 수 있다.
Linux 에서는 Terminal 창을 많이 사용하게 된다.
바탕화면에서 우클릭을 해도 단축 메뉴가 나타나지만 Task Bar 에 항상 나타나 있으면 사용이 편하다.
Application / System Toos 선택하고
Terminal 아이콘을 Drag & Drop 으로 Task Bar 로 가져간다.
단축 아이콘이 Tack Bar 에 추가되었다.
실행해 보자.
터미널 열기 성공
현재 할당된 ip address 를 알기 위해 ifconfig 실행
vSphere 에 CentOS 6.5 설치
vSphere Host - 새 가상 시스템
기본값을 선택해서 진행한다.
CentOS 를 이용해서 Web Server 와 Samba 등을 구축할 계획이므로 공간을 넉넉하게 잡아준다.
설치 이미지는 datastore 에 저장해 둔 iso 를 이용한다.
VMWare vSphere datastore 에 파일 올리기
위 화면에서 '전원을 켤 때 연결' 꼭 체크
이제 생성된 VM 의 전원을 켠다.
CentOS 설치 초기 화면
Install or Upgrade ... 선택
파일이 로딩되고.
디스크 검사 : Skip
GUI 설치 초기 화면 : Next
언어 선택
키보드 선택
디스크 선택
HDD 를 초기화 할 지 묻는다 : Yes
Hostname 선택
지역 선택
나는 현재 거주중인 Jakarta 를 선택했다.
Password 입력
특별한 경우가 아니면 Use All Space 선택
여기서 Write 를 선택하면 그때서야 Disk 에 변경 사항이 반영된다.
즉, 여기서 Cancel 하면 HDD 는 설치 이전으로 완전히 돌아간다.
하드 디스크 포맷중
설치할 패키지 선택
Server 용으로 사용할 거라면 Minimal 로 설치한 후 꼭 필요한 패키지들을 추가하는데 처음 사용자라면 Desktop 선택
설치 시작
전체 패키지 중에서 현재 설치중인 패키지를 볼 수 있다.
설치 완료 : Reboot
시스템 정상 종료 중...
시스템 시작 화면
설치 후 몇 가지 설정이 남아 있다. Forward
License : Yes
기본 Login User 생성
설치 중 설정한 password 는 기본 super user 인 root 의 password 이다.
여기서는 root 가 아닌 다른 사용자를 생성한다.
설치 중 선택한 지역에 맞는 시간이 자동으로 설정되어 있다 : Forward
Kdump 설정
이상하게 Kdump 가 설정되어 있으면 시스템 시작 중 항상 Fail 이 난다.
그래서 Enable 선택 해제
Kdump 옵션이 변경되었기 때문에 다시 Rebooting 한다.
리부팅 후 로그인 화면
기본적으로 조금 전 생성했던 user 가 선택되어 있다.
root 로 로그인 하려면 Other 를 선택하고 root 를 입력한다.
비밀번호 입력
CentOS Desktop
여기까지 기본 옵션으로 CentOS 설치 완료 !!!
Subscribe to:
Posts (Atom)
Popular Posts
-
vSphere Client 인터페이스 언어는 기본적으로 System Locale 설정에 따른다. 최초 실행 모습 VpxClient.exe.config 환경 파일을 Open 한다. C:\Program Files (x86)\VMwa...
-
CentOS 에 아직 익숙하지 않다면 SSH 등 보다는 GUI 환경이 더 편할 것이다. VNC 를 이용해서 Windows 의 Remote Desktop 과 같이 원격에서 접속 해보자. System / Preference / Remote De...
-
Networking 에 대해 공부를 좀 해볼려다 보니 Hub, Switch, Router 부터 시작해서 알아야 할 게 너무도 많다. 테스트용 네트워크를 구축하기도 쉽지 않아 방법을 찾던 중 VMWare vSphere 의 가상화 환경을 이용하기로...
-
할당받은 IP Address 를 확인한다. DHCP 를 통해 192.168.88.130 을 할당 받은 것을 알 수 있다. Router 에서 할당 정보를 확인해 보자. Winbox / IP / DHCP Server / Leases...
-
vSphere Host - 새 가상 시스템 기본값을 선택해서 진행한다. CentOS 를 이용해서 Web Server 와 Samba 등을 구축할 계획이므로 공간을 넉넉하게 잡아준다. ...
Post a Comment