3. ACL 의 기능
내부적인 패킷 필터링
부적절한 인터넷 접근으로부터의 내부
네트워크 보호
가상 터미널 포트들에 대한 접근 제한
네트워크구축실무
4. ACL 을 사용하는 이유
네트워크 트래픽을 제한하고 네트워크 성능을
증진시킴
큐잉 (Queuing) : 특정 패킷을 다른 트래픽보다 우선
처리하도록 설정
트래픽 흐름을 제어
라우팅 업데이트 목록을 제한하거나 감소시킴
네트워크 접근에 대한 기본적인 보안 레벨 제
공
어떤 트래픽 유형이 라우터의 인터페이스에서
전송될 것인지 차단될 것인지를 결정
예 : 전자우편은 허용하지만 텔넷을 차단
네트워크구축실무
5. ACL 작성 유의 사항
액세스 리스트는 문장의 순서가 중요함 .
입력한 순서대로 하나씩 수행됨
액세스 리스트 비교 작업은 일치할 때까지만
계속하고 ,
일치되는 문장이 발견되면 그대로 처리하고 ,
그 다음 문장은 더 이상 검사하지 않음 .
액세스 리스트의 기본값 (default) 은 ‘모든 주소
차단 deny any’ 임 .
네트워크구축실무
6. ACL 작성 요령
1. 좀 더 좁은 범위의 것을 먼저 선언함
( 예시 )
access-list 10 permit 164.124.116.0
0.0.0.255
access-list 10 deny 164.124.0.0
0.0.255.255
access-list 10 permit any
네트워크구축실무
7. ACL 작성 요령
2. 빈번히 조건을 만족시킬 만한 것을 먼
저 선언함
3. access-list 의 마지막에
특별히 permit any 를 선언하지 않는 한
deny any 가 선언되어 있다는 사실을 기
억할 것
네트워크구축실무
8. ACL 작성 요령
4. access-list 의 조건을 이미 선언한 상태
에서 새로 추가하는 것은
마지막 행에 추가되며 ,
임의의 줄과 줄 사이에 삽입할 수 없음
메모장을 활용하여 작업한 후 붙여넣기
를 하고 , 수정할 사항이 있으면 모든
ACL 을 삭제한 후 다시 설정해야 함
네트워크구축실무
9. 표준 ACL
출발지 주소 (source address) 만 리스트와 비교하여 허용
여부를 결정하는 방식으로 동작
( 형식 )
access-list 번호 { permit | deny } { 출발지 IP [ 와일드카드 ] |
any }
- 번호 : 1~99
- 출발지 IP
host A.B.C.D
A.B.C.D 0.0.0.255
any
네트워크구축실무
10. 확장 ACL
출발지 주소 (source address), 목적지 (destination
address, 도착지 ), 프로토콜 , 포트번호 등을 모두 참고함
( 형식 )
access-list 번호 {permit | deny} 프로토콜
source [ 와일드마스크 ]
destination [ 와일드마스크 ] [ 포트 ]
네트워크구축실무
11. 확장 ACL
번호 : 100-199
프로토콜
icmp Internet Control Message Protocol = ping
ip Any Internet Protocol
tcp Transmission Control Protocol
udp User Datagram Protocol
목적지 주소 쓰기 (destination)
A.B.C.D
any 모든 네트워크
host A.B.C.D 특정 호스트 (IP)
네트워크구축실무
12. 확장 ACL 의 포트
1) 프로토콜이 ICMP 일 때
<0-256> type-num
echo echo // 숫자 대신 별칭 가능
echo-reply echo-reply
host-unreachable host-unreachable
net-unreachable net-unreachable
port-unreachable port-unreachable
protocol-unreachable protocol-unreachable
ttl-exceeded ttl-exceeded
unreachable unreachable
네트워크구축실무
13. 확장 ACL 의 포트
2) 프로토콜이 TCP 나 UDP 일 때 사용할 수 있는 연산
자
eq 같다
established TCP 의 3-way handshake 과정이
끝나 TCP 연결이 확립
되었으면
gt 크다
lt 작다
neq 같지 않다
range 범위 안에 포함된다 .
네트워크구축실무
14. 확장 ACL 의 포트
3) TCP 일 때 사용하는 프로토콜이름
<0-65535> Port number
ftp File Transfer Protocol (21)
pop3 Post Office Protocol v3 (110)
smtp Simple Mail Transport Protocol (25)
telnet Telnet (23)
www World Wide Web (HTTP, 80)
네트워크구축실무
15. 확장 ACL 의 포트
4) UDP 일 때 사용하는 프로토콜이름
<0-65535> Port number
bootpc Bootstrap Protocol (BOOTP) client (68)
bootps Bootstrap Protocol (BOOTP) server (67)
domain Domain Name Service (DNS, 53)
snmp Simple Network Management Protocol (161)
tftp Trivial File Transfer Protocol (69)
네트워크구축실무
16. 이름 ACL (named ACL)
번호가 아니라 ACL 에 이름을 부여하고 ,
각 이름별로 관리하는 방법
( 형식 )
* 표준 ACL 인 경우
ip access-list standard { 1-99 | name_word }
* 확장 ACL 인 경우
ip access-list extended { 100-199 | name_word }
네트워크구축실무
17. 이름 ACL
예시 )
ip access-list extended FW1
deny ip 192.168.0.0 0.0.255.255 host 192.168.4.2
permit tcp any host 192.168.4.2 eq www
permit tcp any host 192.168.4.2 eq ftp
permit icmp any host 192.168.4.2
삭제할 때
no ip access-list extended FW1
네트워크구축실무
23. NAT 사용 이유
공인 IP 주소가 부족해서
내부 네트워크는 사설 IP 를 사용하고 , 외
부로 나가는 경우 공인 IP 주소 사용할 때
ISP 가 바뀌어 IP 주소가 바뀌어도 기존의
IP 주소를 바꾸지 않고 그대로 사용하고자
할 때
2 개의 인트라넷을 서로 합칠 때 네트워크
주소가 겹치는 경우
TCP 로드 분배가 필요한 경우
24. TCP 로드 분배
외부에서는 1 개의 주소로 보이는 호스트
가 내부에서는 여러 개의 호스트에 매핑되
게 하여 서버의 로드를 분배하는 기술
25. 주소 변환 과정 이해
Internet192.168.1.10
192.168.1.20
내부 로컬 주소
(Inside Local Address)
192.168.1.20
E0 S0
내부 전역 주소
(Inside Global Address)
210.179.154.1
내부주소영역
(ex 사설 IP)
외부주소영역
(ex 공인 IP)
NAT table
Inside Local Inside Global
192.168.1.10 210.179.154.1
192.168.1.20 210.179.154.1
26. 주소 변환 과정 이해
내부 주소 192.168.1.10 이 NAT 라우터를
거치면서 210.179.154.1 로 주소가 변환됨
외부의 호스트들은 192.168.1.10 을
210.179.154.1 로 인식하고 ,
210.179.154.1 을 목적지로 하여 응답을 함
NAT 장비는 210.179.154.1 을 NAT 테이
블을 보고 192.168.1.10 으로 변환해서 내
부 네트워크에 전달함
27. NAT 구성 방법
1. Static NAT ( 정적 주소변환 )
내부로컬과 전역간 1:1 변환
2. Dynamic NAT
내부로컬과 전역 풀간에 1:1 자동 변환
3. NAT overload(=PAT)
내부로컬주소와 전역 풀간에 N:1 변환
28. Static NAT
R(config)# ip nat inside source static 192.168.1.1 210.10.1.1
R(config)# int fa0/0
R(config-if)# ip nat inside
R(config-if)# exit
R(config)# int s0/0/0
R(config-if)# ip nat outside
210.10.1.0/24
Fa0/0 S0/0/0
• Local : 192.168.1.1
• Global : 210.10.1.1
192.168.1.254 210.10.1.254
29. Static NAT 구성 실습 1
□ 지시 사항
- 외부 (PC1) 에서 inside Server
에 210.1.2.11 으로 접근할 수 있
도록 하라
- inside PC 는 다음처럼 매핑
로컬 192.168.1.5
전역 210.1.2.12
- NAT 와 ISP 간에는 정적라우팅
으로 구성하라
NAT(config)# ip route 0.0.0.0 0.0.0.0
10.10.10.1
ISP(config)# ip route 210.1.2.0
255.255.255.0 10.10.10.2
30. NAT(config)# int fa0/0
NAT(config-if)# ip add 192.168.1.1
255.255.255.0
NAT(config-if)# ip nat inside
NAT(config-if)# no shut
NAT(config-if)# exit
NAT(config)# int s0/0/0
NAT(config-if)# ip add 10.10.10.2
255.255.255.0
NAT(config-if)# ip nat outside
NAT(config-if)# no shut
NAT(config-if)# exit
NAT(config)# ip route 0.0.0.0 0.0.0.0
10.10.10.1
NAT(config)# ip nat inside source static
192.168.1.10 210.1.2.11
NAT(config)# ip nat inside source static
192.168.1.5 210.1.2.12
ISP(config)# int s0/0/0
ISP(config-if)# ip add 10.10.10.1
255.255.255.0
ISP(config-if)# clock rate 56000
ISP(config-if)# no shut
ISP(config-if)# exit
ISP(config)# ip route 210.1.2.0
255.255.255.0 10.10.10.2
31. Static NAT 구성 실습 2
□ 지시 사항
- 외부 (PC1) 에서 inside Server
에 210.10.2.10 으로 접근할 수
있도록 하라
- NAT 와 ISP 간에는 RIP 라우팅
으로 구성하라
- 라우팅테이블에 192.168.1.0 이
표시되지 않아야 함
NAT(config)# router rip
NAT(config-router)#net
210.10.2.0
255.255.255.0
NAT(config-router)#exit
32. Dynamic NAT
R(config)# access-list 10 permit 192.168.1.0 0.0.0.255
R(config)# ip nat pool EX 210.10.1.1 210.10.1.10 netmask 255.255.255.0
R(config)# ip nat inside source list 10 pool EX
R(config)# int fa0/0
R(config-if)# ip nat inside
R(config)# int s0/0/0
R(config-if)# ip nat outside
210.10.1.0/24
Fa0/0 S0/0/0
• Local : 192.168.1.0/24
• Global : 210.10.1.1~210.10.1.10
192.168.1.254 210.10.1.254
33. Dynamic NAT 구성 실습
□ 지시 사항
- inside PC 를 5 개 만들어라 .
- inside PC 의 로컬 IP 는
192.168.1.11~192.168.1.15 로 함
- inside PC 들이 사용할 수 있는 공
인 IP 즉 , 글로벌 IP 의 범위는
210.10.2.1~210.10.2.3 으로 함
( 확인 )
- 각 inside PC 에서 210.10.1.10
에 HTTP 접속이 가능한지 확인
하라
- NAT 라우터에서 NAT table 확인
- 일부 PC 에서 HTTP 접속 안되
는 이유는 ?
- PC1 에서 inside PC 로 ping 되
나 ?
34. NAT(config)# int fa0/0
NAT(config-if)# ip add 192.168.1.1
255.255.255.0
NAT(config-if)# ip nat inside
NAT(config-if)# no shut
NAT(config-if)# exit
NAT(config)# int s0/0/0
NAT(config-if)# ip add 10.10.10.2
255.255.255.0
NAT(config-if)# ip nat outside
NAT(config-if)# no shut
NAT(config-if)# exit
NAT(config)# ip route 0.0.0.0 0.0.0.0
10.10.10.1
NAT(config)# access-list 10 permit
192.168.1.0 0.0.0.255
NAT(config)# ip nat pool EX 210.10.1.1
210.10.1.3 netmask 255.255.255.0
R(config)# ip nat inside source list 10
pool EX
ISP(config)# int s0/0/0
ISP(config-if)# ip add 10.10.10.1
255.255.255.0
ISP(config-if)# clock rate 56000
ISP(config-if)# no shut
ISP(config-if)# exit
ISP(config)# ip route 210.1.2.0
255.255.255.0 10.10.10.2
35. Dynamic NAT overload (PAT)
R(config)# access-list 10 permit 192.168.1.0 0.0.0.255
R(config)# ip nat pool EX 210.10.1.1 210.10.1.1 netmask 255.255.255.0
R(config)# ip nat inside source list 10 pool EX overload
R(config)# int fa0/0
R(config-if)# ip nat inside
R(config)# int s0/0/0
R(config-if)# ip nat outside
210.10.1.0/24
Fa0/0 S0/0/0
• Local : 192.168.1.0/24
• Global : 210.10.1.1
192.168.1.254 210.10.1.254
36. Dynamic NAT Overload 구성 실습
□ 지시 사항
- inside PC 를 5 개 만들어라 .
- inside PC 의 로컬 IP 는
192.168.1.0/24 로 함
- inside PC 들이 사용할 수 있는 공
인 IP 즉 , 글로벌 IP 의 범위는
210.10.2.1 로 1 개 뿐임
( 확인 )
- 각 inside PC 에서 210.10.1.10
에 HTTP 접속이 가능한지 확인
하라
- NAT 라우터에서 NAT table 확인
- PC1 에서 inside PC 로 ping 이
안되는 이유는 ?
37. NAT(config)# int fa0/0
NAT(config-if)# ip add 192.168.1.1
255.255.255.0
NAT(config-if)# ip nat inside
NAT(config-if)# no shut
NAT(config-if)# exit
NAT(config)# int s0/0/0
NAT(config-if)# ip add 10.10.10.2
255.255.255.0
NAT(config-if)# ip nat outside
NAT(config-if)# no shut
NAT(config-if)# exit
NAT(config)# ip route 0.0.0.0 0.0.0.0
10.10.10.1
NAT(config)# access-list 10 permit
192.168.1.0 0.0.0.255
NAT(config)# ip nat pool EX 210.10.1.1
210.10.1.3 netmask 255.255.255.0
R(config)# ip nat inside source list 10
pool EX overload
ISP(config)# int s0/0/0
ISP(config-if)# ip add 10.10.10.1
255.255.255.0
ISP(config-if)# clock rate 56000
ISP(config-if)# no shut
ISP(config-if)# exit
ISP(config)# ip route 210.1.2.0
255.255.255.0 10.10.10.2