* 진도

* 실습 파일
// 실습하기 이전 상태
0328_test4.gns3

* 개념
Access Control List(ACL), access list --> 접근제어목록
ACL은 access control list 의 약자이며 한글로는 접근제어목록 이라고도 한다
네트워크가 구분이 되어있는 구간에 대해서 사용이 가능하며 특정 포트 또는 구간에 대하여
주소,포트번호,옵션,프로토콜등을 구분하여 허가하거나 거부하는 리스트를 생성하여
인터페이스에 적용하는 방법으로 일종의 방화벽 역할을 하기도 한다
cf. 구글링 : Access Control List 몇 계층?
1> 특징
① 특정 트래픽 제어[permit | deny] --> 방화벽
② 정책 대상 지정
ex> 인천 서구에 사는 30개월 미만의 아동들에게 인근 도서관에서 책가방 공짜
- 정책 적용 대상 : 30개월 미만 아동들 ==> acl
- 정책 적용 인터페이스 : 인천 서구 / 인근 도서관 /// R1_fa0/0
- 정책 문법 : 책가방 공짜 ==> nat, class-map
③ layer 3 이상에서 제어 (ip address, tcp/udp port, icmp...)
2> 종류
standard acl (표준 access list) :
- 기본적인 액세스 제어, IP Packet의 source address(출발지 주소)만 검사하여 제어, L3 장비에서 적용
- 출발지 ip 주소를 근거로 permit|deny 상세 설정 불가/신속한 설정
- ACL Number : 1 ~ 99, 확장: 1300 ~ 1699 // numbered acl (수정, 추가, 삭제 × 처음부터 다시)
// named acl (수정, 추가, 삭제 ○)
extend acl (확장 access list) :
- IP Packet의 source, destination address, Protocol을 검사하여 제어, L3 장비에서 적용.
- 출발지/목적지, protocol
- 특정 프로토콜, 포트번호 등 여러 매게 변수 사용.
- ACL Number : 100 ~ 199, 확장: 2000 ~ 2699
* ping vs. traceroute
ping, traceroute => ICMP
echo => ping
- traceroute : 패킷이 가는 경로 보여줌
- ping : 통신 유무 확인 가능
* 실습
1> 실습 전
!Check List!
① show ip int brief
② 인접핑 // traceroute IP
s1
ping 22.1.1.1/
③ show ip route
cf. show ip int b
R1#show ip int brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 11.1.1.254 YES NVRAM up up
FastEthernet0/1 1.1.12.1 YES NVRAM up up
Loopback1 1.1.1.1 YES NVRAM up up
의미 ???
- status
- protocol
2> 실습
standard acl (표준 access list)
R3_fa0/0 --> inbound -- 1
R3_fa0/1 --> outbound
S1에서 시작한 주소 (11.1.1.1/32, 11.1.1.0/24, 11.1.0.0/16, 11.0.0.0/8)
R3
conf t
access-list [숫자] 3 [permit | deny] deny [so_ip] 11.1.1.1 [wildcard]0.0.0.0 [옵션]
-> access-list 3 deny 11.1.1.1 0.0.0.0
--> access-list 3 deny host 11.1.1.1
--> access-list 3 deny 11.1.1.1
int fa 0/0
ip access-group 3 in
end
R3
conf t --> syslog udp 514 *****
logging on
logging host 7.7.7.7
logging trap 7 ---> trap [0-7] -> 0-4 심가 5-7 일반
no logging console ***
access-list 3 deny 11.1.1.1 0.0.0.0
access-list 3 permit any // 이 외의것은 허용
// ↑ 안 써주면, 암묵적 거부 : access-list 3 deny any ****
int fa 0/0
ip access-group 3 in
end
11.1.1.2???
--------------------------
[gns3]
// 동영상 1 참고!
// S1
S1#ping 22.1.1.1 repeat 100000
Type escape sequence to abort.
Sending 100000, 100-byte ICMP Echos to 22.1.1.1, timeout is 2 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// R3
R3#
R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#
R3(config)#access-list 3 deny 11.1.1.1 0.0.0.0 // 해당 네트웍 주소 거부
R3(config)#
R3(config)#int fa 0/0
R3(config-if)#
R3(config-if)#ip access-group 3 in
// S1
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
//R3
R3(config-if)#no ip access-group 3 in
R3(config-if)#
// S1
!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
// R3
R3(config-if)#ip access-group 3 in
R3(config-if)#
R3(config-if)#end
// S1
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
===========================
// ip 변경, access-list 조정
// S1
S1#
S1#conf t
S1(config)#int f0/0
S1(config-if)#ip address 11.1.1.2 255.255.255.0
S1(config-if)#
S1(config-if)#no shutdown
S1(config-if)#
S1(config-if)#end
S1#ping 22.1.1.1 repeat 100000
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU
// R3
R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#
R3(config)#access-list 3 permit any // 위에서 거부한 것 외에 나머지 허용
R3(config)#end
// S1
UU!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // ping 다시 되는 것 확인 가능
// R3
R3#show ip access-lists
Standard IP access list 3
10 deny 11.1.1.1 (39851 matches)
20 permit any (245 matches)
// S1
S1#ping 1.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/9/12 ms
S1#ping 2.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/20/32 ms
S1#ping 3.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 3.1.1.1, timeout is 2 seconds:
UUUUU
Success rate is 0 percent (0/5)
S1#
S1#ping 3.1.1.1 // R3> .3에서 차단했으므로 안됨
// access-list 변경
// R3
R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#
R3(config)#int fa 0/0
R3(config-if)#
R3(config-if)#no ip access-group 3 in
R3(config-if)#
R3(config-if)#exit
R3(config)#
R3(config)#int fa 0/1
R3(config-if)#
R3(config-if)#ip access-group 3 out
R3#show run int fa 0/1 // 설정 확인
Building configuration...
Current configuration : 116 bytes
!
interface FastEthernet0/1
ip address 1.1.34.3 255.255.255.0
ip access-group 3 out
duplex auto
speed auto
end
========================
========================
========================
standard acl (표준 access list) :
// numbered
access-list 2 permit 1.1.1.1
access-list 2 permit 2.1.1.1
access-list 2 permit 3.1.1.1
access-list 2 permit 4.1.1.1
access-list 2 permit 5.1.1.1
access-list 2 permit 6.1.1.1
access-list 2 permit 7.1.1.1
...R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#
R3(config)#access-list 3 per
R3(config)#access-list 3 permit any
R3(config)#end
1번째 줄. 문법을 수정하고 싶다. XXXX
conf t
no access-list 2 // 모든 acl 2번은 삭제
access-list 2 permit 1.1.2.1 // 첫번째 줄 수정
access-list 2 permit 2.1.1.1
access-list 2 permit 3.1.1.1
access-list 2 permit 4.1.1.1
access-list 2 permit 5.1.1.1
access-list 2 permit 6.1.1.1
access-list 2 permit 7.1.1.1
...
2번째 줄과 3번째 줄 사이에 새 명령어 추가 XXXX
==> 전부 지우고 처음부터 다시!
=======================
// named
conf t
ip access-list standard(extend) CCC(적당한 이름)
permit 1.1.1.1
permit 2.1.1.1
permit 3.1.1.1
permit 4.1.1.1
permit 5.1.1.1
permit 6.1.1.1
permit 7.1.1.1
...
1번째 줄. 문법을 수정하고 싶다. OK
ip access-list standard CCC
no 10 <- 첫 줄 삭제된다.
10 permit 1.1.5.1 <-- 첫 줄에 추가된다.
2번째 줄과 3번째 줄 사이에 새 명령어 추가 ok
ip access-list standard CCC
25 permit 3.4.5.6
표준 ANSI
- 예약어 금지
<실습 2>
s1
conf t
access-list ?
access-list 2 remark boss_ip // 주석문 달기 : remark
end
show run | in remark
conf t
int fa 0/1
description boss_pc_connect
end
show interfaces description
--------------------------------------
[gns3]
S1#
S1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
S1(config)#
S1(config)#int fa 0/1
S1(config-if)#
S1(config-if)#description boss_pc_connect
S1(config-if)#end
S1#
S1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
S1(config)#
*Mar 1 01:38:13.451: %SYS-5-CONFIG_I: Configured from console by console
S1(config)#end
S1#show interfaces description
Interface Status Protocol Description
Fa0/0 up up
Fa0/1 admin down down boss_pc_connect
S1#
// access-list 삭제
R3
R3#show run | in access-list
access-list 3 deny 11.1.1.1 // 얘내 복사
access-list 3 permit any
R3#
R3#
R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#
R3(config)#no access-list 3 deny 11.1.1.1 // 붙여넣기> Ctrl + a 하면 맨 앞으로 커서 감
R3(config)#no access-list 3 permit any
R3(config)#
R3(config)#end
R3#show run | in access-list
*Mar 1 01:50:08.795: %SYS-5-CONFIG_I: Configured from console by console
R3#show run | in access-list
R3#
R3#
=========================
<실습 3>
extend acl (확장 access list) :
R1_fa0/1 <-- outbound
1)
S1에서 출발해서 S2로 가는 icmp_echo [ping] 차단
S1에서 출발해서 R5_lo5로 가는 icmp_echo [ping] 허가
2)
S1에서 출발해서 R4_lo4로 가는 telnet [ping] 차단 [23]
S1에서 출발해서 R3_lo3로 가는 telnet [ping] 허가
3)
S1에서 출발해서 R2_lo2로 가는 http 차단 [80]
S1에서 출발해서 S2로 가는 ssl 허가 [443] // 복잡해서 생략! sdm 올리고 인증서 어쩌구???
4)
S1에서 출발해서 R5_lo5로 가는 ssh 허가 [22]
S1에서 출발해서 R4_lo4로 가는 ssh 차단
5)
S1에서 출발해서 R3_lo3로 가는 ftp 차단 ***[20, 21]
// numbered
R1
conf t
1)
access-list [숫자] 100 [permit|deny] deny [protocol] icmp [so_ip] 11.1.1.0 [wildcard]
0.0.0.255 [de_ip] 22.1.1.0 [wildcard] 0.0.0.255 [옵션] 생략
--> access-list 100 deny icmp 11.1.1.0 0.0.0.255 22.1.1.0 0.0.0.255
--> access-list 100 permit icmp 11.1.1.0 0.0.0.255 5.1.1.0 0.0.0.255
2)
access-list [숫자] 100 [permit|deny] deny [protocol] tcp [so_ip] 11.1.1.0 [wildcard]
0.0.0.255 [de_ip] 22.1.1.0 [wildcard] 0.0.0.255 [옵션] eq 23 //telnet : 23
--> access-list 100 deny tcp 11.1.1.0 0.0.0.255 4.1.1.0 0.0.0.255 eq 23
--> access-list 100 permit tcp 11.1.1.0 0.0.0.255 3.1.1.0 0.0.0.255 eq 23
3)
--> access-list 100 deny tcp 11.1.1.0 0.0.0.255 2.1.1.0 0.0.0.255 eq 80
--> access-list 100 permit tcp 11.1.1.0 0.0.0.255 22.1.1.0 0.0.0.255 eq 443
4)
--> access-list 100 permit tcp 11.1.1.0 0.0.0.255 5.1.1.0 0.0.0.255 eq 22
--> access-list 100 deny tcp 11.1.1.0 0.0.0.255 4.1.1.0 0.0.0.255 eq 22
5)
--> access-list 100 deny tcp 11.1.1.0 0.0.0.255 3.1.1.0 0.0.0.255 range 20 21
eq 20 | eq 21
access-list 100 permit ip any any ****** 이거 나머지는 허용
[gns3]
// numbered
// R1
int fa 0/1
ip access-group 100 out
end
conf t
// 위에 1) ~ 5) 까지 모두 쳐줄것!
show run | in access-list
show run int fa 0/1
[확인]
s1# ping 22.1.1.1
R1# show ip access-lists 100
s1# ping 5.1.1.1
R1# show ip access-lists
-----------------------------
// R3, R4 (telnet 만들기; )
R3/4
conf t
username admin privilege 15 password cisco
line vty 0 4
login local
end
// 확인
//S1
telnet 4.1.1.1 // deny
//R1
show ip access-lists
//S1
telnet 3.1.1.1 // permit
//R1
show ip access-lists
-----------------------------
// R2 (http 만들기; 80)
conf t
username admin privilege 15 password cisco
ip http server
ip http authentication local
// 확인
//S1
telnet 2.1.1.1 80 //80 http(web)
//R1
show ip access-lists
-----------------------------
// R5 (ssh 만들기; 22)
// key 만들기
conf t
ho xxx -- 1
ip domain name junga.com --2
crypto key generate rsa modulus 1024 --- 3
username admin privilege 15 password cisco *****
ip ssh version 2 -- 4 옵션
line vty 0 4
transport input ssh
login local
end
// 확인
//S1
ssh -c aes128-cbc -l admin - v 2 5.1.1.1
//R1
show ip access-lists
-----------------------------
// R4 (ssh 만들기; 22)
// key 만들기
conf t
ho xxx -- 1
ip domain name junga.com --2
crypto key generate rsa modulus 1024 --- 3
username admin privilege 15 password cisco *****
ip ssh version 2 -- 4 옵션
line vty 0 4
transport input ssh
login local
end
// 확인
//S1
ssh -c aes128-cbc -l admin - v 2 5.1.1.1
//R1
show ip access-lists
===============
// named
R1
conf t
ip access-list extend TEST
deny icmp 11.1.1.0 0.0.0.255 22.1.1.0 0.0.0.255
permit icmp 11.1.1.0 0.0.0.255 5.1.1.0 0.0.0.255
deny tcp 11.1.1.0 0.0.0.255 4.1.1.0 0.0.0.255 eq 23
permit tcp 11.1.1.0 0.0.0.255 3.1.1.0 0.0.0.255 eq 23
deny tcp 11.1.1.0 0.0.0.255 2.1.1.0 0.0.0.255 eq 80
permit tcp 11.1.1.0 0.0.0.255 22.1.1.0 0.0.0.255 eq 443
permit tcp 11.1.1.0 0.0.0.255 5.1.1.0 0.0.0.255 eq 22
deny tcp 11.1.1.0 0.0.0.255 4.1.1.0 0.0.0.255 eq 22
deny tcp 11.1.1.0 0.0.0.255 3.1.1.0 0.0.0.255 range 20 21
permit ip any any // 이거 나머지는 허용
=================
*** CCNA 시험 문제
D:\3월 네트웍기초 서정아\수업자료\덤프\NA덤프_샘플\CCNA시뮬레이션
=> CCNA_Simulation_ACL.pkt // 실습 파일
CCNA_Simulation_ACL.pkt
=> acl_dump.mp4 동영상 참조 // 풀이 동영상
R2_Fa0/1 out
conf t
access-list 100 permit host 192.168.240.3 host 172.22.242.23 eq 80
access-list 100 deny tcp any host 172.22.242.23 eq 80
access-list 100 permit ip any any
int fa 0/1
ip access-group 100 out
end
Desktop192.
순서는 작은것부터 먼저 적용
송명석 permit
송씨 drop
...
D:\송영석강사\CCNA자료\15년NA동영상