본문 바로가기

DevOps/Linux

[Linux] Linux DHCP 서비스

DHCP 서비스

# 시스템의 IP 게이트웨이, 넷마스크, DNS 서버 네가지가 기본적으로 세팅이 되어야지 네트워크 통신이 가능하다. 이러한 네트워크 인터페이스 설정 값을 자동으로 설정해주는 것이 DHCP 서비스이다. 컴퓨터를 껐다가 키면 자동으로 설정을 해준다.

# 우리 시스템이 Broadcast를 날린다음 DHCP 서버로부터 IP 넷마스크 DNS 정보를 받아와서 자동으로 세팅을 한다.

# 즉, 컴퓨터가 부팅을 할 때 자동으로 IP, 서브넷마스크, 게이트웨이, DNS 서버를 할당

# 한정된 IP를 유용하게 사용한다

# 네트워크를 잘 모르는 사람도 쉡게 네트워크를 세팅하고 인터넷을 할 수 있게 해준다.

우리 네트워크 설정을 보면 해당 사진과 같이 자동으로 IP, DNS받기가 설정되어 있다.


DHCP 실습

# 윈도우 서버에서 Linux 서버에 핑이 가는지 확인을 한다.

10.0.2.10 ( Linux ) 서버로 원활하게 통신이 되는중이다.

# 원활한 실습을 위해 DHCP 설정을 모두 비활성화 한다.

# VirtualBox의 기본 DHCP서버 비활성화와 더불어 NAT 네트워크의 DHCP도 OFF한다

 

# 이후 윈도우 운영체제 VM과 VirtualBox를 재부팅 시켜보자

# 윈도우 cmd 에서 ipconfig를 하게되면 DHCP를 껏음에도 불구하고 아이피가 남아있다.

# 아래 명령어들을 실행

ipconfig /release
ipconfig /renew

DHCP 서버 구축

# Linux에서 dhcp 서비스를 install 한다

yum -y install dhcp

# 이후 아래의 명령어를 통해 dnsmasq가 켜져있는지 확인을 한다.

ps -ef | grep dnsmasq
nobody    1785     1  0 15:51 ?        00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root      1786  1785  0 15:51 ?        00:00:00 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
root      2630  2530  0 16:19 pts/1    00:00:00 grep --color=auto dnsmasq

# dnsmasq는 DHCP 서버를 지원하는 데몬이기 때문에 실습과 충돌이 있을 수 있으므로 종료 후 disable

kill -9 1785
systemctl disable dnsmasq

 

# DHCP 세팅을 NATNetwork로 세팅을 하자

# 아래 명령어를 통해 vi 편집기로 세팅을 하자

vi /etc/dhcp/dhcpd.conf
마지막줄에 추가
ddns-update-style interim;
subnet  10.0.2.0        netmask 255.255.255.0   {
        option  routers 10.0.2.1;
        option  subnetmask      255.255.255.0;
        range   dynamic-bootp   10.0.2.100      10.0.2.150;
        option  domain-name-servers     8.8.8.8;
        default-lease-time      10000;
        max-lease-time  50000;
}
ddns-update-style interim;
subnet  10.0.2.0        netmask 255.255.255.0   {
        option  routers 10.0.2.1;
        option  subnet-mask     255.255.255.0;
        range   dynamic-bootp   10.0.2.100      10.0.2.150;
        option  domain-name-servers     8.8.8.8;
        default-lease-time      10000;
        max-lease-time  50000;
}

# interim이라는 옵션으로 세팅

# 10.0.2.1 은 게이트웨이 설정

# 서브넷 마스크는 255.255.255.0 으로 설정

# range는 빌려줄 아이피 대역 100~150 사이의 아이피를 빌려준다는 의미이며 저 사이에서 IP 세팅이 이루어짐

# DNS 서버는 8.8.8.8로 세팅이 됨

# 기본 임대 시간은 10000초동안 임대해 준다는 의미이며 그 이후에는 임대를 새로 갱신

# 최대 50000초 가지 세팅을 할 수 있다. 50000초 이후에는 더이상 새로운 갱신이 되지 않는다는 의미이다.

 

firewall-cmd --permanent --add-service=dhcp
firewall-cmd --permanent --add-service=dhcpv6
firewall-cmd --reload

 

# 이렇게 진행하게 되면 IP의 세팅이 바뀌어 있다.