프로그래밍 농장

Linux [ DHCP ] 본문

Linux

Linux [ DHCP ]

Tennessee201 2019. 11. 19.
728x90

- DHCP란?  

    -> IP 자동할당 서비스

== client 나 다른 TCP/IP  기반 장비에게 IP주소를 제공하는 서비스 

== IP주소와 함께 게이트웨이(G/W) ,DNS 등 네트워크 자원에 연결할 수 있는 옵션 정보를 제공 

== DHCP client 에게 특정 기간 IP 주소를 임대해주며, 갱신 요청시 ip 주소 갱신 작업 

== DHCP server (udp,67) , DHCP client(udp,68)  포트를 사용함. 

 

 

- DHCP 동작과정 

       1. Discover   == client 가 server를 탐색 ,주소를 요청 

       2.  Offer       == server 가 client 에 응답, 할당 주소를 제공 

       3. Request    == client 가 다시 server에 IP주소 사용에 대한 승인

       4.  Ack         == server 가 client 에 IP주소 사용 승인 

            --> 위의 4가지 동작 과정을 거친 이후 client 가 인터넷 연결을 진행 

  

 

- 패키지 설치 

     --> yum -y install dhcp*   

 

 

- 관련 파일 

1)    /etc/dhcp/dhcpd.conf == dhcp 서비스 주 설정 파일 

2)    /var/lib/dhcpd/dhcpd.leases   == dhcp 서비스 데이터 베이스 파일  == 임대 정보 확인 

 

  --> 기본적으로 서비스 주 설정 파일에 별다른 내용이 없기 떄문에 참조 파일을 사용해서 서비스 설정 파일 구성 

 ex)  cp  /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf 

 

-실습 : DHCP(ip 자동할당) 동작과정 직접 확인해보기 

1. 위의 파일에 들어가서 아래 47~ 55번라인의 설명을 보고 본인의 ip에 맞게 수정후 저장

2. 클라이언트에서 서버로 접근할수 있게 서버에서 방화벽 설정까지 해주기 .

3. 이후 client의 터미널창에서 ip를 자동(dhcp)으로 할당 받아보고 dhcp(자동할당) 동작과정 확인해보기

--> client 에서 ip할당 test해보기 ==네트워크설정-> IPv4 방식을 자동(DHCP) 방식으로 돌려 놓고 확인 진행 

클라이언트 터미널창에서 하나를 더열어서 이 명령어를 쳐놓은후에 작업을하면 실시간으로 네트워크의 동작상태를 볼수있다 ( =와이어샤크와 같은기능)

   ->  tcpdump -i ens32 port bootps -v -n

- client 네트워크를 자동으로 설정해놓고 server의 수동설정해놓은 IP를 할당 요청시, 

1) network 서비스 재실행으로도 확인 가능    ex)  systemctl restart network 

2) dhclient 명령 방식으로  

ip 할당 요청  : dhclient ens32(본인 장치명)

ip 할당 해제  : dhclient -r  ens32(본인 장치명)

 

--> 결과적으로 네트워크설정을 수동으로 넣어준 server의 네트워크를 같은 네트워크 대역인, client에  나눠주는것이다. 

 

 

-서비스 주 설정 파일 내용에 대한 설명 

     47   subnet 10.5.5.0 netmask 255.255.255.224 {     -->client 에게 제공할 network id ,network 정의 


     48   range 10.5.5.26 10.5.5.30;               --> client 에게 제공할 IP주소 범위 값 


     49   option domain-name-servers ns1.internal.example.org;    --> client 에게 제공할 DNS 서버의 주소 

 
     50   option domain-name "internal.example.org";              --> client에게 제공할 DNS 서버의 도메인명 

     51   option routers 10.5.5.1;                         -->  client가 사용할 G/W 주소 (GateWay) 


     52   option broadcast-address 10.5.5.31;         --> 적용시킨 broadcast 주소 


     53   default-lease-time 600;                          --> IP임대 기간의 기본값 

 
     54   max-lease-time 7200;                             --> IP 임대 기간의 최대값 


     55 }                                                 --> 

 

-예약 IP 할당  

== 특정 client 에게 IP 주소를 예약해서 할당시 설정 

vi /etc/dhcp/dhcpd.conf   의 설명

     75 host fantasia {                                       --> IP주소를 예약해줄 client 의 host명 
     76   hardware ethernet 08:00:07:26:c0:a5;       -->  IP주소를 예약해줄 client의 MAC address 
     77   fixed-address fantasia.fugue.com;           --> 예약해줄 IP주소 값 
     78 }                                       --> 해당 영역 마침 

위처럼 vi 에디터에서 예약해줄 ip주소값과 장치(인터페이스 =ens32 ) 의 맥 주소까지 입력해준후 저장 

이후 데몬한번돌려주고, ( systenmctl restart dhcpd

이후 다시 클라이언트에서 dhclient ens32(본인장치명) 으로 할당요청해보자 . 그다음에 ifconfig ens32로 확인해보면 내가 예약해둔 ip로 들어가지는것 확인이 가능

 

 

 

 

- IP 주소 설정 방법 

 

1.  IP 수동 설정  = static  == 관리자가 직접적으로 IP주소를 할당 

   ->  IP 주소를 체계적으로 관리할수있음. == 관리자가 원하는 곳에 원하는 ip를 할당 

                                                       == 어느장비에 어떤 ip가 할당되어있는지 파악하기 쉬움 

 

2. IP 자동 설정 = DHCP == DHCP 서버에 할당 IP주소 범위를 등록시켜 놓으면 자동으로 같은 network 대역의 DHCP client 에게 IP주소를 할당시켜줌 

 

 

- IP주소 설정시 주의사항   

 

-> network id, broadcast주소는 할당하지 않는다. 

-> gateway주소는 gateway장비에만 할당.

-> 다른곳에서 사용하는 IP주소를 중복 할당하지 않는다. 

 

--> 리눅스 CLI 환경에서 network 설정시에는 /etc/sysconfig/network-scripts 경로에서 작업한다.

--> ifcfg-[interface] 형식의 파일 편집 작업 실시 .

텍스트환경에서 네트워크 관련 작업을 실시행 경로 . 이경로내에 ifcfg-ens32 (장비명) 안에서 vi 에디터를 통해 네트워크 수정등의 작업이 가능하다. 
위 경로에서 내장비를 vi로 들어온 내용들. 이내용들을 에디터로 수정하면서 네트워크 작업을 할수있다. 

TYPE=Ethernet       data link( 데이터링크 ) 계층의 타입 정의 
BOOTPROTO=none    프로토콜 타입 정의 == static :  고정 ip / dhcp  : 자동 할당 
DEVICE=ens32    network 장치명 
ONBOOT=yes      부팅시 network 활성화 여부
IPADDR=192.168.73.128  사용할 IP address 
PREFIX=24      network id // NETMASK=255.255.255.0 형식 사용도 무관 
GATEWAY=192.168.73.2  사용할 게이트웨이 주소 
DNS1=168.126.63.1 DNS 서버 주소 정의

 

   

 

728x90