DHCP

markyang92·2022년 1월 31일
0

network

목록 보기
13/21
post-thumbnail

DHCP

  • DHCP(Dynamic Host Configureation Protocol)
    • 사용자가 인터넷을 하기위한 IP 설정, 중복 방지, 서브넷마스크, DNS 서버 등을 자동으로 구성
    • IP Pool에서 Client에게 IP 주소를 임대(lease) 해줌


보통 우리가 사용하는 DHCP의 예


설치

$ sudo apt install isc-dhcp-server

대몬 활성화

$ sudo systemctl start isc-dhcp-server
$ sudo systemctl enable isc-dhcp-server

설정 파일

/etc/default/isc-dhcp-server

  • 위치: /etc/default/isc-dhcp-server

  • INTERFACESv4에서 어떤 interface에서 DHCP 서버로서의 DHCP requests를 serve할 것 인지를 명시
    • eth0을 사용할 경우
      • INTERFACESv4="eth0"

DHCP lease 관리

/etc/dhcp/dhcpd.conf

  • authoritative 활성화

Client에게 Static IP Assign - based on MAC

  • 기본적으로 DHCP 서버는 dynamic IP를 클라이언트에게 assign해서 제공해준다.
  • 여기서 DHCP에게 Client의 MAC Address를 기반으로한 fixed IP를 제공케 설정한다.
  • Assign IP: 192.168.0.5
  • Client MAC address: 4c:bb:58:9c:f5:55
host [hostname] {
    hardware ethernet 4c:bb:58:9c:f5:55;
    fixed-address 192.168.0.5;
}
  • 모든 대몬이 마찬가지 겠지만, 설 정후, systemctl restart

lease pool

subnet 100.100.100.0 netmask 255.255.255.0 { // DHCP를 적용할 네트워크
// 클라이언트에게 적용할 옵션은 {} 안에 명시
    range 100.100.100.200 100.100.100.230;    // IP 주소 범위 (100.100.100.200 ~ 100.100.100.230)
    option routers 100.100.100.2;             // Gateway 주소
    option broadcast-address 100.100.100.255; // Broadcast 주소
    option subnet-mask 255.255.255.0;         // 서브넷 마스크
    option domain-name-servers 8.8.8.8,8.8.4.4; // DNS 주소
    default-lease-time 10000;                 // 기본 임대시간(sec)
    max-lease-time 20000;                     // 최대 임대 시간(sec)
}

lease log

  • log 위치: /var/lib/dhcpd/dhcpd.leases

Client에서 '설정'

DHCP 서버에게 MAC기반으로 static IP를 요구할 경우

  • 위에서 MAC 기반으로 DHCP 서버에게 static IP assign을 요구한 client에서도 설정이 필요하다.
  1. (예전 버전)
$ vi /etc/network/interfaces
  1. Default lines를 지우고 아래의 라인을 추가하자
auto eth0
iface ens33 inet eth0

  1. network-manager 대몬 재시작
$ sudo systemctl restart network-manager

  1. 확인
$ ifconfig
eth0      Link encap:Ethernet  HWaddr 4c:bb:58:9c:f5:55  
          inet addr:192.168.0.5  Bcast:192.168.0.255  Mask:255.255.0.0
          inet6 addr: 2401:4900:1955:16a2:1d:1e7:518d:6481/64 Scope:Global
          inet6 addr: fe80::4ebb:58ff:fe9c:f555/64 Scope:Link
          inet6 addr: 2401:4900:1955:16a2:4ebb:58ff:fe9c:f555/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:280316 errors:0 dropped:0 overruns:0 frame:0
          TX packets:179641 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:321303950 (321.3 MB)  TX bytes:36083350 (36.0 MB)

  1. 재요구
$ dhclient -r -v
$ dhclinet -v

DHCP 서버에게 Dynamic IP를 요구할 경우

  1. (예전 버전)
$ vi /etc/network/interfaces
  1. Default lines를 지우고 아래의 라인을 추가하자
auto eth0
iface eth0 inet dhcp

  1. network-manager 대몬 재시작
$ sudo systemctl restart network-manager

  1. 확인
$ ifconfig
eth0      Link encap:Ethernet  HWaddr 56:84:7a:fe:97:99  
          inet addr:192.168.0.11  Bcast:192.168.0.255  Mask:255.255.0.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:561189 (561.1 KB)  TX bytes:561189 (561.1 KB)

  1. 재요구
$ dhclient -r -v
$ dhclinet -v
profile
pllpokko@alumni.kaist.ac.kr

0개의 댓글