DHCP(Dynamic Host Configuration Protocol)
이번 시간에는 DCHP에 대하여 알아보겠습니다.
DHCP는 전에 IP를 배우면서 언급한 적이 있었던 것 같은데 복습해보자면 IP 주소 배정을 자동으로 실시하여 IP를 관리해주는 녀석을 말합니다.
실습할때야 PC 1~4개 정도로 하니 귀찮다는 생각이 들지 않을 수도 있지만 만약 PC가 100개라고 가정하면 IP를 입력하는데만 꽤 오랜 시간을 잡아먹을 텐데 이럴 때 필요한 것이 바로 DHCP입니다.
DHCP는 라우터를 통해서도 할 수 있지만 서버를 통해서도 할 수 있는데 먼저 라우터를 통해서 하는것을 배워보겠습니다.
<DHCP - 라우터>
위와 같이 라우터 1개, 스위치 1개, PC 7개가 있습니다.
위 상황에서 PC들에게 IP를 부여하지 않고 DHCP를 이용하여 IP를 부여해 보겠습니다.
Router(config)# int Fa 0/0
Router(config-if)# ip add 192.168.123.1 255.255.255.0
Router(config-if)# no sh
먼저 이더넷 인터페이스의 IP를 부여합니다.
Router(config)# service dhcp
DHCP 서버를 사용하겠다는 뜻인데 디폴트값이기 때문에 굳이 적지 않으셔도 됩니다.
Router(config)# ip dhcp excluded-address 192.168.123.1
Router(config)# ip dhcp excluded-address 192.168.123.255
DHCP 서버 설정 후 나눠주지 않을 IP, 즉 위 2개의 IP는 호스트에 배정하지 않겠다는 뜻입니다.
만약 본인이 특정 주소의 값을 남겨두고 싶다면 위 명령어를 사용하시면 됩니다.
Rouet(config)# ip dhcp pool light
DHCP 주소의 영역(pool)을 지정해줍니다. 이때 영역의 이름은 임의로 지어주시면 됩니다.(위에서는 light로 지정)
Router(dhcp-config)# network 192.168.123.0 255.255.255.0
영역을 설정해주면 (dhcp-config)로 바뀌는데 영역 즉 DHCP가 호스트들에게 지정해줄 IP의 범위를 작성합니다.
위에서는 192.168.123.0/24 입니다.
하지만 우리는 이미. 1과. 255는 제외했기 때문에 192.168.123.2 ~ 192.168.123.254까지의 IP를 배정할 수 있습니다.
Router(dhcp-config)# default-router 192.168.123.1
자신이 주소를 배정할 호스트들과 연결된 라우터 인터페이스의 주소를 적으시면 됩니다.
자 여기까지 마치신 후
저렇게 IP 주소를 받는 방식을 수동에서 DHCP로 바꿔주시면 자동으로 IP, S/M, D/G까지 받아옵니다.
참고로 PC 기준으로 주소 배정 방법을 먼저 바꾼 순서대로 IP 주소를 지정받습니다.
PC 1번 4번 5번 순서대로 DHCP를 지정받으면 각각 .2, .3, .4의 IP를 갖게 됩니다.
다 끝나신 후 show ip binding 명령을 통하여 현재 DHCP를 이용하고 있는 호스트들을 확인할 수 있습니다.
원래 구성에 서버가 하나 더 생겼는데 저 서버를 DCHP-Server로 이용하여 DHCP를 배정받으려고 합니다.
기존에 사용했던 라우터의 DCHP 기능은 모두 지워버린 상태이고 전 과정과 헷갈리지 않게 하기 위해 라우터의 이더넷 인터페이스는 192.123.123.1을 부여하여 192.123.123.0/24 네트워크를 사용하려고 합니다.
서버에 들어가신 후 위처럼 이름, 게이트웨이, DNS를 변경한 후 'ADD'를 눌러 오른쪽 사진처럼 입력된 것을 확인했습니다.
그 후 새로 만든 DCHP를 선택 후 인터페이스 중에 서비스를 ON 하시면 됩니다.
DHCP 서버의 IP를 바꿔 줍니다.
그리고 라우터 때처럼 주소 배정 방법을 DHCP로 변경해주시면 제대로 받은 것을 확인할 수 있습니다.
자 그럼 마지막으로 다른 네트워크에 있는 호스트에게 IP 배정을 해보도록 하겠습니다.
우리가 지금까지 배우던 네트워크에서 라우터에 호스트 하나를 더 연결했다고 생각하시면 됩니다.
당연히 기존에 IP를 DHCP를 통하여 배정했던 네트워크와는 다른 네트워크입니다.
어떻게 해야 할까요?
물론 그쪽으로도 서버 하나를 만들면 해결되기는 합니다만 우리는 기존에 서버를 가지고 IP를 배정해주고 싶습니다.
따라서 하나의 서버를 가지고 해 보도록 하겠습니다.
일단 알던 데로 DHCP 서버에 들어가서 새로운 DHCP pool을 만든 후 하던 것처럼 ip 서브넷 마스크 게이트웨이를 지정해주었습니다.
그 후 PC10번(임의로 다른 네트워크의 호스트 PC를 PC 10번이라고 하겠습니다)에 IP 배정방법을 DHCP로 바꿨더니 우리가 원하는 결과가 나오질 않습니다.
여기서 우리가 사용해줘야 하는 명령어가 있는데 바로 ip helper입니다.
ip helper 얘기를 하기에 앞서 한번 과거로 돌아가 보겠습니다.
우리가 예전에 허브-스위치(브리지)-라우터를 처음 배우면 각 장비가 어떤 문제로 인해 필요하게 되었는지를 배운 적이 있었는데 허브의 경우는 연결되는 PC가 많을수록 아무리 허브를 추가한다고 해도 결국 콜리전 도메인만 커지게 되기 때문에 속도가 느려지고 그러한 콜리전 도메인을 나눠주는 역할을 하는 것이 스위치(브리지)라고 했습니다.
하지만 스위치 역시도 스위치의 근본적인 기능, 즉 브로드캐스트 메시지가 갈 경우 스위치의 연결된 모든 PC가 그 브로드캐스트 메시지를 받게 됩니다.
허브의 콜리전 도메인을 나누듯 스위치의 브로드캐스트 도메인을 나눈 장비가 바로 라우터입니다.
즉 라우터는 브로드캐스트를 통과시키지 않습니다.
자 다시 돌아가서 PC 10번이 DHCP 서버로부터 IP를 받기 위하여 브로드캐스트를 보내는데 다른 네트워크에 있기 때문에 라우터가 이를 막습니다.
이때 사용하는 것이 ip helper입니다.
ip helper를 사용하면 라우터는 브로드캐스트를 받았으나 서버에는 유니캐스트로 전달하게 됩니다.
우리가 사용해야 할 명령어는 ip helper-address [DHCP 서버 주소]가 됩니다.
라우터에 위 명령어를 입력하신 후 PC 10번을 static에서 dhcp로 바꿔주시면 ip를 정상적으로 배정받는 것을 확인할 수 있습니다.
이상으로 DHCP를 마치겠습니다.