DHCP, NAT, ACL 설정
라우터가 할 수 있는 것들
라우터는 경로를 결정하고 패킷을 전달하는 것이 본업이지만, 그 외에도 여러 서비스를 제공할 수 있습니다. DHCP 서버 역할을 해서 IP 주소를 자동 배정하고, NAT로 사설 IP를 공인 IP로 변환하고, ACL로 특정 트래픽을 허용하거나 차단합니다.
실기 시험에서는 이 세 가지 설정이 자주 출제됩니다. 특히 NAT와 ACL은 여러 명령어를 조합해야 하므로, 설정 순서를 정확히 기억해야 합니다.
DHCP 설정
라우터를 DHCP 서버로 설정해서, 연결된 PC들에게 IP 주소를 자동으로 배정할 수 있습니다.
Router(config)# ip dhcp pool MYPOOL
Router(dhcp-config)# network 192.168.1.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.1.1
Router(dhcp-config)# dns-server 8.8.8.8
Router(dhcp-config)# exit
Router(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10
각 명령어를 살펴봅시다.
ip dhcp pool MYPOOL- DHCP 풀 생성. MYPOOL은 풀 이름으로, 자유롭게 지정합니다.network 192.168.1.0 255.255.255.0- 배정할 IP 범위의 네트워크와 마스크default-router 192.168.1.1- 클라이언트에게 알려줄 기본 게이트웨이dns-server 8.8.8.8- 클라이언트에게 알려줄 DNS 서버 주소ip dhcp excluded-address 192.168.1.1 192.168.1.10- 배정하지 않을 주소 범위 (서버, 라우터 등에 고정 할당된 주소)
ip dhcp excluded-address는 풀 설정 밖(Global Config)에서 설정합니다. 풀 안이 아니라 밖에서 설정한다는 점을 주의하세요.
시험에서 자주 출제되는 형태는 다음과 같습니다.
문제: DHCP 풀 이름 icqa, 네트워크 192.168.100.0/24,
게이트웨이 192.168.100.1, DNS 168.126.63.1,
제외 주소 192.168.100.1~192.168.100.5를 설정하시오.
Router(config)# ip dhcp excluded-address 192.168.100.1 192.168.100.5
Router(config)# ip dhcp pool icqa
Router(dhcp-config)# network 192.168.100.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.100.1
Router(dhcp-config)# dns-server 168.126.63.1
Router(dhcp-config)# exit
NAT 설정
NAT(Network Address Translation)는 사설 IP 주소를 공인 IP 주소로 변환하는 기술입니다. PART 02에서 개념을 배웠고, 여기서는 Cisco 라우터에서의 설정 방법을 다룹니다.
실기에서 가장 자주 나오는 형태는 PAT(Port Address Translation), 즉 NAT Overload입니다. 여러 사설 IP를 하나의 공인 IP로 변환하는 방식입니다.
NAT 설정의 핵심 개념은 두 가지입니다.
- Inside (내부) - 사설 IP를 사용하는 내부 네트워크 인터페이스
- Outside (외부) - 공인 IP를 사용하는 외부(인터넷) 인터페이스
내부 네트워크 라우터 인터넷
(사설 IP) (NAT 수행) (공인 IP)
192.168.1.0/24 ──── [Fa0/0 Fa0/1] ──── ISP
inside outside
NAT Overload 설정의 전체 과정입니다.
Router(config)# access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)# interface fastethernet 0/0
Router(config-if)# ip nat inside
Router(config-if)# exit
Router(config)# interface fastethernet 0/1
Router(config-if)# ip nat outside
Router(config-if)# exit
Router(config)# ip nat inside source list 1 interface fastethernet 0/1 overload
각 명령어의 역할입니다.
access-list 1 permit 192.168.1.0 0.0.0.255- NAT를 적용할 내부 트래픽을 정의합니다. 와일드카드 마스크를 사용합니다(서브넷 마스크의 반전).ip nat inside- 해당 인터페이스를 NAT 내부로 지정합니다.ip nat outside- 해당 인터페이스를 NAT 외부로 지정합니다.ip nat inside source list 1 interface fastethernet 0/1 overload- ACL 1에 매칭되는 내부 소스를 Fa0/1의 IP로 변환합니다.overload키워드가 PAT를 활성화합니다.
overload를 빼면 1:1 NAT가 됩니다. PAT(다:1 변환)를 사용하려면 반드시 overload를 붙여야 합니다.
ACL 설정
ACL(Access Control List)은 패킷의 출발지/목적지 정보를 기반으로 트래픽을 허용(permit)하거나 거부(deny)하는 필터링 규칙입니다. 방화벽의 패킷 필터링과 유사한 기능을 라우터에서 수행합니다.
ACL에는 두 가지 유형이 있습니다.
Standard ACL (표준 ACL) - 출발지 IP 주소만 확인합니다. 번호 범위는 1~99입니다.
Router(config)# access-list 10 permit 192.168.1.0 0.0.0.255
Router(config)# access-list 10 deny 10.0.0.0 0.255.255.255
Router(config)# access-list 10 permit any
Extended ACL (확장 ACL) - 출발지/목적지 IP, 프로토콜, 포트 번호를 확인합니다. 번호 범위는 100~199입니다.
Router(config)# access-list 100 permit tcp 192.168.1.0 0.0.0.255 any eq 80
Router(config)# access-list 100 deny icmp any any
Router(config)# access-list 100 permit ip any any
위 설정의 의미는 다음과 같습니다.
- 192.168.1.0/24에서 출발하는 TCP 포트 80(HTTP) 트래픽을 허용
- 모든 ICMP(ping) 트래픽을 거부
- 나머지 모든 IP 트래픽을 허용
ACL 적용
ACL을 만들었으면 인터페이스에 적용해야 효과가 있습니다.
Router(config)# interface fastethernet 0/0
Router(config-if)# ip access-group 10 in
ip access-group [ACL 번호] [in/out]in- 인터페이스로 들어오는 트래픽에 적용out- 인터페이스에서 나가는 트래픽에 적용
와일드카드 마스크
ACL과 OSPF에서는 서브넷 마스크 대신 와일드카드 마스크를 사용합니다. 와일드카드 마스크는 서브넷 마스크를 반전시킨 값입니다.
서브넷 마스크: 255.255.255.0
와일드카드 마스크: 0.0.0.255
서브넷 마스크: 255.255.255.240
와일드카드 마스크: 0.0.0.15
서브넷 마스크: 255.255.0.0
와일드카드 마스크: 0.0.255.255
계산법은 간단합니다. 255에서 서브넷 마스크의 각 옥텟을 빼면 됩니다.
255.255.255.0 → 255-255=0, 255-255=0, 255-255=0, 255-0=255 → 0.0.0.255
255.255.255.240 → 0.0.0.15
와일드카드 마스크에서 0은 "정확히 일치해야 하는 비트"를, 1은 "무시해도 되는 비트"를 의미합니다.
특수 키워드
ACL에서 자주 사용하는 특수 키워드가 있습니다.
any=0.0.0.0 255.255.255.255(모든 IP)host 192.168.1.1=192.168.1.1 0.0.0.0(특정 IP 하나)
access-list 10 permit any ← 모든 출발지 허용
access-list 10 deny host 192.168.1.100 ← 특정 IP 차단
ACL의 암묵적 거부
ACL의 마지막에는 보이지 않는 규칙이 있습니다. 암묵적 거부(Implicit Deny)입니다. ACL에 명시적으로 허용(permit)되지 않은 모든 트래픽은 자동으로 거부됩니다.
access-list 10 permit 192.168.1.0 0.0.0.255
(암묵적: access-list 10 deny any) ← 눈에 보이지 않지만 존재
→ 192.168.1.0/24 외의 모든 트래픽이 차단됨
따라서 특정 트래픽만 차단하고 나머지를 허용하려면, 마지막에 permit any를 반드시 추가해야 합니다.
access-list 10 deny host 10.0.0.1
access-list 10 permit any ← 이 줄이 없으면 모든 트래픽이 차단됨
시험 포인트
- DHCP 풀:
ip dhcp pool [이름]→network,default-router,dns-serverip dhcp excluded-address는 풀 밖(Global Config)에서 설정한다.- NAT: inside/outside 인터페이스 지정 →
ip nat inside source list [ACL] interface [IF] overloadoverload가 PAT(다:1 변환)를 활성화한다.- Standard ACL(1~99): 출발지 IP만 / Extended ACL(100~199): 출발지+목적지+프로토콜+포트
- ACL은 인터페이스에
ip access-group으로 적용해야 효과가 있다.- 와일드카드 마스크 = 255에서 서브넷 마스크를 뺀 값
- ACL 마지막에는 암묵적 거부(deny any)가 존재한다.
실무 매핑
- 실무에서 라우터의 DHCP 기능은 소규모 네트워크에서 사용됩니다. 대규모 네트워크에서는 별도의 DHCP 서버를 운영합니다. NAT는 거의 모든 네트워크에서 사용되며, 가정의 공유기도 NAT(PAT)를 수행합니다. ACL은 기본적인 보안 정책을 구현하는 데 활용됩니다.