리눅스 dhcp 오류 - linugseu dhcp olyu

[root@dhcp ~]# systemctl start dhcpd.service

Job for dhcpd.service failed because the control process exited with error code. See "systemctl status dhcpd.service" and "journalctl -xe" for details.

[root@dhcp ~]# systemctl status dhcpd.service

dhcpd.service - DHCPv4 Server Daemon

Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)

Active: failed (Result: exit-code) since 월 2016-05-16 01:06:47 KST; 10s ago

Docs: man:dhcpd(8)

man:dhcpd.conf(5)

Process: 2765 ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid (code=exited, status=1/FAILURE)

Main PID: 2765 (code=exited, status=1/FAILURE)

5월 16 01:06:47 dhcp.localdomain dhcpd[2765]:

5월 16 01:06:47 dhcp.localdomain dhcpd[2765]:

5월 16 01:06:47 dhcp.localdomain dhcpd[2765]: Not configured to listen on ...!

5월 16 01:06:47 dhcp.localdomain dhcpd[2765]:

5월 16 01:06:47 dhcp.localdomain dhcpd[2765]: This version of ISC DHCP is ...e

5월 16 01:06:47 dhcp.localdomain dhcpd[2765]: on ftp.isc.org. Features ha...s

5월 16 01:06:47 dhcp.localdomain systemd[1]: dhcpd.service: Main process e...E

5월 16 01:06:47 dhcp.localdomain systemd[1]: Failed to start DHCPv4 Server....

5월 16 01:06:47 dhcp.localdomain systemd[1]: dhcpd.service: Unit entered f....

5월 16 01:06:47 dhcp.localdomain systemd[1]: dhcpd.service: Failed with re....

Hint: Some lines were ellipsized, use -l to show in full.

[root@dhcp ~]# systemctl enable dhcpd.service

Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service to /usr/lib/systemd/system/dhcpd.service.

[root@dhcp ~]#

 # rpm -qa | grep ftp ntsysv wget ftp gcc net-tools

 # dnf -y install dhcp*

 # cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf

cp: overwrite '/etc/dhcp/dhcpd.conf'? y

 #

 # vi /etc/dhcp/dhcpd.conf    //아래 내용 외 나머지는 주석처리하기 "#'

default-lease-time 6000;

max-lease-time 7200;

log-facility local7;

subnet 192.168.100.0 netmask 255.255.255.0 {

  range  192.168.100.100 192.168.100.200;

  option broadcast-address 192.168.100.255;

  option routers 192.168.100.254;

  option subnet-mask 255.255.255.0;

  option domain-name-servers 168.126.63.1;

}

 :wq!

 # systemctl enable dhcpd

 # systemctl status dhcpd

# systemctl start dhcpd

확인

windows또는 linux에서 dhcp로 선택후 reload 확인

error dhcpd.conf 에서 ; 빠진 건지 확인 아니면 컨피그 수정 잘못 되었는지 확인

# systemctl start dhcpd

Job for dhcpd.service failed because the control process exited with error code.

See "systemctl status dhcpd.service" and "journalctl -xe" for details.

IT창고

리눅스의 네트워크를 구성하는 방법은 여러가지가 있는데 그 중 DHCP가 있습니다. DHCP(Dynamic Host Configuration Protocol)은 사용자가 인터넷을 하기 위한 IP주소설정이나 중복방지, SubnetMask, DNS서버 등을 모두 자동으로 구성해주는 기능입니다. IP주소 풀에서 클라이언트에게 IP주소를 임대(Lease)해주며 OPv4/IPv6을 지원합니다.

DHCP 실습을 해보기 위해 A리눅스와 B리눅스, 가상윈도우7을 구성했습니다.

먼저 DHCP 서버가 될 A리눅스에 yum -y install dhcp* 를 입력해서 DHCP관련 패키지를 설치합니다. 설치하고 vi /etc/dhcp/dhcpd.conf 파일에서 dhcp 서버 주설정을 합니다. 파일설정하는 부분이 가장 까다로운데 예시로 아래와 같이 적어줍니다.

 subnet 100.100.100.0 netmask 255.255.255.0 { //dhcp를 적용할 네트워크 

//클라이언트에게 적용할 옵션을 {} 안에 명시

        range 100.100.100.200 100.100.100.230; //ip주소 범위(200~230)

        option routers 100.100.100.2;// 게이트웨이 주소

        option broadcast-address 100.100.100.255;// 브로드케스트 주소

option subnet-mask 255.255.255.0;// 서브넷마스크

        option domain-name-servers 8.8.8.8, 8.8.4.4; // DNS서버 주소

        default-lease-time 10000;// 기본 임대시간(초)

        max-lease-time 20000;// 최대 임대 시간(초)

}

dhcp의 설정을 마무리 했다면 service dhcpd restart를 입력하여 dhcpd 데몬을 재시작 해줍니다. 만약 dhcpd.conf파일을 수정하다 오류가 나왔다면 오타가 어디인지 알려주지 않기때문에 직접 찾아봐야합니다.

그리고 IP임대 기록이 저장되는 파일이 있는데 /var/lib/dhcpd/dhcpd.lesaes 에 저장되기에 cat명령어로 확인해보면됩니다.

실습환경으로 만약 VMware를 사용중이라면 실습전에 VMware Workstation에서 지원하는 DHCP 기능을 비활성화 해주어야합니다. DHCP서버를 찾는 과정에서 혼선이 올수있기 때문입니다. 

이제 네트워크를 설정해줘야합니다. vim /etc/sysconfig/network-scripts/ifcfg-eth0 으로가서 BOOTPROTO=static --> BOOTPROTO=dhcp 로 바꿔주고 service network restart하면 끝입니다. ifconfig로 ip주소를 확인해보면됩니다.

A리눅스에 DHCP를 설정했다면 가상윈도우에서 A리눅스에게 IP를 임대받을수있습니다 윈도우에서 작업표시줄에 네트워크 공유 설정을 누르고 어뎁터 공유 설정을 누르면 로컬영역 아이콘이있는데 오른쪽 마우스버튼을 눌러 속성을 누르고 IPv4의 속성을 눌러 DHCP로 바꿔줍니다. cmd창에 가서 ipconfig를 입력하면 확인가능합니다. 만약 바뀌지않았다면 ipconfig /renew를 입력하거나 재부팅을 하면 됩니다.

하지만 실제 실무에서 서버를 만든다고 하면 static으로 해야하는데 DHCP를 이용한 특정 호스트에게 고정 IP를 설정하는 법을 알아보겠습니다.

B리눅스와 일반리눅스, 윈도우7에는 MAC주소가 있습니다. MAC주소는 실제 물리적인주소로 세계에서 단 하나밖에 없기에 자신임을 알수있는 방법입니다. Linux에서는 ifconfig의 HWaddr에 있고 Windows는 cmd창에 ipconfig /all을 입력해야 MAC주소가 보입니다.

자신의 MAC주소를 확인했다면 다시 vi /etc/dhcp/dhcpd.conf 파일로 가서 아래에 추가로 수정해줍니다. 예시로 아래와 같습니다.

서버 주설정 파일 수정

vi /etc/dhcp/dhcpd.conf

subnet 100.100.100.0 netmask 255.255.255.0 {            //dhcp를 적용할 네트워크 

//클라이언트에게 적용할 옵션을 {} 안에 명시

        range 100.100.100.200 100.100.100.230;//ip주소 범위(200~230)

        option routers 100.100.100.2;// 게이트웨이 주소

        option broadcast-address 100.100.100.255;// 브로드케스트 주소

option subnet-mask 255.255.255.0;// 서브넷마스크

        option domain-name-servers 8.8.8.8, 8.8.4.4;// DNS서버 주소

        default-lease-time 10000;// 기본 임대시간(초)

        max-lease-time 20000;// 최대 임대 시간(초)

host [hostname]{

hardware ethernet [MAC주소];

fixed-address[고정ip주소];

}

ex)

host ServerB{

        hardware ethernet 00:0C:29:4F:EE:C6;

        fixed-address 100.100.100.120;

}

host Windows{

        hardware ethernet 00:0C:29:FE:BB:8A;

        fixed-address 100.100.100.140;

}

앞의 설정이 끝났다면 service dhcpd restart를 입력하고 클라이언트에게 전부 service network restart를 해줍니다. 윈도우는 cmd창에 ipconfig /renew를 입력해줍니다. 확인해보면 정상적으로 ip를 임대받은 모습을 볼수있습니다. 이런 설정으로 완료되었다면 앞으로 인터넷 서비스를 이용하기 위해서는 DHCP를 설정한 A리눅스를 먼저 부팅한후에 클라이언트를 부팅해야 인터넷 사용이 가능해집니다.