CentOS 6.6 minimal 로 DHCP server 구축

|


출처 : http://attiadmin.guyweb.co.kr/server/dhcp.html




0. Cent OS minimal 설치




1. 필요 PKG 설치


dhcp server 설치 되어있는지 확인


# rpm -qa | grep dhcp

=> Client인 dhcp.common만 설치되어있다.


dhcp PKG 설치 & 서버는 시간이 중요하기 때문에 ntp도 설치

# yum install -y dhcp* ntp




2. NIC (Network Interface Card) 확인


먼저는 이더넷 카드에서 멀티캐스팅이 지원되는지 확인해야한다.

ifconfig 명령어를 이용하여 내가 사용하고자 하는 카드에 UP BROADCAST RUNNING MULTICAST 가 있는지 확인


# ifconfig


미지원 시 google 통해 해결... -_-ㅋ;;





3. dhcp 환경설정


dhcp 설정을 위해 설정 파일에 들어가보자.

# vi /etc/dhcp/dhcpd.conf

      1 #

      2 # DHCP Server Configuration file.

      3 #   see /usr/share/doc/dhcp*/dhcpd.conf.sample

      4 #   see 'man 5 dhcpd.conf'

      5 #


/usr/share/doc/dhcp*/dhcpd.conf.sample 파일을 참조하거나 man 5 dhcpd.conf 를 참조하면 될듯하다.

(minimal 설치의 경우 man 파일도 없다. man 부터 설치)

# yum install man

# man 5 dhcpd.conf


매뉴얼 본 뒤 먼저 샘플 파일을 /etc/dhcp/ 로 복사 (나의 경우 dhcp의 버전은 4.1.1)

# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/


이제 샘플 파일을 수정해보자. 아래 내용 이외의 것은 지우거나 주석처리했다.

# vi /etc/dhcp/dhcpd.conf.sample

#ddns-update-style interim;                       # 왜 사용하는지 이유를 모르기에 일단 주석 처리

#ignore client-updates;

#......................

# 아래 subnet {} 에 묶이지 않는 부분은 기본 설정. 각 subnet 마다 특정한 값으로 재설정 가능

#option domain-name "example.org";                                                 # 네임서버를 도메인으로 찾을 경우 사용

option domain-name-servers 168.126.63.1, 168.126.63.2, 8.8.8.8;      # 네임서버, 도메인도 가능

option subnet-mask 255.255.255.0;                                                   # 서브넷 마스크

option routers 20.20.20.254;                                                              # Gate Way Address

option broadcast-address 20.20.20.255;                                             # Broadcast addrestt

default-lease-time 600;                                                                     # 할당된 ip주소를 가질 수 있는 시간

max-lease-time 7200;                                                                       # 할당 받은 ip 주소를 가지고 있을 수 있는 최대 시간

#..............................

# Client에게 할당할 네트워크 주소 및 netmask

subnet 20.20.20.0 netmask 255.255.255.0 {

  range dynamic-bootp 20.20.20.1 20.20.20.253;                                 # 주소를 할당해 줄 범위

# 위에서 설정한 기본 옵션과 다르게 설정 가능

#  default-lease-time 600;

#  max-lease-time 7200;

  # mac 주소 - 고정 ip  설정

  #host ns {

#        hardware ethernet xx:xx:xx:xx:xx:xx;

#        fixed-address 20.20.20.x;

# }

}

#...................................

# 세세하게, 혹은 추가로 더 나눌 수도 있다.

#subnet 10.5.5.0 netmask 255.255.255.224 {

#  range 10.5.5.26 10.5.5.30;

#  option domain-name-servers ns1.internal.example.org;

#  option domain-name "internal.example.org";

#  option routers 10.5.5.1;

#  option broadcast-address 10.5.5.31;

#}



설정한 설정 파일을 실제 설정 파일로 덮어쓰기.

# cp /etc/dhcp/dhcpd.conf.sample /etc/dhcp/dhcpd.conf



dhcp 요청을 받아 들일 인터페이스 설정

# vi /etc/sysconfig/dhcpd

# Command line options here

DHCPDARGS=eth1




4. dhcp 서버 실행


dhcp 및 ntp 서비스 시작 & 리눅스 부팅 시 자동 실행되도록 설정

# service dhcpd.start

# service ntpd start

# chkconfig dhcpd on

# chkconfig ntpd on



임대 정보 확인

# cat /var/lib/dhcpd/dhcpd.leases


※ dhcp server는 udp 67 port를, client는 udp 68 port를 사용한다.




5. test


dhcp server 와 같은 네트워크 카드에 CentOS dhcp client (라고 해봤자 minimal) 설치.

dhcp 로 주소 잘 받아 오는 것 확인했다~!





[Trouble Shooting]


설정 도중 network 를 시작하는 도중 start fail 을 겪었다.

그 이유는 Cent OS NIC Priority 에 관한 것 때문이라고 하며, 1개의 server 에는 1개의 gateway 만 설정되어있어야 한다.

출처 : https://www.centos.org/forums/viewtopic.php?t=39436





[Memo]


Hyper-V 의 network 설정을 내부 network로, 즉 외부와의 통신이 두절되게 만들었는데

이러한 두절된 통신에 NAT 설정을 추가로 하면 여기에서도 외부로 통신이 가능하다.

그것에 대해 나중에 도전할 예정인데 관련 글들을 메모한다.


Cent OS dhcp & nat

http://blog.pages.kr/311

http://blog.naver.com/brown00/80095329275

     => http://cdral.net/754


구체적인(?) 설명

http://blog.naver.com/dlrud2539/220203979671



Windows dhcp & nat

http://blog.pages.kr/312




'Linux > CentOS' 카테고리의 다른 글

CentOS 7 시간설정 및 Time Zone 변경  (0) 2015.04.09
Tips of CentOS 7  (0) 2015.04.09
Cent OS 6.6 에서 nmail 로 메일서버 구축하기  (0) 2015.04.07
DNS master & slave server 만들기  (0) 2015.04.06
서버 시간 동기화(ntpd)  (0) 2015.04.06
And


[13] Active Directory - 계정 관리, 그룹 정책 관리

|


- 2015-01-21




1. Active directory 계정 관리



[Tip]


Local PC 의 DNS cache table 날리는 명령어 : ipconfig /flushdns



[계정 및 PC 사용 중지]


Users - 사용자 우클릭 - 계정 사용 안함 -> 사람 그림에 아래 화살표 생김

Computers - PC 우클릭 - 계정 사용 안함 -> PC 그림에 아래 화살표 생김



[계정 설정]


계정 우클릭 - 속성 - 계정

계정 만료일 설정 : 계정 만료 - 다음 날짜까지 사용

로그온 가능 시간 설정 : 로그온 시간 - 블럭 잡아 설정

로그온 가능한 PC 설정 : 로그온 대상 - Computers 에 나오는 PC 이름 추가




[ 액티브 디렉토리 도메인 서비스 문제 ]


1. Server1에 AD 도메인 서비스 역할 추가

 - dcpromo 실행하여 설치 진행 

 - 도메인은 samadal.com

 - DNS 서버 같이 설치

2. Server1에 samadal라는 그룹 생성(구성원 : test1, test2)

3. Server1에 test1, test2 이라는 사용자 추가 

4. Client1과 Server2 itbnak.com 이라는 도메인 합류 후

5. 로컬 로그인과 도메인 로그인 두가지 방법으로 로그인 시도

6. Server1에서 서버관리자에서 Server2 로그인 못 하게 차단

7. Server2에서 도메인 로그인 다시 시도시 차단 되면 성공

8. AD DS Server에서 test2 계정 로그온 불가능 시간을

수요일 전체로 설정

9. clinet1에서 test2 계정 로그인 시도시 차단 되면 성공




[AD DS 사용자 계정 관리 문제]


1. Server1에 AD DS 설치 (dcpromo)

 - 포리스트 도메인 : samadal.com

 - DNS 설치

2. Server2, Client1에서 samadal.com 이라는 도메인에 합류

3. AD DS 서버에서 계정 생성(test1, test2)

 - test1 계정 : Server2에만 로그인 가능

 - test2 계정 : client1에만 로그인 가능

=================

설정 적용 됐는지 확인 후 다음 진행

=================

4. AD DS 서버에서 Server2 컴퓨터로 로그인 불가능 하게 차단

==================

Server2에서 AD User로 로그인 시도시 차단 되면 성공





2. Active Directory 그룹 정책 관리


시작 - 관리 도구 - 그룹 정책 관리 - samadal.com - Default Domain Policy 우클릭 - 편집

(만약 Default Domain Policy 가 안들어가진다면 권한이 없는 것, Administrator 로 실행할 것)


컴퓨터 구성 - 정책 - Windows 설정 - 원하는 정책 우클릭 - 속성 - 이 정책 설정 정의 체크

설정한 뒤 그룹 정책 관리 편집기를 닫고 Default Domain Policy 우클릭 - 적용

계정 정책은 5분마다 적용이 되지만, 명령어로도 바로 적용 가능하다. : gpupdate /force




[AD DS 그룹 정책 관리 문제]


1. Server1에서 그룹 정책 관리에서 정책 설정

# 암호 정책

 - 암호는 복잡성을 만족해야 함 : 사용

 - 최근 암호 기억 : 0개 암호 기억됨

 - 최대 암호 사용 기간 :  7일

 - 최소 암호 길이 : 10 문자

 - 최소 암호 사용 기간 : 0일

 - 해독 가능한 암호화를 사용하여 암호 저장 : 사용 안 함

#계정 잠금 정책

 - 계정 잠금 임계값 1번의 잘못된 로그온

 - 계정 잠금 기간 : 30분

 - 다음 시간 후 계정 잠금 수를 원래대로 설정 : 30분

# 시스템 종료 권한 설정      

 - test1 계정만 사용

# 시간변경 권한 설정

 - test2 계정만 사용



[Tip]


1) 암호 정책 : 컴퓨터 구성 - 정책 - Windows 설정 - 보안 설정 - 계정 정책

2) 계정 잠금 정책 : 컴퓨터 구성 - 정책 - Windows 설정 - 보안 설정 - 계정 정책

3) 시스템 종료 권한 : 컴퓨터 구성 - 정책 - Windows 설정 - 보안 설정 - 로컬 정책 - 사용자 권한 할당

4) 시스템 시간 변경 : 컴퓨터 구성 - 정책 - Windows 설정 - 보안 설정 - 로컬 정책 - 사용자 권한 할당




And


Devstack Install in CentOS 7 minimal

|


출처 : http://docs.openstack.org/developer/devstack/guides/single-machine.html

          http://naleejang.tistory.com/116


이제껏 Ubuntu 14.04 나 CentOS 6.6 으로 수도 없이 시도했지만 설치 조차 실패했었다.

헌데 CentOS 6.6 에서 update를 하다 보니 커널 업데이트로 인해 많은 명령어들이 바뀐 것을 확인했다.

그말인 즉, 현재의 openstack 은 가장 최신 버전의 리눅스와 궁합이 맞는 것 같다는 생각이 들었고,

Cent OS 최신 버전인 7 으로 설치까지 성공하였다.



설치 성공 후 리눅스를 껐다 키니 정상적으로 작동이 안된다. rejoin 하려 해도 진행이 안된다.

그래서 성공한 방법으로 설치를 시도했지만..... 이전과 다른 오류를 뿜으며 실패...

또한 kvm 가상 머신을 설치해보려 했지만 계속해서 kvm 모듈이 작동하지 않는다.

여러 번의 시도 끝에... 가상화로 돌리는 서버 위에서의 가상화는 지원이 되지 않는 듯하다.

나중에 가상화 지원되는 CPU 있는 리얼 서버로 제대로 시도 해보고 싶다...




==== '설치는' 성공한 방법 ====


(root 계정으로 진행)


stack 이라는 사용자가 필요하단다. 사용자 추가 후 비밀번호 변경

# useradd stack

# passwd stack


stack 이 sudo 명령어를 쓸 때 비밀번호 없이 사용하게 하는 명령어

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


devstack 다운로드 시 필요한 git 과 서버의 시간을 맞춰주는 ntp 설치, ntp 는 서비스 시작 및 부팅 시 자동 실행 설정

# yum install -y git ntp

# chkconfig ntpd on

# service ntpd start


stack 사용자로 변경, 홈 디렉토리로 가서 devstack 설치 파일 다운로드

# su stack

$ cd ~

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


환경설정 후 설치 스크립트 실행

$ cd ./devstack


$ vi local.conf

[[local|localrc]]

HOST_IP=192.168.1.10

FLOATING_RANGE=192.168.1.224/27

FIXED_RANGE=10.11.12.0/24

FIXED_NETWORK_SIZE=256

FLAT_INTERFACE=eth0

ADMIN_PASSWORD=supersecret

MYSQL_PASSWORD=iheartdatabases

RABBIT_PASSWORD=flopsymopsy

SERVICE_PASSWORD=iheartksl

SERVICE_TOKEN=servicetoken


$ cp local.conf localrc


$ ./stack.sh




[Trouble Shooting]


CentOS 7  뿐 아니라 이전에 설치하면서 겪게된 여러 Trouble Shooting 들을 모아보았다.

나의 경우, CentOS 7  에서는 1번만 발생하였다.



1)

git call failed: [git clone' git://git.openstack.org/openstack/keystone.git '/opt/stack/keystone]'

=> 수동으로 진행, 설치


$ cd /opt/stack/keystone/   

$ ./run_tests.sh

$ cd ~

$ cd devstack/

$ ./stack.sh



2)

/usr/lib/python2.6/site-packages/keystoneclient/access.py:20: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_utils instead.

  from oslo.utils import timeutils

/usr/lib/python2.6/site-packages/keystoneclient/i18n.py:21: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_i18n instead.

  from oslo import i18n

/usr/lib/python2.6/site-packages/keystoneclient/session.py:20: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_config instead.

  from oslo.config import cfg

/usr/lib/python2.6/site-packages/keystoneclient/session.py:21: DeprecationWarning: The oslo namespace package is deprecated. Please use oslo_serialization instead.


$ sudo vi /usr/lib/python2.6/site-packages/keystoneclient/session.py

     20 from oslo_config import cfg

     21 from oslo_serialization import jsonutils

     22 from oslo_utils import importutils


$ ./stack.sh

To rejoin this session type 'screen -x stack'.


$ screen -x stack

Cannot open your terminal '/dev/pts/0' - please check.


root 계정에서 su stack 으로 stack 계정을 사용중이어서 그랬단다.

(출처 : http://makandracards.com/makandra/2533-solve-screen-error-cannot-open-your-terminal-dev-pts-0-please-check)

모두 logoff 하고 stack 으로 접속하여 진행


$ screen -x stack


하다가 중간에 멈췄다.


$ ./unstack.sh

$ ./stack.sh



3)

Hostname 이 정해진게 없어서 Error => 내가 가진 ip 에 대한 hostname 지정

$ sudo vi /etc/hosts

      3 192.168.1.10 devstack



4)

Missing packages detected 라길래 위에를 보니 qemu-img 이 없단다.

qemu 공식 홈페이지 통해 최신 PKG 설치 (http://wiki.qemu.org/Download)

$ git clone git://git.qemu-project.org/qemu.git


$ cd qemu

$ ./configure

ERROR: glib-2.12 gthread-2.0 is required to compile QEMU


$ sudo yum install -y glib glib2-devel

$ sudo yum install -y pixman

$ git submodule update --init pixman

$ cd pixman

$ ./configure; make; make install


(오류 보면서 진행했지만,,, 해결 되는 듯 싶더니 결국 안됨.)




And