CCNA 200-301

CCNA 200–301 따라잡기 10장

네트워크 서비스 기본, DHCP부터 DNS와 SNMP까지

지금까지는 네트워크를 연결하는 기본 구조를 배웠다. 스위치는 같은 LAN 안에서 프레임을 전달하고, 라우터는 서로 다른 네트워크를 연결하고, VLAN은 네트워크를 나누고, STP와 EtherChannel은 스위치 링크를 안정적으로 운영하게 해준다.

그런데 네트워크가 연결만 된다고 바로 운영되는 것은 아니다.

PC가 IP 주소를 받아야 하고, 사용자가 도메인 이름으로 서버에 접속해야 하고, 장비 시간이 맞아야 하고, 장애가 났을 때 로그와 상태를 확인할 수 있어야 한다.

이런 역할을 하는 것이 네트워크 서비스다.

CCNA에서는 DHCP, DNS, NTP, Syslog, SNMP 같은 기본 서비스를 자주 묻는다. 각 서비스의 역할과 포트 번호를 같이 알아야 ACL 문제나 트러블슈팅 문제를 읽을 수 있다.

이번 장은 운영에 필요한 필수 서비스들을 정리한다.

  1. DHCP

DHCP는 Dynamic Host Configuration Protocol의 약자다.

클라이언트에게 IP 주소와 네트워크 설정을 자동으로 할당하는 서비스다.

사용자가 노트북을 네트워크에 연결했을 때 직접 IP 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버를 입력하지 않아도 되는 이유가 DHCP 때문이다.

DHCP가 제공할 수 있는 대표 정보는 다음과 같다.

IP 주소

서브넷 마스크

기본 게이트웨이

DNS 서버

임대 시간

시험에서는 DHCP가 “IP 주소만 주는 서비스”가 아니라, 클라이언트가 네트워크를 사용하기 위한 여러 옵션을 함께 제공한다는 점을 기억해야 한다.

  1. DHCP DORA

DHCP 주소 할당 과정은 DORA로 외운다.

Discover

Offer

Request

Acknowledge

첫째, 클라이언트가 DHCP Discover를 보낸다.

처음에는 클라이언트가 자신의 IP도 모르고 DHCP 서버 위치도 모른다. 그래서 broadcast로 “DHCP 서버 있나요?”라고 찾는다.

둘째, DHCP 서버가 Offer를 보낸다.

서버는 사용할 수 있는 IP 주소와 옵션을 제안한다.

셋째, 클라이언트가 Request를 보낸다.

클라이언트는 제안받은 주소를 사용하겠다고 요청한다.

넷째, 서버가 Acknowledge를 보낸다.

서버가 임대를 승인하면 클라이언트는 IP 설정을 적용한다.

DHCP는 UDP를 사용한다.

서버 포트는 UDP 67이다.

클라이언트 포트는 UDP 68이다.

  1. DHCP Relay

DHCP Discover는 broadcast다.

라우터는 기본적으로 broadcast를 다른 네트워크로 전달하지 않는다.

그렇다면 클라이언트와 DHCP 서버가 서로 다른 VLAN 또는 서로 다른 서브넷에 있으면 어떻게 해야 할까?

이때 DHCP Relay를 사용한다.

Cisco 장비에서는 인터페이스에 ip helper-address를 설정한다.

예를 들어 VLAN 10 클라이언트가 있고 DHCP 서버가 10.10.100.10이라면, VLAN 10의 게이트웨이 인터페이스에 다음과 같이 설정한다.

text interface vlan 10 ip helper-address 10.10.100.10

이 설정은 클라이언트의 DHCP broadcast를 DHCP 서버로 unicast 전달하게 해준다.

시험에서는 DHCP 서버가 다른 네트워크에 있을 때 ip helper-address를 떠올리면 된다.

  1. DHCP 문제를 읽는 순서

클라이언트가 IP를 못 받는다면 다음 순서로 본다.

첫째, 클라이언트가 올바른 VLAN에 있는지 확인한다.

둘째, 해당 VLAN의 게이트웨이가 살아 있는지 확인한다.

셋째, DHCP 서버가 같은 VLAN에 있는지, 아니면 relay가 필요한지 확인한다.

넷째, ip helper-address가 올바른 인터페이스에 설정되어 있는지 확인한다.

다섯째, DHCP pool에 남은 주소가 있는지 확인한다.

여섯째, ACL이나 방화벽이 UDP 67/68을 막고 있지 않은지 확인한다.

  1. DNS

DNS는 Domain Name System의 약자다.

사람이 읽기 쉬운 이름을 IP 주소로 바꿔주는 서비스다.

사용자는 [www.example.com](http://www.example.com`) 같은 이름을 입력하지만, 실제 통신은 IP 주소를 사용한다. DNS가 이름을 IP 주소로 해석해주기 때문에 사용자는 숫자 주소를 외우지 않아도 된다.

DNS는 보통 UDP 53을 사용한다.

다만 응답이 크거나 zone transfer 같은 작업에서는 TCP 53도 사용한다.

  1. DNS 조회 흐름

클라이언트는 보통 직접 root DNS 서버부터 찾아다니지 않는다.

클라이언트는 자신에게 설정된 DNS 서버, 즉 recursive resolver에 질의한다. 이 DNS 서버는 보통 ISP, 회사 내부 DNS, 또는 공용 DNS일 수 있다.

recursive resolver는 캐시에 답이 있으면 바로 응답한다.

캐시에 없으면 root 서버, TLD 서버, authoritative DNS 서버를 거쳐 답을 찾는다.

예를 들어 [www.example.com](http://www.example.com`)을 찾는다면 흐름은 이렇게 볼 수 있다.

클라이언트가 recursive DNS에 질의한다.

recursive DNS가 root 서버에 물어본다.

root 서버는 .com TLD 서버 정보를 알려준다.

recursive DNS가 .com TLD 서버에 물어본다.

TLD 서버는 example.com authoritative DNS 서버를 알려준다.

recursive DNS가 authoritative DNS 서버에 물어본다.

authoritative DNS가 [www.example.com](http://www.example.com`)의 IP 주소를 알려준다.

recursive DNS가 클라이언트에게 최종 답을 전달한다.

  1. DNS 레코드

CCNA 수준에서 자주 보는 DNS 레코드는 다음과 같다.

A 레코드

AAAA 레코드

CNAME 레코드

MX 레코드

NS 레코드

A 레코드는 이름을 IPv4 주소로 매핑한다.

AAAA 레코드는 이름을 IPv6 주소로 매핑한다.

CNAME은 별칭이다.

MX는 메일 서버를 나타낸다.

NS는 해당 zone의 name server를 나타낸다.

시험에서는 A 레코드가 IPv4 주소, AAAA 레코드가 IPv6 주소라는 점을 먼저 확실히 잡으면 된다.

  1. NTP

NTP는 Network Time Protocol의 약자다.

네트워크 장비와 서버의 시간을 동기화하는 서비스다.

시간이 왜 중요할까?

로그를 분석할 때 장비마다 시간이 다르면 장애 순서를 알기 어렵다.

인증서 기반 보안에서도 시간이 틀리면 인증 문제가 생길 수 있다.

분산 시스템이나 보안 이벤트 분석에서도 정확한 시간은 필수다.

NTP는 UDP 123을 사용한다.

시험에서는 NTP가 시간 동기화 서비스이고 UDP 123을 쓴다는 점을 기억하면 된다.

  1. Syslog

Syslog는 장비 로그를 수집하고 전송하는 표준적인 방식이다.

Get David Lee’s stories in your inbox

Join Medium for free to get updates from this writer.

Subscribe

Subscribe

Remember me for faster sign in

라우터나 스위치에서 인터페이스가 down되거나, 로그인 실패가 발생하거나, 설정 변경이 일어나면 로그가 남는다.

장비 내부에만 로그를 저장하면 장비가 재부팅되거나 장애가 나면 확인이 어려울 수 있다.

그래서 중앙 Syslog 서버로 로그를 전송한다.

Syslog는 전통적으로 UDP 514를 사용한다.

로그에는 severity level이 있다.

대표적으로 emergency, alert, critical, error, warning, notification, informational, debugging 순서로 심각도를 구분한다.

CCNA에서는 숫자까지 깊게 외우기보다, Syslog가 중앙 로그 수집에 사용된다는 점과 UDP 514를 기억하면 충분하다.

  1. SNMP

SNMP는 Simple Network Management Protocol의 약자다.

네트워크 장비 상태를 모니터링하고 관리하는 프로토콜이다.

예를 들어 NMS가 스위치의 CPU 사용률, 인터페이스 트래픽, 포트 상태, 장비 uptime 같은 정보를 가져올 수 있다.

SNMP는 UDP 161과 UDP 162를 사용한다.

UDP 161은 일반적인 query/response에 사용된다.

UDP 162는 trap 또는 inform 같은 알림에 사용된다.

SNMP에는 버전이 있다.

SNMPv1

SNMPv2c

SNMPv3

SNMPv1과 v2c는 community string 기반이다. 보안이 약하다.

SNMPv3는 인증과 암호화를 지원한다.

시험에서는 보안 관점에서 SNMPv3가 더 안전하다는 점을 기억해야 한다.

  1. SSH와 Telnet

네트워크 장비 원격 접속에서는 SSH와 Telnet이 자주 비교된다.

Telnet은 TCP 23을 사용한다.

SSH는 TCP 22를 사용한다.

중요한 차이는 암호화다.

Telnet은 평문으로 통신한다.

SSH는 암호화된 원격 접속을 제공한다.

그래서 실제 운영에서는 Telnet보다 SSH를 사용해야 한다.

시험에서도 “보안 원격 관리”를 묻는다면 SSH를 고르는 것이 일반적이다.

  1. HTTP와 HTTPS

HTTP는 TCP 80을 사용한다.

HTTPS는 TCP 443을 사용한다.

HTTP는 웹 통신의 기본 프로토콜이고, HTTPS는 TLS로 암호화된 웹 통신이다.

네트워크 장비의 웹 관리 페이지, API, 모니터링 시스템 접속에서도 HTTP/HTTPS 포트가 등장할 수 있다.

보안 관점에서는 HTTPS를 사용하는 것이 맞다.

  1. TFTP와 FTP

TFTP는 Trivial File Transfer Protocol이다.

UDP 69를 사용한다.

네트워크 장비에서 IOS 이미지나 설정 파일을 전송할 때 예전부터 자주 사용되었다.

하지만 TFTP는 인증과 암호화가 없기 때문에 보안이 약하다.

FTP는 TCP 20과 TCP 21을 사용한다.

TCP 21은 control, TCP 20은 data에 사용된다.

CCNA에서는 TFTP UDP 69, FTP TCP 20/21 정도를 포트 번호로 기억해두면 좋다.

  1. 포트 번호를 외우는 방법

서비스 포트는 단순 암기처럼 보이지만, 역할과 같이 묶으면 훨씬 오래 간다.

주소 자동 할당: DHCP UDP 67/68

이름 해석: DNS UDP/TCP 53

시간 동기화: NTP UDP 123

로그 수집: Syslog UDP 514

장비 모니터링: SNMP UDP 161/162

보안 원격 접속: SSH TCP 22

웹: HTTP TCP 80, HTTPS TCP 443

파일 전송: TFTP UDP 69, FTP TCP 20/21

ACL 문제에서는 이 포트 번호가 그대로 등장할 수 있다.

  1. 네트워크 서비스 트러블슈팅 루틴

서비스 문제는 다음 순서로 보면 된다.

첫째, 클라이언트 설정을 확인한다.

IP 주소, 기본 게이트웨이, DNS 서버, 시간 설정이 올바른지 본다.

둘째, 서버 주소에 도달 가능한지 확인한다.

ping이나 traceroute로 경로를 확인한다. 단, ICMP가 막혀 있을 수도 있으므로 ping 실패만으로 서비스가 죽었다고 단정하면 안 된다.

셋째, 포트가 열려 있는지 확인한다.

ACL, 방화벽, 보안 그룹이 해당 TCP/UDP 포트를 막고 있지 않은지 본다.

넷째, 서비스 자체가 동작하는지 확인한다.

DHCP pool, DNS zone, NTP peer, Syslog server, SNMP community 또는 SNMPv3 설정을 확인한다.

다섯째, 로그를 확인한다.

로그는 문제의 원인을 찾는 핵심 단서다. 그래서 Syslog와 NTP가 같이 중요하다. 시간이 맞는 로그가 있어야 사건 순서를 파악할 수 있다.

  1. 시험에서 자주 틀리는 부분

첫째, DHCP와 DNS 역할을 섞는 것.

DHCP는 IP 설정을 자동 할당하고, DNS는 이름을 IP 주소로 해석한다.

둘째, DHCP 서버가 다른 네트워크에 있는데 relay를 생각하지 못하는 것.

이 경우 ip helper-address가 필요하다.

셋째, DNS는 항상 UDP만 쓴다고 외우는 것.

DNS는 보통 UDP 53을 쓰지만 TCP 53도 사용한다.

넷째, Syslog와 SNMP를 혼동하는 것.

Syslog는 로그 수집이고, SNMP는 장비 상태 모니터링과 관리다.

다섯째, SNMPv2c와 SNMPv3의 보안 차이를 놓치는 것.

SNMPv3는 인증과 암호화를 지원한다.

  1. 10장 정리

DHCP는 클라이언트에게 IP 주소와 네트워크 옵션을 자동 할당한다.

DHCP DORA는 Discover, Offer, Request, Acknowledge 순서다.

DHCP는 UDP 67/68을 사용한다.

DHCP 서버가 다른 네트워크에 있으면 ip helper-address가 필요하다.

DNS는 이름을 IP 주소로 해석한다.

DNS는 보통 UDP 53을 쓰지만 TCP 53도 사용한다.

NTP는 시간 동기화 서비스이고 UDP 123을 사용한다.

Syslog는 중앙 로그 수집에 사용되며 UDP 514를 사용한다.

SNMP는 장비 모니터링과 관리에 사용되며 UDP 161/162를 사용한다.

SNMPv3는 인증과 암호화를 지원한다.

SSH는 TCP 22를 쓰며 보안 원격 관리에 사용된다.

HTTP는 TCP 80, HTTPS는 TCP 443을 사용한다.

TFTP는 UDP 69, FTP는 TCP 20/21을 사용한다.

서비스 문제는 IP 설정, 경로, 포트, 서버 상태, 로그 순서로 확인한다.

  1. 다음 장 예고

11장에서는 네트워크 보안 기본을 다룬다. ACL, 포트 보안, DHCP Snooping, Dynamic ARP Inspection 같은 기술을 정리하고, 지금까지 배운 VLAN과 스위칭 구조 위에서 보안 기능이 어디에 적용되는지 살펴본다.

댓글 0