System/OS
2003.04.23 10:31
[linux] DHCP(Dynamic Host Configuration Protocol) 서버
Views 13097 Comment 0
가. 리눅스 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
No. | Category | Subject | Author | Date | Views |
---|---|---|---|---|---|
93 | Develop | [coding] 공부해야 하는거 ㅋㅋ | hooni | 2017.06.27 | 0 |
92 | Develop | [android] 안드로이드 앱 문서 샘플 - NCComix | hooni | 2017.07.11 | 2226 |
91 | Etc | 캘리포니아 운전면허 문제 | hooni | 2017.07.22 | 1189 |
90 | System/OS | [mac] Homebrew/rvm/cocoapod setting | hooni | 2017.07.29 | 1185 |
89 | Develop | [ios] VIN Scanner (VIN barcode) 스캐너 | hooni | 2017.09.16 | 791 |
88 | System/OS | [linux] iptables 초간단 세팅 스크립트 | hooni | 2017.09.26 | 1410 |
87 | Etc | 영어. 불규칙 동사 정리 | hooni | 2017.10.04 | 3671 |
86 | Etc | How to completely Uninstall Coda | hooni | 2017.10.24 | 2572 |
85 | System/OS | 무료로 HTTPS 적용하기 (Let's Encrypt) | hooni | 2017.10.28 | 1701 |
84 | System/OS | OpenSSL로 ROOT CA 생성 및 SSL 인증서 발급하기 | hooni | 2017.10.28 | 1643 |
83 | System/OS | [mac] How to uninstall MySQL on Mac OS. | hooni | 2017.11.08 | 1052 |
82 | Database | [mysql] 중복데이터 삭제하는 초간단 쿼리 | hooni | 2017.11.22 | 3568 |