DHCP 20051446 김영석 20031451 박대혁 20052951 신영주
CONTENTS 1. DHCP는 무엇인가? 2. DHCP 서버의 구현 3. DHCP Client 구성 4. DHCP의 추가기능
1. DHCP는 무엇인가? 마이크로소프트는 Windows NT Server, Windows 2000/ 2003 Server등의 서버OS 제품군에서 DHCP(Dynamic Host Configuration Protocol) 서버 서비스를 지원한다. 이때 DHCP서버로 셋팅 된 컴퓨터는 클라이언트들에게 할당할 IP Address Pool을 유지하고 있으면서 DHCP를 이용해서 IP Address발급을 요청하는 클라이언트에게 IP Address를 할당해 주게 된다.
1. DHCP는 무엇인가? DHCP서비스는 비디오 대여점의 프로세스와 유사하다. 비디오 대여점이 비디오테이프를 대여하는 것 대신에 DHCP서버는 IP Address를 대여하는 역할을 한다. 완전히 소유권이 넘어간 게 아니라 임대의 형식을 이용하는 만큼 당연히 기간이 만료되기 전에 반납을 해야 하며, 계속 임대를 원한다면 갱신 신청 보내서 임대기간을 연장해야 한다.
1. DHCP는 무엇인가? 그림에서 볼 수 있듯이 하나의 네트워크가 있고, 그 네트워크에는 DHCP 서버, DHCP 클라이언트, Non-DHCP 클라이언트가 있을 수 있다. Non-DHCP 클라이언트는 DHCP 서버로부터 IP를 할당받지 않고 수동적으로 IP를 설정한 호스트를 의미한다.
1. DHCP는 무엇인가? DHCP클라이언트는 IP Address가 변경될 수 있는(유동의) 소지가 있는 호스트이므로 IP가 변경됐을 때 네트워크의 원활한 소통에 문제가 있을 수 있는 서버로서 동작하는 컴퓨터들의 경우는 고정 IP를 할당할 수 있다. DHCP 클라이언트는 시스템이 시작됨과 동시에 DHCP서버를 찾는 메시지를 네트워크에 발송하여 IP Address임대를 요청하게 되며, DHCP서버는 이러한 클라이언트의 요청에 응답하여 자신의 DHCP Database에서 IP Address를 임대해 주게 된다.
위의 그림을 보면 4가지 단계로 나뉘어 있는 것을 알 수가 있는데 자세한 과정은 다음과 같다.
1. DHCP는 무엇인가? (1) Discover : DHCP클라이언트는 부팅이 시작되는 동안에는 IP Address를 가지고 있지 않다. 부팅이 되고 네트워크가 시작되면 먼저 IP Address를 셋팅하여 TCP/IP를 초기화하려는 시도를 한다. 그 방법으로써 DHCP서버를 찾는 요 청을 만들어서 패킷을 브로드캐스트한다. 이것이 "Discover"과정이다. (2) Offer : Discover 메시지를 받은 DHCP서버는 사용 가능한 IP Address 하나를 담은 DHCP패킷을 만들고, 역시 네트워크에 브로드캐스트를 이용해서 전파한다. 만일 한 네트워크에 여러대의 DHCP서버가 있었다면 서버마다 같은 작업을 하게 된다. 이 과정이 "Offer"이다.
1. DHCP는 무엇인가? (3) Request : DHCP 서버로부터 IP Address를 받은 DHCP클라이언트가 그 즉시 이 IP Address를 사용할 수 있는 것은 아니다. DHCP클라이언트는 서버로부터 할당 받은 IP Address와 이 IP Address를 임대해준 서버의 IP를 담은 패킷 을 만들어서 네트워크에 다시 브로드캐스트를 날린다. DHCP서버가 여러대 있어서 서버마다 클라이언트에게 각기 다른 IP Address를 발송할 수 있는 상황이 있기에 이러한 작업이 진행되는 것이다. 이 과정이 할당받은 IP를 사 용하겠다는 요청인 "Request"이다. (4) Ack : DHCP클라이언트의 Request브로드캐스트를 받은 DHCP서버는 둘 중의 한가 지 작업을 할 수 있다. 자신이 보낸 IP Address가 채택되지 않았다면 DHCP 서버는 다시 IP Database에 유지하고, 자신이 보낸 IP가 채택되었다면 IP임대 기간, DNS, Default Gateway, WINS등의 DHCP옵션값을 담은 "확인 (Acknowledgment)" 패킷을 만들어서 최종적으로 브로드캐스트한다.
1. DHCP는 무엇인가? 이것을 마지막으로 클라이언트는 TCP/IP를 초기화하고, 이때부터는 IP Address를 이용한 Unicast 통신이 가능해진다. 복잡해 보일 수 있지만 이 DHCP Broadcast가 네트워크에서 차지하는 것은 극히 일부분일 뿐이다. 중요한 것은 이 네가지 과정이 모두 브로드캐스트 통신이라는 것이다. 그것은 DHCP 클라이언트로 설정된 호스트가 DHCP서버로부터 IP Address를 얻기 전까지는 IP Address가 없다는 것에서부터 기인된다. 자신이 IP Address가 셋팅되지 않은 상태이니 DHCP서버의 특정한 IP를 향해 메시지를 날리는 것은 불가능할 수밖에 없다.
2. DHCP 서버의 구현 DHCP서비스를 구현하기 전에 가장 먼저 할 일은 서비스의 설치보다 네트워크에서 IP Address관리방법에 대한 결정이 있어야 한다. Class전체를 하나의 네트워크에서 쓸 것인지, 서브넷팅을 통해서 사용을 할 것인지에 대한 결정 되었다면 이번에는 각 네트워크마다 사용할 호스트ID의 범위 중에서 어떠한 IP를 Router에게 할당을 하고, 어떠한 IP를 서버들에게 할당을 할 것이고, 어떠한 IP를 DHCP를 통해서 클라이언트에게 할당한 것인지 등을 결정하는 과정을 의미한다.
2. DHCP 서버의 구현 간단한 예로 A회사의 IP Address 관리테이블을 만들어 보았다. IP Address관리방법에 대한 결정이 되었다면 클라이언트를 위한 DHCP서비스를 구현한다. 네트워크에는 DHCP서버가 있어야 하고, 당연히 클라이언트도 구성이 되어야 한다. DHCP서버는 네트워킹 서비스이므로 서버 제품 군에서 구현될 수 있다. 먼저 DHCP서버를 설정해 보자.
2. DHCP 서버의 구현 (1) DHCP서비스 설치
2. DHCP 서버의 구현 제어판의 프로그램추가/제거를 열고 "Windows구성요소 추가"를 선택하면 잠시 후 "Windows구성요소"창이 열린다. 리스트를 찾아보면 "네트워킹 서비스"가 있는데 이것은 DHCP, DNS, WINS 등의 네트워킹 서비스들 전체의 묶음이다 (네트워킹 서비스 앞의 체크박스를 클릭하면 전체 네트워킹 서비스들이 설치가 되므로 체크박스 대신에 글자 부분을 클릭한다) [자세히] 버튼을 누르면 리스트에서 "DHCP(동적 호스트 구성 프로토콜)"을 찾을 수 있다. 체크하고 [확인]을 누르면 설치를 시작한다. Windows2000/ 2003 원본CD-Rom이 요구된다. 원본CD중에서도 i386 폴더가 셋업을 위한 폴더이다. 원본CD위치를 묻는 메시지가 뜬다면 원본CD를 넣고 i386폴더를 지정해 주면 셋업이 시작된다.
2. DHCP 서버의 구현 잠시 후 설치가 끝났다는 메시지가 나오면 DHCP서비스가 추가된 것이다. 관리도구에 "DHCP" 라는 관리메뉴가 추가된 것을 볼 수 있다. "DHCP"를 클릭하면 DHCP 관리 콜솔창이 뜬다. 왼쪽패널의 서버이름 부분을 보면 '아래쪽으로 향한 빨간색 화살표'를 확인할 수 있다. DHCP서비스가 멈춰져 있다는 것을 말한다.
2. DHCP 서버의 구현 (2) DHCP권한부여 작업 오른쪽 패널의 설명을 읽어보면 "DHCP서버가 IP 주소를 발급하기 전에 범위를 만들고 DHCP서버에 권한을 부여해야 합니다"라고 이야기한다. 범위라 하면 클라이언트들에게 발급할 IP Address를 구성하라는 뜻인 것 같은데, 권한을 부여하라구? 이렇듯 DHCP서비스는 설치만 한다고 동작하는 것이 아니다. DHCP서버가 동작할 수 있도록 권한이 부여가 되어야만 DHCP서버는 동작을 하게 된다. 당연히 이것은 아무나 할 수 있는 작업은 아니다. 도메인에서 이러한 작업을 할 수 있는 사용자는 기본적으로 "관리자"로 제한된다. 정확히 말하면 도메인의 "Enterprise Admins"라는 그룹의 멤버가 이러한 작업을 할 수 있다.
2. DHCP 서버의 구현 이것은 어디까지나 회사의 네트워크 환경이 도메인으로 구성되어 있을 때의 이야기다. 만일 회사가 도메인 모델을 채택하지 않고 워크그룹 환경으로 구성되어 독립된 서버에서 DHCP서비스를 구현하고 있다면 이 과정은 건너뛰고 바로 (3) DHCP서버 구성으로 간다.
2. DHCP 서버의 구현 DHCP서버에 권한을 부여하기 위해서는 DHCP관리콘솔을 이용한다. 관리콘솔에서 서버이름을 클릭하고 마우스 오른쪽 버튼을 누른후 "권한부여"를 선택하면 간단히 권한이 부여된다. 권한이 부여된 DHCP서버의 리스트를 확인하거나, 여러 대의 DHCP서버를 관리하고자 한다면 다른 방법도 있다. 관리콘솔에서 DHCP항목을 클릭하고 마우스 오른쪽 버튼을 누르면 "권한이 부여된 서버관리"라는 메뉴를 볼 수가 있다
2. DHCP 서버의 구현 "권한이 부여된 서버관리"라는 메뉴를 클릭하면 Active Directory에서 권한이 부여된 DHCP서버의 리스트를 볼 수가 있고 다른 DHCP서버에게 권한을 부여하거나 리스트에서 DHCP서버를 제거하는 것도 가능하다.
2. DHCP 서버의 구현 DHCP서버에게 권한을 부여하고 나면 관리콘솔의 왼쪽패널의 서버이름 옆에 '위로 향한 녹색 화살표'를 확인할 수 있다. DHCP서비스가 시작된 것이고, 오른쪽 패널의 설명도 처음 DHCP서비스를 추가했을 때와는 다른 설명을 보여주고 있다.
2. DHCP 서버의 구현 (3) DHCP서버 구성 DHCP서비스가 시작되면 DHCP서버는 Broadcast를 통해서 DHCP Discover 메시지를 날리는 클라이언트에게 IP Address를 발급해 주어야 하는데 이렇게 하기 위해서는 당연히 DHCP서버는 클라이언트를 위한 IP Address 풀을 가지고 있어야 한다. IP Address 발급을 위한 범위를 만들고 클라이언트를 위한 추가설정을 해 주어야 하는 것이다.
2. DHCP 서버의 구현 서버이름을 클릭하고 마우스 오른쪽 버튼을 눌러서 "새 범위"를 추가한다.
2. DHCP 서버의 구현 범위이름을 입력해야 하는데, 이것은 실제 서비스와는 아무런 상관이 없다. 관리자가 알아보기 쉽게 이름과 설명을 주면 된다. 여러 개의 네트워크를 DHCP서버가 지원해야 할 때 각각의 범위를 구별하기 쉽게 이름을 부여한다. 예제에서는 '2층 네트워크'라고 입력했다.
2. DHCP 서버의 구현 DHCP클라이언트에게 발급할 IP Address의 범위와 적합한 서브넷마스크를 입력해야 한다. 하나의 DHCP서버는 하나의 네트워크당 하나의 IP범위 관리영역만 가질 수가 있다는 것을 염두에 둔다.
2. DHCP 서버의 구현 만일 192.168.5.11~100까지가 DHCP클라이언트용 IP Address라고 가정을 했을 때, 51~60까지가 서버들에게 고정IP로 발급한 부분이라서 제외하여야 한다고 하더라도 192.168.5.11~50까지의 하나의 범위를 만들고 추가로 192.168.5.61~100까지의 영역을 만들 수는 없다. 그럴 경우라도 일단은 전체범위를 잡은 다음에 고정IP로 사용할 IP가 범위에 포함되어 있다면 다음 과정에서 그 특정범위만큼을 제외하는 방법을 사용해야 한다.
2. DHCP 서버의 구현 필요하다면, IP범위 중에서 제외할 특정 IP나 IP범위를 추가한다. DHCP서버는 단순하다. 클라이언트가 IP를 요청했을 때 자신의 IP범위 중에서 사용 가능한 IP를 골라서 망설이지 않고 IP 발급을 한다.
2. DHCP 서버의 구현 만일 Web서버에게 192.168.5.20 IP Address가 셋팅되어 있다고 가정을 했을 때, DHCP서버의 설정에192.168.5.20 IP가 사용 가능한 상태로 되어 있다면 DHCP클라이언트는 192.168.5.20 IP를 발급받게 되고 결국 네트워크에서 이미 사용되고 있는 IP를 발급받은 해당 클라이언트는 정상적으로 TCP/IP를 사용할 수가 없게 된다. 간 혹의 경우에는 먼저 설정된 Web 서버가 제대로 동작하지 못하는 경우가 발생할 수도 있으므로 IP Address의 충돌이 생길 소지가 있는 부분에는 특별히 신경을 써야 한다. 위의 그림에서 보듯이 제외할 주소를 추가하는 방법은 두 가지이다. IP Address를 하나씩 추가할 수도 있고, 범위를 지정해서 추가하는 방법이 있다.
2. DHCP 서버의 구현 클라이언트에게 IP를 발급할 때 결정해 줄 임대기간을 지정한다. 기본 값은 8일이다.임대기간이 길어질수록 IP Address 갱신주기가 길어질 것이기 때문에 IP Address가 충분히 여유가 있다면 기간을 더 길 게 가져가는 것이 좋다. 크진 않지만 DHCP 관련된 네트워크 트래픽을 최소화 할 수 있는 방법이 된다. 반대의 상황이라면? 당연히 기간을 줄여야 할 것이다.
2. DHCP 서버의 구현 ※ DHCP 갱신 과정 ※ DHCP클라이언트는 IP를 발급받을 때 임대기간까지를 DHCP서버로부터 넘겨받는다. DHCP클라이언트가 서버로부터 IP Address를 발급받고 나서 계속 시스템이 켜져 있다면 DHCP클라이언트는 일정기간 후에 발급받은 IP를 계속 사용하겠다는 연장신청을 해야 한다. 그 시점이 임대기간의 50%(1/2)가 되는 시점이다. 이때의 DHCP Process는 처음과는 다르다. DHCP클라이언트가 이미 서버로부터 발급받은 정상적인 IP Address를 가지고 있으므로 Unicast를 이용한 DHCP Server와의 직접적인 (direct) 통신을 진행한다. DHCP Process의 4가지 과정 중 세, 네 번째인 Requst, Ack 절차만 밟으면 될 일이다. 아래의 그림을 통해서 살펴본다.
2. DHCP 서버의 구현 그러면 DHCP서버는 연장신청을 받아주고, 새롭게 임대기간을 설정해서 DHCP클라이언트에게 Ack 메시지로서 응답을 해 준다.
2. DHCP 서버의 구현 이러한 과정 때문에 DHCP클라이언트는 한번 받은 IP를 지속적으로 쓰는 것이 가능해 진다. 그런 이유로 안정적인 네트워크에서는 DHCP를 사용하더라도 클라이언트의 IP는 거의 고정 IP와 유사하게 동작한다. 만일 1/2 시점에서 DHCP서비스의 문제로 인하여 클라이언트가 IP Address갱신을 실패한다면? 클라이언트는 계속해서 기존의 IP Address를 가지고 정상적인 TCP/IP통신을 진행한 다음, 7/8시점에 이르면 다시 DHCP초기과정을 진행하게 된다.
2. DHCP 서버의 구현 지금까지 위에서는 클라이언트에게 발급할 IP Address와 Subnet Mask를 구성하였는데, 당연히 클라이언트들의 TCP/IP설정에는 Default Gateway, DNS, WINS등의 추가 설정이 필요하다. 이러한 사항들을 DHCP서버는 'DHCP옵션'으로 처리해 주고 있다. DHCP옵션을 구성하는 화면이 나오는데 지금 구성할 수도 있고, 나중에 추가로 작업하는 것도 가능하다. "아니오"를 통해서 마법사를 마쳐도 기본적인 DHCP구성은 마쳐진 것이다.
2. DHCP 서버의 구현 클라이언트에게 할당할 Router, 즉 Default Gateway로 설정될 IP Address를 입력하고 [추가]버튼을 눌러준다.
2. DHCP 서버의 구현 DNS를 구성하는 과정인데 위의 그림처럼 IP주소만 입력해 주어도 동작하는 데는 문제가 없다.
2. DHCP 서버의 구현 그렇지만 도메인 환경에서의 작업을 고려한다면 부모도메인의 항목에도 도메인 이름을 입력할 필요가 있다. 예를 들어서 사용자가 속한 도메인이 'paran.com'이라고 하면 '부모도메인'항목에 'paran.com'이라고 입력을 한다. 그렇게 해 주면 사용자가 hostA.paran.com 이라는 이름의 호스트를 찾고자 할 때 hostA 라고만 입력을 해도 실제 DNS에 쿼리가 날아갈 때는 hostA.paran.com 라는 이름으로 요청을 하게 된다. DNS서버의 IP를 하나만 주는 것보다는 2개를 할당하여 하나의 DNS서버가 문제가 있을 경우를 대비하는 것이 좋다. DHCP클라이언트는 DNS서버의 IP를 2개를 가지게 되며 첫 번째 DNS서버가 문제가 있을 시 두 번째 DNS서버를 통해서 "Host Name Resolution"을 처리할 수 있다.
2. DHCP 서버의 구현 WINS서버의 IP를 입력한다. 역시 하나보다는 두 개를 사용하는 것이 좋다. 물론 네트워크에 WINS서버가 적어도 2개 이상 있다는 전제가 따라야 한다.
2. DHCP 서버의 구현 옵션구성이 끝났다.
2. DHCP 서버의 구현 네트워크의 IP범위를 활성화 할 필요가 있다. 활성화 하기 전까지는 DHCP서버는 클라이언트의 요청에 응답하지 않는다. 만일 추가로 구성을 더 해야 할 필요가 있다면 "아니오. 나중에 활성화하겠습니다."를 선택해서 DHCP서버가 IP를 발급하지 못하도록 한다. 나중에 DHCP관리콘솔을 통해서 얼마든지 활성화 작업은 가능하다. 다음화면으로 넘어가서 DHCP서버에 '새 범위 마법사'를 완료한다.
3. DHCP Client 구성 호스트가 DHCP Server에 IP Address를 요청하게 하기 위해서는 간단한 설정이 필요하다. DHCP Client로 설정을 해 주어야 한다. 먼저 TCP/IP등록정보를 띄워야 하는데, 바탕화면의 "네트워크 환경"을 마우스 오른쪽 클릭하여 "등록정보"로 접근하여 네트워크 등록정보를 띄워야 한다.
3. DHCP Client 구성 이 어댑터 카드에 연결된 항목들의 리스트가 보이는데 인터넷 프로토콜(TCP/IP)을 선택하고 '속성'버튼을 누르면 TCP/IP등록정보로 접근할 수 있다.
3. DHCP Client 구성 TCP/IP등록정보를 열면 IP를 구성하는 방법이 두 가지임을 알 수 있다.
3. DHCP Client 구성 자동으로 받는 방법과 다음IP주소 사용이라는 수동으로 구성하는 방법이 있다. "여기서 자동으로 IP주소받기"를 선택하면 바로 DHCP클라이언트가 되는 것이다. 구성을 하고 [확인]버튼을 누르면 Windows2000 이전버전의 OS에서는 시스템 다시 시작을 해야 하고, Windows2000이상의 경우는 그 즉시 DHCP초기 프로세스를 진행하게 된다."아래쪽에 자동으로 DNS서버주소받기" 옵션도 사용 가능한 상태로 되는데 이것만 DHCP를 통해서 받지 않고 수동설정도 가능하다.
3. DHCP Client 구성 수동으로 설정하면 DHCP서버가 할당해 주는 것보다는 우선해서 사용된다. 별도로 DNS서버 설정을 따로 할 이유가 없다. 역시 자동으로 할당 받도록 구성을 한다. 이제 DHCP클라이언트 구성을 마쳤다. 클라이언트쪽에서 자신이 할당 받은 IP ddress를 확인하려면 특별한 명령어를 사용하면 된다. ipconfig 가 그것이다. ipconfig에 대한 자세한 사용법을 원한다면 명령프롬프트를 열고 "ipconfig/?"라고 타이핑해 보자. ( 명령프롬프트에서 쓸 수 있는 명령어는 꽤 많다. 전체 명령어를 알려면 help 라고만 입력해 본다. help를 통해서 나오는 명령어들 하나하나가 특별한 옵션을 가지고 있는데 각 명령어들의 사용법은 역시 help나 /?를 통해서 알아 볼 수 있다. )
3. DHCP Client 구성 그림에서는 ipconfig/all을 통해서 얻은 결과를 보여주고 있다. bluexp라는 이름의 호스트는 IP Address로써 192.168.5.11을 사용하며 Default Gateway, DNS, WINS 등도 각각 할당되어 있음을 볼 수 있다. 그림에서 하이라이트 된 부분을 보면 DHCP Server가 192.168.5.1임을 알 수 있다. Lease Expires 라는 항목을 통해서 이 IP의 임대기간을 확인할 수도 있다.
3. DHCP Client 구성 당연히 DHCP서버쪽에서도 변화가 있어났다. DHCP관리콘솔을 열고 '주소임대'를 클릭해 보면 위의 그림에서 오른쪽 패널에서 bluexp라는 이름의 호스트에게 192.168.5.11 IP를 발급했음을 알 수가 있다.
3. DHCP Client 구성 테스트 환경에서는 다음과 같은 커맨드도 유용하다. ipconfig/release, ipconfig/renew를 통해서 수동으로 DHCP Server로부터 할당받은 IP Address를 반납하고, 다시 받아오는 것을 확인할 수 있다.
4. DHCP의 추가기능 (1) DHCP클라이언트에게 특정 IP Address 예약 기본적으로 DHCP서버는 클라이언트의 DHCP요청에 대하여 사용 가능한 첫 번째 IP를 발급하여 주게 된다. 만일 bluexp라는 이름의 호스트에게 반드시 특별한 IP Address를 발급하고자 한다면 예약을 통해서 구현해 줄 수가 있다. IP가 변경되어서는 안되는 서비스를 하고 있는 컴퓨터의 경우에는 이러한 방법을 이용할 수가 있다.
4. DHCP의 추가기능 DHCP관리콘솔의 클라이언트에게 발급할 IP를 포함하고 있는 범위를 클릭하고, '예약'을 클릭한다.
4. DHCP의 추가기능 예약이름은 단순한 표기에 지나지 않는다.
4. 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을 이용하면 간단히 얻을 수 있다.
4. DHCP의 추가기능 예약을 하면 관리콘솔에서는 예약된 클라이언트의 범위를 확인할 수 있고, DHCP서버는 이 IP를 사용 가능한 IP에서 제외시켜서 다른 클라이언트에게는 할당하지 않고 "예약 비활성"상태로만 유지한다.
4. DHCP의 추가기능 bluexp DHCP Client에서 ipconfig/renew를 이용해서 IP를 갱신요청을 했더니 기존에 받았던 192.168.5.11을 반납하고 192.168.5.25 라는 예약된 IP를 받아온 것을 확인할 수 있다.
4. DHCP의 추가기능 관리콘솔에서도 변화가 생겼다. 주소임대 항목을 클릭해 보면 192.168.5.25의 상태가 "활성" 즉 예약된 클라이언트가 IP를 받아갔음을 보여주고 있다.
4. DHCP의 추가기능 (2)사용자 클래스 사용 DHCP서비스를 사용하는 관리자들이 가끔 이런 생각을 해 왔다. 부서마다 다른 DHCP옵션을 설정할 순 없을까? 영업부서 직원들은 192.168.5.1 라우터를 사용하고, 관리부서 직원들은 192.168.5.2 라우터를 사용하게 할 수 있다면 보다 빠른 통신이 가능할텐데... 혹은 한 네트워크에서도 일부는 192.168.5.200 DNS를 사용하고 일부는 192.168.5.230 DNS를 사용하게 한다면 사용자들은 보다 빠른 응답시간을 제공받을 수 있을텐데... 하는 생각을 할 수 있을텐데, 이러한 것들이 직접 구현이 가능해 졌다.
4. DHCP의 추가기능 '사용자 클래스'라는 옵션을 사용하면 가능한 작업이다.
4. DHCP의 추가기능 먼저 회사에서 특별히 사용자 정의해서 사용할 클래스를 정의해야 한다. 예를 들어 sales 라는 클래스를 만들어 보도록 한다. 영업부서 사용자들이 DHCP로부터 할당 받을 옵션이라는 뜻으로 sales라고 표기한 것이다. 큰 의미는 없다. DHCP관리콘솔에서 DHCP서버의 이름을 클릭하고 마우스 오른쪽 버튼을 눌러서 "사용자 클래스 정의"를 선택한다. 이미 정의된 2개의 사용자 클래스가 있는데, 여기서 sales를 추가해야 한다. [추가]버튼을 눌러서 다음으로 진행한다.
4. DHCP의 추가기능 표시이름에는 sales라고 입력했다. 클래스를 구별하기 쉽도록 설명을 달았으며 아래의 바이너리값에는 중복되지 않는 숫자를 할당해 주면 된다. 위에서는 "1"이라고만 입력했다. 입력을 마쳤으면 [확인]을 누른다.
4. DHCP의 추가기능 ‘sales’ 항목이 추가되었음을 확인하고 닫기를 누른다.
4. DHCP의 추가기능 DHCP관리콘솔에서 '서버옵션'을 클릭하고 '옵션구성'메뉴를 선택한다.
4. DHCP의 추가기능 사용자 클래스 항목을 클릭해서 위에서 추가한 sales 사용자 클래스를 찾아서 클릭한다.
4. DHCP의 추가기능 선택한 sales 클래스에 별도의 DHCP옵션을 설정하는 것이 가능하다. 위에서는 라우터 옵션으로 192.168.3.2를 할당하고 있다. 이것으로 DHCP서버 구성을 마쳤다. 이제부터 DHCP서버는 DHCP클라이언트가 요청을 보냈을 때 이 클라이언트가 어떤 클래스에 있는지를 살펴보고 sales 클래스에 소속된 클라이언트라면 sales 클래스를 위해 특별히 설정된 DHCP옵션값을 클라이언트에게 제공해 주게 된다. 그렇다면 한가지 의문이 생긴다. DHCP서버는 클라이언트가 어떤 클래스에 소속되어 있는지를 무슨 근거로 판단하는 것일까? 답은 클래스를 구분해주는 값이 클라이언트의 DHCP요청에 포함이 되어 있다는데 있다. 그래서 DHCP클라이언트 쪽에서는 특별한 설정을 통해서 자신이 sales 클래스에 속해 있음을 DHCP서버에게 알려줘야 하는데 그것은 다음과 같이 설정해 준다. ipconfig/?를 이용하여 옵션들을 보니 /showclassid, /setclassid 라는 옵션이 있다. 이것을 사용하여 DHCP클라이언트는 자신이 속한 클래스를 정의해 주게 된다.
4. DHCP의 추가기능 DHCP클라이언트쪽에서 'ipconfig/showclassid private'를 명령을 입력해 보았다. 여기서 private는 네트워크 연결의 이름을 가리킨다. 네트워크 어댑터 카드를 지정해 주는 것이다. 잠시 후 명령에 대한 응답이 오는데 DHCP서버에 추가한 sales 사용자 클래스를 확인할 수 있다.
4. DHCP의 추가기능 이번에는 위에서 확인한 sales 클래스를 설정해 보자. ipconfig/setclassid를 이용하면 된다
4. DHCP의 추가기능 명령프롬프트에서 'ipconfig/setclassid private sales'를 입력했다. "ipconfig/setclassid + 네트워크연결이름+사용자 클래스 이름"의 형태를 사용하는 것이다. 그러면 그림에서 보듯이 DHCP Class ID가 sales 로 정의되는 것을 볼 수 있다. 이때부터 DHCP클라이언트의 DHCP브로드캐스트에는 이러한 sales라는 클래스 값까지 포함되게 되고, DHCP서버는 이 클래스를 기반으로 클라이언트에게 특별한 옵션을 할당해 주는 것이 가능하다.
4. DHCP의 추가기능 (3)DHCP옵션의 적용 순서 위에서 이야기를 하다 보니 DHCP옵션을 설정하는 항목들이 나오는데 DHCP관리콘솔을 이용해서 DHCP옵션을 설정하려고 접근해 보면 꽤 여러 군데에서 옵션설정이 가능함을 알 수 있다. DHCP서버는 다양한 옵션 구성 메뉴를 가지고 있다. 서버옵션, 범위옵션, 예약된 클라이언트 옵션이 있고, 그런가 하면 마지막에 구성해 보았던 사용자 클래스 옵션도 있다. 이 4가지 옵션들이 어떤 순서로 적용되는 지를 정리해 본다. 옵션으로 할 수 있는 작업은 DHCP클라이언트에게 Default Gateway, DNS서버, WINS서버 등의 TCP/IP의 추가 구성요소를 설정해 주는 일이다.
4. DHCP의 추가기능
4. DHCP의 추가기능 *서버옵션 : DHCP서버에서 생성되는 모든 네트워크 범위에 공통적으로 적용될 옵션 *범위옵션 *서버옵션 : DHCP서버에서 생성되는 모든 네트워크 범위에 공통적으로 적용될 옵션 *범위옵션 : DHCP서버에서 생성되는 각 범위마다 고유한 옵션. 위의192.168.5.0 네트워크와 192.168.10.0 네트워크는 서로 다른 DNS서버 등의 DHCP옵션을 구성하는 것이 가능하다. *클래스 옵션 : 특정한 OS나, 미리 정의된 사용자 클래스를 가지고 있는 클라이언트에게 발급되는 DHCP옵션 *클라이언트 옵션 : 예약된 클라이언트에게 할당할 수 있는 DHCP옵션
4. DHCP의 추가기능 기본적인 사용방법은 간단하다. 모든 네트워크에 공통적으로 적용할 옵션은 '서버옵션'으로 부여하고, 003 라우터옵션 같은 각 범위마다 고유해야 하는 DHCP옵션은 범위옵션으로 설정하면 된다. 하나의 네트워크만 지원하는 DHCP서버를 구성하였다면 서버옵션과 범위옵션은 동일하다. 이들이 모두 구성되었을 때 DHCP클라이언트에게 적용되는 순서는 '서버옵션->범위옵션->클래스옵션->클라이언트옵션'와 같이 적용된다. 결국 클라이언트 옵션이 가장 우선시 되는 옵션이라는 것을 의미한다.