1. DHCP에 대하여
DHCP의 정의
DHCP는 Dynamic Host Configuration Protocol 즉 동적 호스트 구성 프로토콜을 의미한다.
자동으로 IP를 호스트하는 IP 주소 및 서브넷 마스크 및 기본 게이트웨이 등 기타 관련된 구성 정보를 제공한다.
DHCP의 구성
1) DHCP 서버
DHCP서버는 네트워크 인터페이스를 위해 IP 주소를 갖고 있는 서버에서 실행되는 프로그램
→ 일정한 범위의 IP 주소를 다른 클라이언트에게 할당해 자동으로 설정해주는 역할
→ 서버는 클라이언트에게 할당된 IP 주소를 변경없이 유지해줄 수 있음
2) DHCP 클라이언트
클라이언트는 시스템이 시작하면 서버에 자신의 시스템을 위한 IP 주소를 요청
→ TCP/IP 설정은 초기화
→ 다른 호스트와 TCP/IP를 사용해서 통신
= 즉 서버에게 IP를 할당받으면 TCP/IP 통신을 할 수 있다!

3) DHCP 동작 과정

a. 장치는 네트워크 연결 시 IP 주소를 요청
b. 요청이 DHCP 서버로 전달
c. 서버는 주소를 할당하고 주소의 이용을 모니터링 → 장치 연결 해제 시 주소를 반환
d. 해당 IP 주소는 다른 장치에 재할당 가능 + 내부 및 공용 네트워크와 통신 O
4) DHCP의 IP 주소 할당 방식
a. 동적 할당
관리자가 DHCP에 IP 주소를 유보해놓는 경우에 동적 할당 활용
로컬 네트워크에 있는 DHCP 클라이언트는 네트워크 초기화 단계에서 DHCP 서버 로부터 IP를 요청
이 모든 과정은 DHCP 서버가 이용되지 않은 IP 주소를 다시 클레임하고 다시 할당할 수 있는 시간 동안 진행
b. 자동 할당
DHCP 서버는 관리자가 정한 규칙에 따라 IP 주소를 클라이언트에 영구 할당
자동 할당 방식은 DHCP 서버에 이전 IP 주소 할당 데이터가 있고 동일한 IP 주소를 동일한 클라이언트에게 재할당
c. 수동 할당
관리자가 각 클라이언트에 대한 고유한 식별자를 IP 주소에 수동 할당
5) DHCP 장단점
a. 신뢰성 높은 DHCP IP 주소 구성
DHCP는 동일한 IP 주소를 이용하는 두 명의 사용자 사이의 충돌을 방지
이러한 충돌이 발생하는 경우 두 명의 사용자 모두 인터넷에 연결하지 못함
b. 높은 이동성
DHCP는 높은 이동성을 보장
사용자는 네트워크 범위 내에서 어디서든지 모바일 장치를 이용 가능
c. 효율적인 네트워크 관리
DHCP를 사용하면 별도의 IP 할당 서버가 필요 없음
→ 네트워크 관리 효율성 개선
d. IP 체계의 유연성
DHCP를 이용하면 최종 사용자에게 지장을 주지 않으면서 IP 주소 체계를 손쉽게 변경 가능
6) DHCP 보안 문제
승인받지 않은 DHCP 서버가 잘못된 정보를 클라이언트에게 제공 가능
승인받지 않은 클라이언트가 DHCP 서버를 가로채 리소스에 대한 접근 권한 획득 가능
악성 클라이언트가 DHCP 리소스를 소모 가능
이러한 보안 문제는 디도스 공격(DDoS) 및 중간자 공격 + 허위 사이트나 악성 사이트로 사용자를 리디렉션하는 DNS 스푸핑이 발생 가능 그러나 DHCP 메시지를 태그 지정하거나 네트워크 액세스 제어함으로써 이를 방지할 수 있다. |
2. DHCP 설치

sudo 명령어를 사용하여 관리자 모드로 접속한다.
이후 소스설치를 위해 wget “설치할 아카이브 파일 웹 경로”를 입력한다.

이후 ./configure + make + make install 과정이 필요하지 않은 deb 파일을 다운받아 압축을 품과 동시에 설치 하기 위해
sudo dpkg -i isc-dhcp-server_4.3.5-3ubuntu7.4_amd64.deb 명령어를 사용한다.
그런데 의존성 문제라는 에러가 발생했다.
이는 다양한 패키지의 추가 설치가 필요하기 때문이므로 sudo apt-get upgrade를 다시 실행해주었다.

그런데 의존성이 맞지 않다는 오류가 다시 발생하였고, apt –fix-broken install을 시도해보았다.

–fix broken install 명령어로 의존성을 바로잡고, install isc-dhcp-server 명령어로 dhcp 패키지를 다시 다운받아 주었다.

sudo vi /etc/dhcp/dhcpd.conf 명령어로 dhcpd.conf 즉 dhcp 설정 파일을 열어서
subnet을 1.0.0.0 netmask 255.255.255.0 = 동적 할당할 네트워크를 설정해주었다.

range를 1.0.0.18~1.0.0.20으로 설정해주어 클라이언트에게 할당할 IP 범위를 지정해주었고 클라이언트는 해당 범위 내의 IP를 동적으로 할당받는다.
range | 클라이언트에게 할당할 IP 범위를 지정 |
option domain-name | 도메인명을 지정 |
option domain-name-server | 네임 서버를 지정 |
option routers | 게이트웨이 주소를 지정 |
option broadcast-address | 브로드캐스트 주소를 지정 |
default-lease-time | 임대요청 만료시간을 초단위로 지정 |
max-lease-time | 클라이언트가 가지고 IP를 가지고 있을 최대 시간을 초단위로 지정 |

ifconfig 명령어로 현재 컴퓨터의 IP 주소와 실행중인 인터페이스명을 확인한다.
현재 실행중인 인터페이스는 enp2s0이며 IP는 192.168.131.124이다.

해당 파일은 /etc/default/isc-dhcp-server로 DHCP를 수행할 인터페이스를 지정하는 파일이다.
앞서 확인한 인터페이스명인 enp2s0으로 지정해주면 된다.

모든 설정이 마무리 되었고 이제 실행을 앞두고 있다.
sudo service isc-dhcp-server restart 명령어로 DHCP 서비스를 재실행하고 sudo service isc-dhcp-server status 명령어로 현재 상태를 확인해보았는데 active : failed이 출력되었다.
이는 데몬이 정상적으로 실행되고 있지 않다는 뜻이다.
그런데 /etc/dhcp 경로로 이동해서 데몬을 ./dhcpd를 실행해보았더니 conf 파일에 중괄호를 똑바로 닫아주지 않아서 문제가 발생하고 있었다. 그래서 중괄호를 정상적으로 닫아주고 다시 서버를 재실행 해보았지만 여전히 데몬이 실행되지 않고 있었다.
문제는 ifconfig 명령어로 DHCP서버의 IP주소를 할당해주지 않아서 발생한 것이였다.
ifconfig [인터페이스명] [서브넷에 할당한 IP 주소]
= ifconfig enp2s0 1.0.0.1을 입력하여 DHCP 서버의 IP 주소를 할당하고 서버를 재실행했더니 이번엔 데몬이 정상적으로 구동되는 것을 확인하였다.

3. Window로 확인

<순서>
1. 서버 컴퓨터(Ubuntu 컴퓨터)와 연결을 테스트할 컴퓨터(Window 컴퓨터)를 랜선 2개와 라우터로 연결한다.
2. 컴퓨터 네트워크 설정에 들어간 후 어댑터 속성을 변경해준다.
3. 연결한 Window 컴퓨터에서 ifconfig 명령어를 쳤을 때 이더넷 2에서
설정한 DNS 도메인명과 설정해주었던 range 내의 IP(1.0.0.18)가 IPv4에 정상적으로 출력되는 것을 확인하였다.
'Server > Ubuntu' 카테고리의 다른 글
[Ubuntu] Ubuntu 22.04.1 LTS에 메일 서버 구축 (0) | 2023.02.23 |
---|---|
[Ubuntu] Ubuntu 22.04.1 LTS에 웹서버(Apache) 구축 (소스 설치) (0) | 2023.02.21 |
[Ubuntu] Ubuntu 22.04.1 LTS에 Telnet 서버 구축 (0) | 2023.02.10 |
[Ubuntu] Ubuntu 22.04.1 LTS에 FTP 서버 구축 (0) | 2023.02.10 |
[Ubuntu] Ubuntu 22.04.1 LTS에 SSH 서버 구축 (0) | 2023.02.04 |
1. DHCP에 대하여
DHCP의 정의
DHCP는 Dynamic Host Configuration Protocol 즉 동적 호스트 구성 프로토콜을 의미한다.
자동으로 IP를 호스트하는 IP 주소 및 서브넷 마스크 및 기본 게이트웨이 등 기타 관련된 구성 정보를 제공한다.
DHCP의 구성
1) DHCP 서버
DHCP서버는 네트워크 인터페이스를 위해 IP 주소를 갖고 있는 서버에서 실행되는 프로그램
→ 일정한 범위의 IP 주소를 다른 클라이언트에게 할당해 자동으로 설정해주는 역할
→ 서버는 클라이언트에게 할당된 IP 주소를 변경없이 유지해줄 수 있음
2) DHCP 클라이언트
클라이언트는 시스템이 시작하면 서버에 자신의 시스템을 위한 IP 주소를 요청
→ TCP/IP 설정은 초기화
→ 다른 호스트와 TCP/IP를 사용해서 통신
= 즉 서버에게 IP를 할당받으면 TCP/IP 통신을 할 수 있다!

3) DHCP 동작 과정

a. 장치는 네트워크 연결 시 IP 주소를 요청
b. 요청이 DHCP 서버로 전달
c. 서버는 주소를 할당하고 주소의 이용을 모니터링 → 장치 연결 해제 시 주소를 반환
d. 해당 IP 주소는 다른 장치에 재할당 가능 + 내부 및 공용 네트워크와 통신 O
4) DHCP의 IP 주소 할당 방식
a. 동적 할당
관리자가 DHCP에 IP 주소를 유보해놓는 경우에 동적 할당 활용
로컬 네트워크에 있는 DHCP 클라이언트는 네트워크 초기화 단계에서 DHCP 서버 로부터 IP를 요청
이 모든 과정은 DHCP 서버가 이용되지 않은 IP 주소를 다시 클레임하고 다시 할당할 수 있는 시간 동안 진행
b. 자동 할당
DHCP 서버는 관리자가 정한 규칙에 따라 IP 주소를 클라이언트에 영구 할당
자동 할당 방식은 DHCP 서버에 이전 IP 주소 할당 데이터가 있고 동일한 IP 주소를 동일한 클라이언트에게 재할당
c. 수동 할당
관리자가 각 클라이언트에 대한 고유한 식별자를 IP 주소에 수동 할당
5) DHCP 장단점
a. 신뢰성 높은 DHCP IP 주소 구성
DHCP는 동일한 IP 주소를 이용하는 두 명의 사용자 사이의 충돌을 방지
이러한 충돌이 발생하는 경우 두 명의 사용자 모두 인터넷에 연결하지 못함
b. 높은 이동성
DHCP는 높은 이동성을 보장
사용자는 네트워크 범위 내에서 어디서든지 모바일 장치를 이용 가능
c. 효율적인 네트워크 관리
DHCP를 사용하면 별도의 IP 할당 서버가 필요 없음
→ 네트워크 관리 효율성 개선
d. IP 체계의 유연성
DHCP를 이용하면 최종 사용자에게 지장을 주지 않으면서 IP 주소 체계를 손쉽게 변경 가능
6) DHCP 보안 문제
승인받지 않은 DHCP 서버가 잘못된 정보를 클라이언트에게 제공 가능
승인받지 않은 클라이언트가 DHCP 서버를 가로채 리소스에 대한 접근 권한 획득 가능
악성 클라이언트가 DHCP 리소스를 소모 가능
이러한 보안 문제는 디도스 공격(DDoS) 및 중간자 공격 + 허위 사이트나 악성 사이트로 사용자를 리디렉션하는 DNS 스푸핑이 발생 가능 그러나 DHCP 메시지를 태그 지정하거나 네트워크 액세스 제어함으로써 이를 방지할 수 있다. |
2. DHCP 설치

sudo 명령어를 사용하여 관리자 모드로 접속한다.
이후 소스설치를 위해 wget “설치할 아카이브 파일 웹 경로”를 입력한다.

이후 ./configure + make + make install 과정이 필요하지 않은 deb 파일을 다운받아 압축을 품과 동시에 설치 하기 위해
sudo dpkg -i isc-dhcp-server_4.3.5-3ubuntu7.4_amd64.deb 명령어를 사용한다.
그런데 의존성 문제라는 에러가 발생했다.
이는 다양한 패키지의 추가 설치가 필요하기 때문이므로 sudo apt-get upgrade를 다시 실행해주었다.

그런데 의존성이 맞지 않다는 오류가 다시 발생하였고, apt –fix-broken install을 시도해보았다.

–fix broken install 명령어로 의존성을 바로잡고, install isc-dhcp-server 명령어로 dhcp 패키지를 다시 다운받아 주었다.

sudo vi /etc/dhcp/dhcpd.conf 명령어로 dhcpd.conf 즉 dhcp 설정 파일을 열어서
subnet을 1.0.0.0 netmask 255.255.255.0 = 동적 할당할 네트워크를 설정해주었다.

range를 1.0.0.18~1.0.0.20으로 설정해주어 클라이언트에게 할당할 IP 범위를 지정해주었고 클라이언트는 해당 범위 내의 IP를 동적으로 할당받는다.
range | 클라이언트에게 할당할 IP 범위를 지정 |
option domain-name | 도메인명을 지정 |
option domain-name-server | 네임 서버를 지정 |
option routers | 게이트웨이 주소를 지정 |
option broadcast-address | 브로드캐스트 주소를 지정 |
default-lease-time | 임대요청 만료시간을 초단위로 지정 |
max-lease-time | 클라이언트가 가지고 IP를 가지고 있을 최대 시간을 초단위로 지정 |

ifconfig 명령어로 현재 컴퓨터의 IP 주소와 실행중인 인터페이스명을 확인한다.
현재 실행중인 인터페이스는 enp2s0이며 IP는 192.168.131.124이다.

해당 파일은 /etc/default/isc-dhcp-server로 DHCP를 수행할 인터페이스를 지정하는 파일이다.
앞서 확인한 인터페이스명인 enp2s0으로 지정해주면 된다.

모든 설정이 마무리 되었고 이제 실행을 앞두고 있다.
sudo service isc-dhcp-server restart 명령어로 DHCP 서비스를 재실행하고 sudo service isc-dhcp-server status 명령어로 현재 상태를 확인해보았는데 active : failed이 출력되었다.
이는 데몬이 정상적으로 실행되고 있지 않다는 뜻이다.
그런데 /etc/dhcp 경로로 이동해서 데몬을 ./dhcpd를 실행해보았더니 conf 파일에 중괄호를 똑바로 닫아주지 않아서 문제가 발생하고 있었다. 그래서 중괄호를 정상적으로 닫아주고 다시 서버를 재실행 해보았지만 여전히 데몬이 실행되지 않고 있었다.
문제는 ifconfig 명령어로 DHCP서버의 IP주소를 할당해주지 않아서 발생한 것이였다.
ifconfig [인터페이스명] [서브넷에 할당한 IP 주소]
= ifconfig enp2s0 1.0.0.1을 입력하여 DHCP 서버의 IP 주소를 할당하고 서버를 재실행했더니 이번엔 데몬이 정상적으로 구동되는 것을 확인하였다.

3. Window로 확인

<순서>
1. 서버 컴퓨터(Ubuntu 컴퓨터)와 연결을 테스트할 컴퓨터(Window 컴퓨터)를 랜선 2개와 라우터로 연결한다.
2. 컴퓨터 네트워크 설정에 들어간 후 어댑터 속성을 변경해준다.
3. 연결한 Window 컴퓨터에서 ifconfig 명령어를 쳤을 때 이더넷 2에서
설정한 DNS 도메인명과 설정해주었던 range 내의 IP(1.0.0.18)가 IPv4에 정상적으로 출력되는 것을 확인하였다.
'Server > Ubuntu' 카테고리의 다른 글
[Ubuntu] Ubuntu 22.04.1 LTS에 메일 서버 구축 (0) | 2023.02.23 |
---|---|
[Ubuntu] Ubuntu 22.04.1 LTS에 웹서버(Apache) 구축 (소스 설치) (0) | 2023.02.21 |
[Ubuntu] Ubuntu 22.04.1 LTS에 Telnet 서버 구축 (0) | 2023.02.10 |
[Ubuntu] Ubuntu 22.04.1 LTS에 FTP 서버 구축 (0) | 2023.02.10 |
[Ubuntu] Ubuntu 22.04.1 LTS에 SSH 서버 구축 (0) | 2023.02.04 |