항상 기분좋게 긍정적으로 스마일~


Posted
Filed under IT Story/Network




--------------------------
 Access list 의 종류
--------------------------


1. Standard Access list
2. Extended Access list
3. Dynamic Access list - user name & password 를 이용한 통제 가능


* Standard Access List

- Source IP를 이용한 접근 제어


* Extended Access List

-  Source IP, Destination IP, Protocol, Port Number 등 모든 가능한 조건을 이용한
   
접근 제어

* Dynamic Access list

- user name & password 를 이용한 통제 가능
- 자주 사용되지는 않음

* Access list에 걸려 못들어가는 경우 라우터의 메시지 표시
- Host unreachable

-------------------------
Access list 규칙
-------------------------


1. access list는 윗줄부터 하나씩 차례로 수행된다

2. access list의 맨 마지막 line에 "permit any"를 넣지 않을 경우는 default로 어느 access list와도 match 되지 않은 나머지 모든 address 는 deny 된다.


- 즉, access list의 맨 마지막 줄에는, default 값으로 deny all (즉, deny any)이
지정되어 있는것으로 간주해야 함.


3. access list의 새로운 line 은 항상 맨 마지막으로 추가되므로 access-list line 의
선택적 추가(selective add)나 제거(remove)가 불가능하다

- 즉, acces list를 수정할 수 없고, 처음 초기 세팅부터 다시 시작해야 함


4. interface에 대한 access list의 정의(define)가 되지 않은 경우
(즉, interface에 access-group 명령이 들어있지 않은 경우) 결과는 permit any 가 된다.


- 즉, access list가 정의 되지 않은 interface는 default 값으로 permit any~


----------------------------
Standard access list
----------------------------

사용자 삽입 이미지

사용자 삽입 이미지

1) access list 구성

Router(config)# access-list [access-list-number] {permit | deny}
                        
{source IP  [source-wildcard] | any}


* [access-list-number] : 1 ~ 99 사이의 숫자를 이용,  
access-list의 종류에 따라 숫자가 정해짐

* {source [source-wildcard] | any} :

   - 출발지 주소 또는 출발지 네트워크를 적는다.

   -  다음으로 와일드 카드 마스크를 적어준다. (이는 생략하면 0.0.0.0으로 간주함)

   - 출발지 주소를 적지 않고 any로 설정하면 모든 주소가 포함


* (예)
Router(config)# access-list  permit  210.240.100.0   0.0.0.255

2) access list를 적용할 인터페이스 설정

Router(config-if)# ip access-group [access-list-number] {in | out}

* [access-list-number] : 이 인터페이스에 사용할 access list 번호.
                                  즉, 이전에 access list에 부여했던 번호와 동일하게 사용함으로써
                                  
access list 명령을 인터페이스에 연결해 주는 기능.

 * {in | out} :
- access list를 들어오는 쪽(in)에 부여할 지, 나오는 쪽(out)에 부여할지를 결정
- 생략되면 out이 default.
- in : 현재 인터페이스 쪽에서 라우트로 들어오는 것
- out : 라우터에서 해당 인터페이스쪽으로 나가는 것

사용자 삽입 이미지

- 즉, in / out은 라우터를 기준으로 패킷이 들어오는지 나가는지 생각하면 간단 !!!


3) 구성한 access list 확인

Router# show ip access-lists  (or show access-lists )

* access list는 인터페이스 구성까지 완전히 마쳐져야 구성을 확인할 수 있다.


4) 확장형 ping test
- access list를 지정한 후, 접속 여부를 테스트 할 때는 확장형 핑을 사용해야 한다.


-----------------------------------------------
Standard Access List Practice
-----------------------------------------------

<기억 사항>

- 출발지 주소를 이용해서 접근 제어 수행
- 리스트의 맨 마지막에는 항상 deny any가 생략되어 있는것을 기억
- access list는 순차적으로 수행되는 것을 기억

사용자 삽입 이미지


Qestion)

가. PC C를 제외한 210.240.100.0 네트워크의 모든 PC는 PC A를 접속 할 수 있다.

. 210.240.150.0 네트워크에서는 PC B를 포함해서 나머지 모든 PC 들이 PC A를 접속할 수 있다.

다. 인터넷의 모든 PC 는 PC A를 접속할 수 없다.


Answer)

Router# conf t
Router(config)# access-list 2 deny 210.240.100.5
Router(config)# access-list 2 permit 210.240.100.0   0.0.0.255
Router(config)# access-list 2 permit 210.240.150.0   0.0.0.255

Router(config)# int e 0
Router(config-if)# ip access-group 2 out
Router(config-if)# ^z
Router#

// 구성한 access list 확인
Router# sh ip access-lists 


-------------------------------------------------
텔넷 포트(VTY port)에서의 access list
-------------------------------------------------

1) VTY port 구성 모드로 변환

Router(config)# line vty 0 4
Router(config-line)#


2) 설정한 access list를 인터페이스에 구성

Router(config-line)# access-class [access-list-number] {in/out}

* in : 텔넷으로 들어오는 패킷을 제어하겠다는 의미

(예)
Router(config-line)# access-class 10 in
Router(config-line)# ^z

Router# show ip access-list


-------------------------------------------------
Extended Access List
-------------------------------------------------

* Standard Access-list Vs. Extended Access-list

- 스탠더드 액세스 리스트는 출발지 주소만을 제어하는 반면, 익스텐디드 액세스 리스트는 출발지 주소와 목적지 주소 모두를 제어

- 스탠더드 액세서 리스트는 전체 TCP/IP에 대한 제어만을 하는 반면, 익스텐디드 액세스 리스트는 ip, tcp, udp, icmp 등 특정 프로토콜을 지정해서 제어할 수 있다

- 스탠더드 액서스 리스트는  1~99의 숫자를 Access-list 번호로 사용하고, 익스텐디드 액세스 리스트는 100~199의 숫자를 Access-list 번호로 사용한다.

사용자 삽입 이미지

1) Access-list 구성

Router(config)# access-list [access-list-number]
                        {permit|deny} protocol source [source-wildcard]
                         [operator port]
                         destination [destination-wildcard] (operator)
                         (established) [log]

 * (established)

- TCP의 ACK나 RST bit이 세팅되어 들어오는 경우에만 match 하도록 하는 옵션

- (예) access-list 104 permit tcp any 128.88.0.0   0.0.255.255  established
        + 어느 source 주소이든지 ACK 또는 RST bit이 세팅되어있으면
          
128.88.0.0 네트워크에 연결 가능함
        + ACK, RST bit은 내부 인터넷에서 먼저 연결 설정요청시 reply로 들어오는
           
패킷이므로 내부 요청에 의해서만 가능한 패킷들을 의미
        + 즉, 128.88.0.0 네트워크에 있는 호스트들은 밖으로 나갈 수 있고,
           
밖에서는 128.88.0.0 네트워크로 들어올 수 없게 하는 기능을 제공



* 암기해 두면 유용한 access-list 표현

Router(config)# access-list 101 permit ip 0.0.0.0 255.255.255.255
                             
0.0.0.0 255.255.255.255
                              
=  Router(config)# access-list 101 permit ip any any 와 동일
                                        (즉, 0.0.0.0 255.255.255.255   == any 와 동일)

Router(config)# access-list 101 permit ip 0.0.0.0 255.255.255.255 131.108.5.17 0.0.0.0
                     = Router(config)# access-list 101 permit ip any host 131.108.5.17



2) 인터페이스에 구성을 적용하는 명령어

Router(config-if)# ip access-group [access-list-number] {in | out}


-------------------------------------------------
Extended Access list Practice
--------------------------------------------------

사용자 삽입 이미지

Question)

가. 150.100.1.0  255.255.255.0 네트워크에 있는 호스트들에 대해서
     
150.100.2.0  255.255.255.0 에 있는 호스트들이 FTP와 TELNET을 못하게 제한한다.

나. 나머지 모든 곳에서 150.100.1.0  255.255.255.0 네트워크로 들어오는 트래픽은 허가하기로 한다.



Answer)

Router# conf t
Router(config)# access-list 101 deny  tcp  150.100.2.0  0.0.0.255 
150.100.1.0  0.0.0.255  eq  ftp-date
Router(config)# access-list 101 deny  tcp  150.100.2.0  0.0.0.255  150.100.1.0  0.0.0.255  eq  ftp
Router(config)# access-list 101 deny  tcp  150.100.2.0  0.0.0.255  150.100.1.0  0.0.0.255  eq  telnet

// access-list의 규칙상 맨 마지막에는 항상 Deny any가 생략되므로,
// 리스트에 정의되지 않은 트래픽들을 모두 허용해주기 위해 설정.
Router(config)# access-list 101 permit ip any any

Router(config)# int e 0
Router(config-if)# ip access-group 101 out
Router(config-if)# ^z

Router# show ip access-list e 0

--------------------------------------------------
      참고 : 와일드 카드 마스크, wildcard mask
--------------------------------------------------

- OSPF 라우팅 프로토콜이나, access list 설정에서 사용되는, 일종의 마스크

- 서브넷 마스크와 비슷한 개념으로, 서브넷 마스크를 이진수로 풀었을 때, 0 으로 된 부분은 모두 1로, 1로 된 부분은 모두 0으로 바꿔서 표현

- 예) [서브넷 마스크] 255.255.0.0  =>   [와일드카드 마스크] 0.0. 255.255


-------------------------------------------------------
 참고: 혼잡(congestion)을 제어하는 방법은??
-------------------------------------------------------

1. 사용자와 application에 대한 filtering.
- access list를 사용해서 불필요한 트래픽 차단

2. broadcast 차단
- 신중히 판단해서, 불필요한 broadcast는 차단하도록 한다

3. timer 맞추기
- 일정 시간마다 한 번씩 일어나는 일들을 제대로 조정해 줌으로써(시간 간격을 늘인다든지)
네트워크의 트래픽을 줄이도록 한다. 이때 일정 시간마다 일어나는 일들의 대부분은 브로드캐스트이다.

4. 라우팅 테이블의 관리
- 라우팅 정보 교환 역시 트래픽을 발생시킨다. 따라서, 이들의 일부를 static으로 조정해서 트래픽이 줄어들게 한다.

5. 트래픽의 우선순위를 매긴다.
- 중요한 트래픽은 우선 처리해주고, 느려도 되는 트래픽은 뒤로 삔다.


* 이런 기법을 제대로 할 줄 아는 사람은 진정한 네트워크 고수~





2011/05/20 13:57 2011/05/20 13:57