가. 리눅스 DHCP 서버
다운로드: http://www.isc.org/products/DHCP/dhcp-3.0b1pl13.tar.gz
ftp://ftp.isc.org/isc/dhcp/dhcp-3.0b1pl13.tar.gz
1. 사전 점검
$ rpm -qa | grep dhcp # dhcpd가 없으면 다운로드하여 설치
$ ifconfig # 3번째줄에 Multicast가 없으면 커널 컴파일
# networking option에서 multicasting을 선택
eth0 Link encap:Ethernet HWaddr 00:50:DA:C5:B5:43
inet addr:210.219.177.223 Bcast:210.219.177.255 Mask:255.255.255.0
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
2. 설치
$ tar xvzfp dhcp-3.0b1pl13.tar.gz
$ mv dhcp-3.0b1pl13 /usr/local/dhcpd; cd /usr/local/dhcpd
$ ./configure
$ make; make install
3. 라우팅 조절(브로드케스트 라우터)
$ route add -host 255.255.255.255 dev eth0 # 랜카드가 두개일때는 eth1
# 만약, 255.255.255.255: Unknown host 라고 나오면
# $ vi /etc/hosts
# 255.255.255.255 all-ones
# $ route add -host all-ones dev eth0 혹은
# $ route add -net 255.255.255.0 dev eth0
4. 설정
$ cp /usr/local/dhcpd/server/dhcpd.conf /etc/dhcpd.conf
$ vi /etc/dhcpd.conf
# 방법 1 (공통적인 것은 밖에, 여기서는 이방법 씀)
default-lease-time 3600; # 기본 임대 시간(초단위 86400 하루)
max-lease-time 7200; # 최대 임대 시간
option subnet-mask 255.255.255.0; # 서브넷마스크
option broadcast-address 192.168.1.255; # 브로드 캐스트 어드레스
option routers 192.168.1.101; # 라우터나 게이트웨이, 내부랜카드 주소
option domain-name-servers 210.117.65.1, 210.117.65.2; # 도메인 네임 서버
option domain-name "toconet.co.kr"; # 도메인 네임
option domain-name "joongang.thrunet.com";
subnet 192.168.1.0 netmask 255.255.255.0 { # eth1 내부 네트웍
range 192.168.1.10 192.168.1.100; # 192.168.1.10에서 192.168.1.100까지
range 192.168.1.150 192.168.1.200; # 192.168.1.150부터 192.168.1.200까지
}
subnet 210.219.177.0 netmask 255.255.255.0 { # eth0 두번째 랜카드 외부 네트웍
}
# 방법 2 (서브넷에 한정된 것은 안에, 권장)
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.1 192.168.1.254;
default-lease-time 3600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.101;
option domain-name-servers 210.117.65.1, 210.117.65.2;
option domain-name "toconet.co.kr";
option domain-name "joong.thrunet.com";
}
subnet 210.219.177.0 netmask 255.255.255.0 {
}
# 클라이언트에 고정된 IP 할당하기
# Ethernet 카드 주소 아는 방법 : arp -a 192.168.1.10
host pc10.toconet.co.kr {
hardware ethernet 00:A0:4B:02:E7:04;
fixed-address 192.168.1.10;
option host-name "pc10";
}
5. DHCP 상태현황 파일 만들기
$ touch /etc/dhcpd.leases
혹은 $ mkdir /var/state/dhcp
$ touch /var/state/dhcp/dhcpd.leases
# 이 빈 파일에는 어떤 컴퓨터에 어떤 IP주소를 부여했는가에 대한 정보가 들어간다.
6. DHCP 시작과 종료
$ /usr/sbin/dhcpd # 시작
혹은 $ /etc/rc.d/init.d/dhcpd start
혹은 $ /etc/rc.d/init.d/dhcpd restart
...
Listening on LPF/eth1/00:50:da:c5:b6:cf/192.168.1.0
Sending on LPF/eth1/00:50:da:c5:b6:cf/192.168.1.0 # 성공
Listening on LPF/eth0/00:50:da:c5:b5:43/210.219.177.0
Sending on LPF/eth0/00:50:da:c5:b5:43/210.219.177.0 # 성공
Sending on Socket/fallback/fallback-net
$ /usr/sbin/dhcpd stop # 종료
혹은 $ /etc/rc.d/init.d/dhcpd stop
# 점검하려면 디버깅 모드에 포그라운드 모드로
$ /usr/sbin/dhcpd -d -f
# 부팅시 자동 스타트
$ ntsysv
dhcpd 서비스 체크
# 없을 때는 $ vi /etc/rc.d/rc.local
# #route add -host 255.255.255.255 dev eth0
# route add -host 255.255.255.255 dev eth1
# /usr/sbin/dhcpd
나. 윈도우 클라이언트 DHCP
네트워크 등록정보에서 호스트 이름만 입력하고 나머지는 아무것도 입력하지 않는다
다. 리눅스 클라이언트 DHCP
$ netcfg &
Names, Hosts, Routing 에는 아무것도 입력 하지 않는다
Interpace -> eth0 -> edit -> IP, Netmask ... 입력 안함
Activate Interface at boot time ... 선택
nterface configuration protocol부분 ... dhcp로 선택
-> Done -> Active -> Using DHCP for eth0 ... done 성공
$ ifconfig