오늘은 DHCP 서버 설정 방법에 대해서 기록해두고자 합니다.
무엇인가 새로운 것을 새보는 것은 언제나 시행착오를 겪기 마련입니다.
간단한 것이라도 제대로 기록해두지 않으면 다음번에 동일한 시행착오를 다시 겪게 될 수 있습니다.
이것은 미래의 나를 위한 기록입니다.
하지만 어쩌면 메모 같은 이 기록이, 지금 이 페이지를 보고 계신 당신의 시행착오를 줄이고, 시간을 절약하게 하기를 기대하며 글을 시작합니다.
[DHCP 패키지 설치]
우선 ubuntu에 DHCP 서버를 구성하기 위해서는 isc-dhcp-server 패키지를 설치해야 합니다.
shell에서 관리자 권한으로 아래의 명령을 입력하세요.
$ sudo apt-get update $ sudo apt-get upgrade $ sudo apt-get install isc-dhcp-server |
[config 파일 편집]
DHCP 서버 설정을 위한 config 파일 경로는 아래와 같습니다.
- /etc/dhcp/dhcpd.conf
- /etc/default/isc-dhcp-server
[config 파일 편집 - dhcpd.conf]
우선 dhcpd.conf 파일을 먼저 편집하겠습니다.
역시 관리자 권한으로 선호하는 편집기를 이용해서 편집하시면 됩니다.
$ sudo vi /etc/dhcp/dhcpd.conf |
아래의 부분만 주석을 해제하고 원하는 IP를 입력하시면 됩니다.
[기존] default로 생성된 dhcpd.conf 파일은 아래와 같이 IP 설정부분이 주석처리되어 있습니다. |
[변경] Network ID와 원하는 IP 대역을 입력하시면 됩니다. |
#subnet XXX.XXX.XXX.0 netmask 255.255.255.0 { # |
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.254; } |
위의 설정의 의미는 DHCP 네트워크 구성을 위한 Network ID는 192.168.0.0으로 하고, 할당 가능한 IP 대역은 256개로 하겠다는 의미입니다.
위와 같이 설정할 경우 최대 할당 가능한 IP 개수는 253개입니다.
그 이유는 아래와 같습니다.
- 192.168.0.0 : Network를 대표하는 IP
- 192.168.0.1 : DHCP 서버의 IP
- 192.168.0.2 ~ 192.168.0.254 : 동적으로 할당할 IP 주소들
- 192.168.0.255 : broadcast IP
[config 파일 편집 - isc-dhcp-server]
두 번째로 /etc/default/isc-dhcp-server 파일을 편집하겠습니다.
$ sudo vi /etc/default/isc-dhcp-server |
아래를 이용해서 DHCP 서버로 사용할 interface를 지정해주시면 됩니다.
특히 2개 이상의 interface를 이용하고 있을 경우 꼭 지정해주셔야 합니다.
[기존] | [변경] |
INTERFACES="" | INTERFACES="enp4s0f2" |
제 경우는 eno1 interface는 기존에 쓰던 interface이고, enp4s0f2는 DHCP 용으로 사용할 interface입니다.
interface 명을 모르시면 ifconfig 명령을 통해서 확인하시면 됩니다.
[DHCP 서버의 IP 주소 할당]
$ ifconfig enp4s0f2 192.168.0.1 |
DHCP 서버로 IP address가 필요합니다.
위의 명령으로 enp4s04f interface의 IP가 192.168.0.1로 설정됩니다.
이 IP는 subnet에서 gateway로 사용됩니다.
[DHCP 서비스 restart]
아래 2가지 명령 중에서 편하신 명령으로 dhcp 서비스를 restart 하면 됩니다.
$ sudo /etc/init.d/isc-dhcp-server restart 또는 $ sudo service isc-dhcp-server restart |
아래의 명령으로 dhcp 서비스가 정상적인지 확인합니다.
$ sudo service isc-dhcp-server status |
서비스의 상태가 active(running)이면 정상적으로 DHCP 서비스가 동작하고 있는 것입니다.
만약, failed와 같은 상태가 표시되면 설정이 제대로 되었는지 다시 한번 확인해보시기 바랍니다.
dhcpd 명령을 통해서도 확인하실 수 있습니다.
$ dhcpd -t /etc/dhcp/dhcpd.conf |
[고정 IP 설정하는 방법]
[기존] Network ID와 원하는 IP 대역을 입력된 상태 |
[변경] 특정 MAC을 가진 IP를 특정 IP로 고정 할당함. |
subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.2 192.168.0.254; } |
subnet 192.168.56.0 netmask 255.255.255.0 { range 192.168.56.2 192.168.56.254; host raspberry { hardware ethernet dc:a6:32:e6:14:f9; fixed-address 192.168.56.12; } } |
MAC address가 dc:a6:32:e6:14:f9인 client의 IP 주소를 192.168.56.12로 고정 설정한다는 의미입니다.
[DHCP 할당 IP 리스트 확인 방법]
아래의 명령으로 dhcp로 잡힌 IP 목록들을 확인하실 수 있습니다.
$ dhcp-lease-list
위와 같이 명령을 입력하면 아래와 같이 dhcp로 할당된 IP들을 확인하실 수 있습니다.
[Trouble Shooting #1]
만약 dhcpd -t /etc/dhcp/dhcpd.conf 명령으로 아래와 같은 에러 메시지가 나온다면 interface의 IP 주소를 설정하지 않았을 가능성이 있습니다.
/etc/dhcp/dhcpd.conf: interface name too long (is 20) |
위와 같은 에러 메시지가 표시된다면 DHCP 서버로 사용할 interface의 주소가 제대로 설정되었는지 확인하시고 재설정하시면 됩니다.
[Trouble Shooting #2]
만약 DHCP 서버가 제대로 동작하지 않는다면 sudo service dhcp status 명령과 dhcpd -t /etc/dhcp/dhcpd.conf 명령을 통해서 좀 더 살펴보시기 바랍니다.
[끝맺음 말]
이것으로 ubuntu에 DHCP 서버를 설정하는 방법에 대한 설명을 모두 마칩니다.
감사합니다.
'Study > Ubuntu 공부' 카테고리의 다른 글
[Jenkins] apt-get update 시에 GPG error 발생 문제점 해결 방법 (https://pkg.jenkins.io/debian-stable) (0) | 2021.02.03 |
---|---|
[Ubuntu Linux] 최초 설치시 권장 패키지들 (SW 개발자 개발환경 기준) (0) | 2021.02.02 |
Ubuntu Bash 쉘로 html 메일 전송하는 방법 (0) | 2019.04.26 |
Rufus로 Ubuntu 설치용 부트이미지를 USB Stick에 만드는 방법 (0) | 2018.08.18 |
Ubuntu에 Flash Player 설치하는 방법 (0) | 2018.08.17 |