본문 바로가기
Computer/Network

DHCP의 추가기능

by 시앙라이 2007. 1. 17.
4.DHCP의 추가기능

(1)복수의 IP 범위 구성


하나의 DHCP서버는 복수의 네트워크의  범위를 가지는 것이 가능하다. 회사가 물리적으로 여러개의 네트워크로 세그먼트되어 있을 때 하나의 DHCP서버만으로도 전체 네트워크에서 DHCP서비스를 가능하게 만들 수 있다는 것을 의미한다. 물리적인 구성은 뒤에서 살펴보고 여기서는 구성에 대한 측면만 확인해 본다.


[그림31.DHCP서버에 새로운 IP범위 추가구성]

서버이름을 클릭하고 새로운 범위를 추가할 수 있다. 구성방법은 처음 구성할 때와
차이가 없다.


[그림32.두 개의 범위를 가지고 있는 DHCP서버]

[그림32]에서는 blueapple이라는 이름의 DHCP서버가 192.168.5.0과 192.168.10.0 이라는 두 개의 네트워크 범위를 가지고 있는 화면을 보여준다.

(2)DHCP클라이언트에게 특정 IP Address 예약

기본적으로 DHCP서버는 클라이언트의 DHCP요청에 대하여 사용가능한 첫 번째 IP를
발급하여 주게 된다. 만일 bluexp라는 이름의 호스트에게 반드시 특별한 IP Address를 발급하고자 한다면 예약을 통해서 구현해 줄 수가 있다. IP가 변경되어서는 안되는 서비스를 하고 있는 컴퓨터의 경우에는 이러한 방법을 이용할 수가 있다.


[그림33.DHCP Client 예약]

DHCP관리콘솔의 클라이언트에게 발급할 IP를 포함하고 있는 범위를 클릭하고, '예약'을 클릭한다.


[그림34.DHCP 클라이언트 새 예약]

예약이름은 단순한 표기에 지나지 않는다. 관리자가 구별하기 쉬운 이름을 입력해 주면 되지만, IP주소와 MAC주소는 정확히 지정해야 한다. 이 예약할 IP주소는 IP범위에 포함이 되어 있어야 한다. 192.168.5.11~100까지가 IP범위인데, 192.168.5.120이라는 범위밖의 IP를 예약할 수는 없다는 얘기다. 예제에서는 blueXP라는 클라이언트에게 IP 192.168.5.25를 발급하도록 예약하는 그림을 보여준다. DHCP프로세스가 브로드캐스트를 이용한다는 얘길 했다. DHCP서버가 DHCP Broascast메시지를 받고 예약된 클라이언트인지 확인하는 방법은 MAC주소를 사용한다. MAC(Media Access Control) Address는 IP Address라는 논리적인 주소와는 구별되는 네트워크 어댑터 카드에 할당되는 물리적인 6byte로 구성된 주소이다. MAC주소를 확인하는 방법은 알고자 하는 네트워크 어댑터 카드를 가진 컴퓨터에서 ipconfig/all을 이용하면 간단히 얻을 수 있다. 네트워크 어댑터 디바이스 등록정보를 통해서도 확인할 수 있지만 꽤 번거로운 작업이다.네트워크 상에서 이러한 정보를 얻고자 한다면 아래의'arp'유틸리티를 이용할 수도 있다.


[그림35. arp를 이용한 MAC 주소 확인]

ping 192.168.5.11를 하면 4개의 응답이 오는 것을 확인할 수 있는데 이 응답이 온다는 것은 실제로 192.168.5.11 호스트와 물리적인 통신이 이루어졌다는 것을 의미한다. 곧 이어서 'arp -a'를 입력해 보면 시스템의 캐쉬에 저장된 "arp address mapping table" 을 보여준다. [그림35]에서 하이라이트된 부분이 192.168.5.11의 MAC Address를 보여주는 부분이고, dynamic 이라는 Type을 가진 것을 볼 수 있다. 이렇게 상대방 컴퓨터가 가진 네트워크 어댑터 카드의 MAC주소를 알아낸 후 DHCP클라이언트를 예약할 때 이 MAC주소를 그대로 사용하면 된다. [그림34]에서 보는 바와 같이 하이픈(-)은 제외하고 12자리의 숫자를 기록하면 된다.


[그림36.DHCP관리콘솔-예약된 클라이언트]

예약을 하면 관리콘솔에서는 예약된 클라이언트의 범위를 확인할 수 있고, DHCP서버는 이 IP를 사용가능한 IP에서 제외시켜서 다른 클라이언트에게는 할당하지 않고 "예약 비활성"상태로만 유지한다.


[그림37. IP Address 갱신 작업]

bluexp DHCP Client에서 ipconfig/renew를 이용해서 IP를 갱신요청을 했더니 기존에 받았던 192.168.5.11을 반납하고 192.168.5.25 라는 예약된 IP를 받아온 것을 확인할 수 있다.


[그림38. DHCP관리콘솔-예약 활성화된 DHCP클라이언트]

관리콘솔에서도 변화가 생겼다. 주소임대 항목을 클릭해 보면 192.168.5.25의 상태가 "활성" 즉 예약된 클라이언트가 IP를 받아갔음을 보여주고 있다.

(3)사용자 클래스 사용

DHCP서비스를 사용하는 관리자들이 가끔 이런 생각을 해 왔다. 부서마다 다른 DHCP옵션을 설정할 순 없을까? 영업부서 직원들은 192.168.5.1 라우터를 사용하고, 관리부서 직원들은 192.168.5.2 라우터를 사용하게 할 수 있다면 보다 빠른 통신이 가능할텐데.... 혹은 한 네트워크에서도 일부는 192.168.5.200 DNS를 사용하고 일부는 192.168.5.230 DNS를 사용하게 한다면 사용자들은 보다 빠른 응답시간을 제공받을 수 있을텐데... 하는 생각을 할 수 있을텐데, 이러한 것들이 직접 구현이 가능해 졌다.

Windows2000의 DHCP부터 제공되는 '사용자 클래스'라는 옵션을 사용하면 가능한 작업이다. 구현을 통해서 설명한다.


[그림39.사용자 클래스 정의]

먼저 회사에서 특별히 사용자정의해서 사용할 클래스를 정의해야 한다. 예제에서는 sales 라는 클래스를 만들어 보도록 한다. 영업부서 사용자들이 DHCP로부터 할당받을 옵션이라는 뜻으로 sales라고 표기한 것이다. 큰 의미는 없다. 다만 구별하기만 쉬우면 될 일이다. DHCP관리콘솔에서 DHCP서버의 이름을 클릭하고 마우스 오른쪽 버튼을 눌러서 "사용자 클래스 정의"를 선택한다.


[그림40. 기본정의된 사용자 클래스]

이미 정의된 2개의 사용자 클래스가 있는데, 여기서 sales를 추가해야 한다. [추가]버튼을 눌러서 다음으로 진행한다.


[그림41.새 클래스 생성방법]

표시이름에는 sales라고 입력했다. 복잡한 이름보다는 가급적이면 간결한 이름을 선택하자. 사용자들의 컴퓨터마다 별도의 설정을 해야 하니 간단한 것이 좋다. 클래스를 구별하기 쉽도록 설명을 달았으며 아래의 바이너리값에는 중복되지 않는 숫자를 할당해 주면 된다. 예제에서는 "1"이라고만 입력했다. 입력을 마쳤으면 [확인]을 누른다.


[그림42.sales 사용자 클래스가 추가된 화면]


[그림43.서버 옵션 구성]

DHCP관리콘솔에서 '서버옵션'을 클릭하고 '옵션구성'메뉴를 선택한다.


[그림44.사용자 클래스 옵션 선택]

사용자 클래스 항목을 클릭해서 위에서 추가한 sales 사용자 클래스를 찾아서 클릭한다.


[그림45.sales 클래스에 별도의 라우터 옵션 설정]

선택한 sales 클래스에 별도의 DHCP옵션을 설정하는 것이 가능하다. 예제에서는 라우터 옵션으로 192.168.3.2를 할당하고 있다. 이상으로 DHCP서버 구성을 마쳤다. 이제부터 DHCP서버는 DHCP클라이언트가 요청을 보냈을 때 이 클라이언트가 어떤 클래스에 있는지를 살펴보고 sales 클래스에 소속된 클라이언트라면 sales 클래스를 위해 특별히 설정된 DHCP옵션값을 클라이언트에게 제공해 주게 된다. 그렇다면 한가지 의문이 생긴다. DHCP서버는 클라이언트가 어떤 클래스에 소속되어 있는지를 무슨 근거로 판단하는 것일까? 해답은 클래스를 구분해주는 값이 클라이언트의 DHCP요청에 포함이 되어 있다는데 있다. 그래서 DHCP클라이언트쪽에서는 특별한 설정을 통해서 자신이 sales 클래스에 속해 있음을 DHCP서버에게 알려줘야 하는데 다음과 같이
설정해 준다.


[그림46.ipconfig의 옵션 확인]

ipconfig/?를 이용하여 옵션들을 살펴보니 /showclassid, /setclassid 라는 옵션이 보인다. 이것을 사용하여 DHCP클라이언트는 자신이 속한 클래스를 정의해 주게 된다.


[그림47.ipconfig/showclassid 사용법]

DHCP클라이언트쪽에서 'ipconfig/showclassid private'를 명령을 입력해 보았다. 여기서 private는 네트워크 연결의 이름을 가리킨다. 네트워크 어댑터 카드를 지정해 주는 것이다. 잠시후 명령에 대한 응답이 오는데 DHCP서버에 추가한 sales 사용자 클래스를 확인할 수 있다.
참고
기본적으로 네트워크 어댑터 카드가 추가되면 그 연결의 이름은 "로컬 영역 연결"로 정의된다. 이것을 '이름바꾸기'를 이용해서 이름을 변경해 두면 두루두루 사용이 편리하다. 예제의 Private 라는 이름도 '로컬 영역 연결'의 이름을 바꾼 것 뿐이다. 아래의 화면을 참고한다.


이번에는 위에서 확인한 sales 클래스를 설정해 보자. ipconfig/setclassid를 이용하면 된다.


[그림47.ipconfig/setclassid를 사용한 사용자 클래스 설정]

명령프롬프트에서 'ipconfig/setclassid private sales'를 입력했다. "ipconfig/setclassid + 네트워크연결이름+사용자 클래스 이름"의 형태를 사용하는 것이다. 그러면 [그림47]에서 보듯이 DHCP Class ID가 sales 로 정의되는 것을 볼 수 있다. 이때부터 DHCP클라이언트의 DHCP브로드캐스트에는 이러한 sales라는 클래스 값까지 포함되게 되고, DHCP서버는 이 클래스를 기반으로 클라이언트에게 특별한 옵션을 할당해 주는 것이 가능하다.

(4)DHCP옵션의 적용 순서

위에서 이야기를 하다 보니 DHCP옵션을 설정하는 항목들이 나오는데 DHCP관리콘솔을 이용해서 DHCP옵션을 설정하려고 접근해 보면 꽤 여러 군데에서 옵션설정이 가능함을 알 수 있다.


[그림48.DHCP서버의 다양한 옵션구성]

위에서 보듯이 DHCP서버는 다양한 옵션 구성 메뉴를 가지고 있다. 서버옵션, 범위옵션, 예약된 클라이언트 옵션이 있고, 그런가 하면 마지막에 구성해 보았던 사용자 클래스 옵션도 있다. 이 4가지 옵션들이 어떤 순서로 적용되는 지를 정리해 본다. 옵션으로 할 수 있는 작업은 DHCP클라이언트에게 Default Gateway, DNS서버, WINS서버 등의 TCP/IP의 추가 구성요소를 설정해 준다고 설명한 바 있다.

*서버옵션 : DHCP서버에서 생성되는 모든 네트워크 범위에 공통적으로 적용될 옵션

*범위옵션 : DHCP서버에서 생성되는 각 범위마다 고유한 옵션. 예제의192.168.5.0 네트워크와 192.168.10.0 네트워크는 서로 다른 DNS서버등의 DHCP옵션을 구성하는 것이 가능하다.

*클래스 옵션 : 특정한 OS나, 미리 정의된 사용자 클래스를 가지고 있는 클라이언트에게 발급되는 DHCP옵션

*클라이언트 옵션 : 예약된 클라이언트에게 할당할 수 있는 DHCP옵션

귀찮긴 하지만 테스트를 해 보면 금방 이해할 수 있는 옵션들이다. 기본적인 사용방법은 간단하다. 모든 네트워크에 공통적으로 적용할 옵션은 '서버옵션'으로 부여하고, 003 라우터옵션 같은 각 범위마다 고유해야 하는 DHCP옵션은 범위옵션으로 설정하면 된다. 하나의 네트워크만 지원하는 DHCP서버를 구성하였다면 서버옵션과 범위옵션은 동일하다. 이들이 모두 구성되었을 때 DHCP클라이언트에게 적용되는 순서는 '서버옵션->범위옵션->클래스옵션->클라이언트옵션'와 같이 적용된다. 결국 클라이언트 옵션이 가장 우선시 되는 옵션이라는 것을 의미한다.

'Computer > Network' 카테고리의 다른 글

1~2년 내 보안·네트워크 인력난 심각해 질 것  (0) 2007.04.02
DHCP서비스의 확장 구현  (0) 2007.01.17
DHCP Client 구성  (0) 2007.01.17
DHCP서버의 구현  (0) 2007.01.17
DHCP (Dynamic Host Configuration Protocol) Service  (0) 2007.01.17