일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- chatGPT
- 엑셀파일명변경
- Kubernetes
- permission
- docker
- pvcreate
- vgcreate
- 같은폴더
- docker network
- mount
- M365필터
- 랜카드인식불량
- firewalld
- 날짜변경
- HTTPD
- 프로세스
- newbingai
- swapon
- ansible
- yum
- tar
- ssh
- chmod
- docker image
- MSBing
- journalctl
- lvcreate
- nmcli
- vagrant kubernetes
- 리다이렉션
- Today
- Total
becool
20210624 (목) DHCP 본문
09:40
DHCP (Dynamic Host Configuration Protocol)
IP 주소를 할당해주는 역할 (공유기, 가상머신 하이퍼바이저)
동작단계
1) 클라이언트의 요청 dhcp Discover
(포트 : 67/UDP, 68/UCP)source 0.0.0.0 destination 255.255.255.255 :브로드캐스트통신
(dhcp 이외의 시스템에서는 요청 폐기/거부)
2) dhcp 서버가 요청을 확인하고 본인의 IP주소를 알림. dhcp Offer
수신지를 특정하지 않고 브로드캐스트 통신
서버가 제안하는 IP주소, 서브넷 마스크, dhcp 서버의 ip주소 등 포함
(마찬가지로 클라이언트 이외의 시스템에서는 요청 폐기/무시)
3) 클라이언트 요청 : dhcpREQUEST.
제안을 수용하고 Server Identification Option (dhcp 서버를 구분) 사용 메시지를 전달
브로드캐스트 통신 : 다수의 dhcp가 제안 응답을 보내온 경우에 하나의 제안만 수락하게 된다.
(클라이언트의 브로드캐스트 통신을 통해 모든 dhcp가 메시지를 수신하게되며, 수락된 dhcp 외의 다른 dhcp의 제안은 자동적으로 폐기된다)
4) 서버응답 IP주소 저장 및 할당 : dhcp Acknowledgement
임대기간 및 dns정보 등을 클라이언트에 전달하고 네트워크인터페이스에 할당 (dhcpACK)
임대기간 만료 시에 클라이언트-dhcp 의 통신은 UDP 유니캐스트를 통해 이루어 진다.
(dhcp REQUEST와 dhcpACK 과정만 이용하게 됨)
할당방식
1) 동적 할당 : 요청에 따라 관리 범위 내의 IP를 유동적으로 할당(기간제한)
2) 수동 할당 : MAC주소에 따라 IP주소를 직접 할당하는 방식
실습 : virtual-box > 파일 > 설정 > 네트워크 >nat network 더블클릭 > dhcp 지원 체크 해제 후 저장
[root@dns ~]# hostname
dns.school.exam.com
[root@dns ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search school.exam.com
nameserver 10.0.2.10
nameserver 8.8.8.8
[root@dns ~]# yum install -y dhcp
[root@dns ~]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp: overwrite ‘/etc/dhcp/dhcpd.conf’? y → 샘플파일 경로에서 실제 사용할 conf파일로 복사
[root@dns ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "school.exam.com"; → 도메인주소
option domain-name-servers 10.0.2.10; → dns 주소
#실제 대역에 대한 설정 subnet
subnet 10.0.2.0 netmask 255.255.255.0 {
range 10.0.2.11 10.0.2.200; → 기본dns나 예약된 아이피를 피해서 범위를 설정
}
#특정 맥주소에 특정 ip를 부여할 수 있음
subnet 10.0.2.0 netmask 255.255.255.0 {
range 10.0.2.40 10.0.2.50;
option routers 10.0.2.1;
option domain-name-servers 10.0.2.10;
host localhost { → 호스트네임
hardware ethernet 08:00:27:17:7b:23; → 고유 mac address
fixed-address 10.0.2.40; → 할당하고자 하는IP주소 (ip대역과 일치해야함. range와 불일치해도 됨)
}
}
[root@dns ~]# systemctl start dhcpd
[root@dns ~]# ss -nlpt |grep 67 : tcp 포트 아무것도 없음
[root@dns ~]# ss -nlpu |grep 67 : udp 포트 아래와 같이 신호대기중
UNCONN 0 0 *:67 *:* users:(("dhcpd",pid=4881,fd=7))
UNCONN 0 0 *%virbr0:67 *:* users:(("dnsmasq",pid=1526,fd=3))
[root@dns ~]# firewall-cmd --add-service=dhcp
[root@web ~]# cat /usr/lib/firewalld/services/dhcp.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>DHCP</short>
<description>This allows a DHCP server to accept messages from DHCP clients and relay agents.</description>
<port protocol="udp" port="67"/>
</service>
TEST
[root@web ~]# nmcli con add type ethernet con-name dhcp ifname enp0s3
Connection 'dhcp' (0b2b7e3a-bd93-46d9-bb4e-5db3358944fe) successfully added.
[root@web ~]# nmcli con up dhcp
[root@web ~]# ip addr show enp0s3
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:1c:ad:c6 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.4/24 brd 10.0.2.255 scope global noprefixroute dynamic enp0s3
valid_lft 578sec preferred_lft 578sec
inet6 fe80::d70d:bda0:21f0:4f8/64 scope link noprefixroute
valid_lft forever preferred_lft forever
※ ipv4.method: auto 동적 manual 수동
… DHCP4.OPTION 등에 dhcp 옵션이 기재된다.
[root@host1 ~]# service network restart → dhcp 재시작 (클라이언트)
P882 DDNS
Dynamic DNS 동적으로 dns서버 정보를 업데이트 가능
'linux' 카테고리의 다른 글
20210625 (금) glusterfs, 가상인터페이스 생성 (0) | 2021.06.25 |
---|---|
20210624 (목) FTP, DHCP, PXE server, kickstart (0) | 2021.06.24 |
20210622 (화) Nginx (0) | 2021.06.22 |
20210622 (화) webservice (0) | 2021.06.22 |
20210616 (수) dns, web서비스 (0) | 2021.06.16 |