2012년 1월 29일 일요일

27. AP 무선장치


* 무선세상
1. AP(access point)
- 유선 랜과 무선 랜을 연결시켜주는 장치

2. 무선랜의 통신방식
- CSMA/CA : 충돌 회피방식(Collision Avoidance)
- IEEE802.11 데이터 전송방식
1) listen air space : 현재 통신이 일어나고 있는지 감지상태
2) set random wait timer before sending frame : 데이터를 바로 보내지 않고 다시 랜덤한 시간동안 기다린다. 혹시 있을지 모르는 충돌을 미연에 방지하기 위함이다
3) after timer has passed, listen again and send : 랜덤한 시간이 흐르고 난 후 다시 한번 더 통신이 일어나고 있는지를 들어 본후에 비로서 프레임을 전송한다
4) wait for an ack : 무선에서는 전송후 수신단에서 받았다는 신호(ack)를 기다린다
5) if no ack, resend the frame : 수신단에서 ack신호를 받지 못하면 다시 처음부터 재전송모드로 돌아간다

3. 무선랜의 통신 표준
1) IEEE802.11b : 11Mbps 속도, 2.4GHz 사용, 독립채널이 3채널
2) IEEE802.11a : 54Mbps 속도, 5GHz 사용, 독립채널이 23채널
3) IEEE802.11g : 54Mbps 속도, 2.4GHz 사용, 독립채널이 3채널
4) IEEE802.11n : 300Mbps 속도, 2.4~5GHz 사용
- 특징으로는 MIMO(multi input multi output) 방식을 적용하여 대역폭을 비약적으로 늘림
- 암호화 wpa2 - aes선택

4. SSID(무선네트워크 ID)
요즘 많은 무선 네트워크들이 존재하는데 이 무선네트워크에 고유이름들이 필요하다. 그 고유이름 역할을 한다

5. 보안
무선 보안               키분배 방식                      사용자 인증                      암호화
WEP                         고정형                                  없다                                불안
CISCO                    동적방식                              802.1x                               TKIP
WPA                      고정/동적                              802.1x                               TKIP
802.11i/WPA2       고정/동적                              802.1x                               AES - 현재 가장안전함

26. 스위치 VLAN설정


* VLAN 설정

1. 초기 스위치의 기능은 단순히 콜리전 영역을 나눠주는 정도의 역할만 하면 충분했다. 하지만 브로드캐스트의 영향이 점차 커지면서 라우터에 의한 네트워크 영역의 분류가 필수가 되었고, 네트워크를 나누는 것은 스위치의 능력을 뛰어넘는 기능이었다. 하나의 스위치에 연결된 모든 장비들은 같은 브로드캐스트 도메인 안에 있게 되는데 이것을 스위치 내에서 VLAN을 이용한 네트워크 분리가 가능하게 하는것이 가상랜이다, 즉 스위치포트의 일부분을 VLAN을 생성하여 그룹을 만들어서 서로 다른 네트워크로 만든다.

2. 트렁킹이란
- 각기 다른 VLAN이 데이터를 주고 받을수 있게 하는 한 라인으로 된 통로이다. 각 VLAN들은 트렁킹이라는 셔틀버스에 자기들의 패킷을 태울때 각각 이름표를 붙여주는데 이 이름표를 어떻게 붙여주느냐에 따라 두가지 방식이 있다

1) ISL 트렁킹 : 시스코에서 만든 프로토콜로서 시스코 장비끼리만 사용하는 방식이다. 동작방식은 모든 VLAN에 테그를 달아준다

2) IEEE802.1Q 트렁킹 : 트렁킹에 대한 표준 프로토콜이다. 여기서는 네이티브 VLAN(Native VLAN)이라는 기본 VLAN은 테그를 붙히지 않는것이 특징이다.

3. VTP(VLAN Trunking Protocol)이란

- 여러대의 스위치들에 VLAN를 설정시 한대씩 설정해주는 것보다 한대의 서버 스위치를 정하고 나머지 스위치들은 VLAN 정보를 서버와 동기화 시키는 프로토콜이다. 이것 역시 시스코 장비들끼리만 가능하다

- VTP간 주고 받는 3가지 형식의 메세지
1) Summary Advertisement : VTP서버가 자신에게 연결되어 있는 스위치들에게 5분 마다 Revision No를 전송한다
2) Subset Advertisement : 구성이 변경되었을때나 VTP 클라이언트로부터 Advertisement Request메세지를 받았을때 전송된다
3) Advertisement Request : 클라이언트 스위치가 자신의 버전과 서버에서 보내온 버전이 틀릴 경우 재전송 요청할때 사용한다

- VTP의 세가지 모드
1) VTP 서버모드 : VLAN을 생성하고, 삭제하고, 이름을 갱신할수 있다
2) VTP 클라이언트 모드 : 서버의 기능은 없고 갱신을 하고 전달 가능하다
3) VTP 트랜스페어런트 모드 : 서버로 부터 메시지를 받지만 자신의 버전은 수정하지 않고 전달 가능하며 자신만의 VLAN을 생성, 삭제는 하지만 다른 스위치에게는 메시지를 보내지 않는다

4. VTP 프로토콜 활성화
Switch(config)#vtp domain cisco -> vtp 프로토콜 활성화와 vtp 도메인 이름 설정
Changing VTP domain name from NULL to cisco
Switch(config)#vtp mode ? -> 해당 스위치의 vtp모드 설정
client Set the device to client mode.
server Set the device to server mode.
transparent Set the device to transparent mode.
Switch(config)#vtp mode server -> 서버모드 설정
Device mode already VTP SERVER.
Switch#show vtp status
VTP Version : 2
Configuration Revision : 0
Maximum VLANs supported locally : 255
Number of existing VLANs : 5
VTP Operating Mode : Server
VTP Domain Name : cisco
VTP Pruning Mode : Disabled
VTP V2 Mode : Disabled
VTP Traps Generation : Disabled
MD5 digest : 0xAA 0xB9 0x0C 0xCD 0xD7 0xE8 0xA6 0xE0
Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00
Local updater ID is 0.0.0.0 (no valid interface found)
Switch#conf t
Switch(config)#
Switch(config)#int fa0/1 -> 스위치와 다른 스위치간에 연결선을 트렁크 라인으로 지정해야함
Switch(config-if)#switchport ? -> 해당포트 변경시키는 명령
access Set access mode characteristics of the interface
mode Set trunking mode of the interface
native Set trunking native characteristics when interface is in
trunking mode
nonegotiate Device will not engage in negotiation protocol on this
interface
port-security Security related command
priority Set appliance 802.1p priority
trunk Set trunking characteristics of the interface
voice Voice appliance attributes
Switch(config-if)#switchport mode trunk -> 지정포트를 트렁크 모드로 지정
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
Switch(config-if)#

5. VLAN의 4가지 진실

1) 디폴트 VLAN이 이미 설정이 되어 있다 - VLAN 1으로 설정됨
- show int status : 포트별 상태보기
2) 각 스위치마다 만들 수 있는 VLAN의 개수는 다르다
- show vtp status : 버전과 그밖에 정보를 확인할 수 있음
3) 스위치의 IP주소 설정은 VLAN 1에만 한다
- 스위치에 IP 주소를 주는 목적은 관리를 위함이다
4) VLAN을 추가하고 삭제하는 작업은 VTP서버 모드와 트랜스페어런트 모드에서만 가능하다

6. VLAN 추가
Switch(config)#vlan 2 -> vlan 생성
Switch(config-vlan)#name ccna -> 이름 변경
Switch(config-vlan)#end
Switch#
%SYS-5-CONFIG_I: Configured from console by console
Switch#show vlan -> vlan 정보확인
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/5
Fa0/6, Fa0/7, Fa0/8, Fa0/9
Fa0/10, Fa0/11, Fa0/12, Fa0/13
Fa0/14, Fa0/15, Fa0/16, Fa0/17
Fa0/18, Fa0/19, Fa0/20, Fa0/21
Fa0/22, Fa0/23, Fa0/24
2 ccna active
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#no vlan 2 -> vlan 삭제
Switch(config)#end
Switch#show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/2, Fa0/3, Fa0/4, Fa0/5
Fa0/6, Fa0/7, Fa0/8, Fa0/9
Fa0/10, Fa0/11, Fa0/12, Fa0/13
Fa0/14, Fa0/15, Fa0/16, Fa0/17
Fa0/18, Fa0/19, Fa0/20, Fa0/21
Fa0/22, Fa0/23, Fa0/24
1002 fddi-default act/unsup
1003 token-ring-default act/unsup
1004 fddinet-default act/unsup
1005 trnet-default act/unsup

7. 추가한 VLAN에 해당 포트들을 지정
Switch(config)#int fa0/2 -> VLAN으로 지정하고자하는 포트선택
Switch(config-if)#switchport access vlan 2 -> 해당포트를 VLAN 2로 접근허용
Switch(config-if)#no switchport access vlan 2 -> 포트 삭제

8. 실전 VLAN 설정

- 한 개의 라우터와 두 개의 스위치(A, B)가 있고 각 스위치마다 2~3개의 PC가 연결되어 있다. 그런데 B스위치에 PC한대가 A스위치의 PC그룹과 같은 소속이 되어야 한다고 하자. 라우터와 A스위치만 물리적으로 연결이 되어있고 B스위치는 A스위치로 트렁킹 되어있다. 이때 VLAN설정과정은 아래와 같다

1) 스위치 A설정
SW-A(config)#enable password cisco
SW-A(config)#username ccna password cisco
SW-A(config)#service password-encryption
SW-A(config)#line vty 0 4
SW-A(config-line)#login local
SW-A(config-line)#exit
SW-A(config)#int vlan 1 -> 기본VLAN 1에만 IP를 설정할수 있음
SW-A(config-if)#ip add 192.168.1.2 255.255.255.0 -> 해당 A스위치 네트워크내의 IP설정
SW-A(config-if)#no shutdown -> 포트 활성화
%LINK-5-CHANGED: Interface Vlan1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up
SW-A(config-if)#exit
SW-A(config)#ip default-gateway 192.168.1.1 -> 스위치와 연결된 논리적인 라우터포트의 IP를 꼭 설정해줘야함
SW-A(config)#int fa0/24
SW-A(config-if)#switchport mode trunk -> 스위치 B와 연결된 라인을 트렁킹 모드로 설정
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/24, changed state to down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/24, changed state to up
SW-A(config-if)#int fa0/23 -> 논리적인 라우터포트와 연결된 라인을 지정
SW-A(config-if)#switchport mode trunk -> 트렁킹 모드로 설정
SW-A(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/23, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/23, changed state to up

2) 스위치 B설정
SW-B(config)#enable password cisco
SW-B(config)#username ccna password cisco
SW-B(config)#service password-encryption
SW-B(config)#line vty 0 4
SW-B(config-line)#login local
SW-B(config-line)#exit
SW-B(config)#int vlan 1 -> 기본VLAN 1에만 IP를 설정할수 있음
SW-B(config-if)#ip add 192.168.2.2 255.255.255.0 -> 해당 B스위치 네트워크내의 IP설정
SW-B(config-if)#no shutdown -> 포트 활성화
%LINK-5-CHANGED: Interface Vlan1, changed state to up

%LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up
SW-B(config-if)#exit
SW-B(config)#ip default-gateway 192.168.2.1 -> 스위치와 연결된 논리적인 라우터포트의 IP를 꼭 설정해줘야함
SW-B(config)#vlan 2 -> VLAN 2 생성
SW-B(config-vlan)#
SW-B(config-vlan)#exit
SW-B(config)#int fa0/1 -> VLAN 2로 지정할 포트선택
SW-B(config-if)#switchport access vlan 2 -> VLAN 2를 접근할수 있게 허용
SW-B(config-if)#int fa0/2 -> VLAN 2로 지정할 포트선택
SW-B(config-if)#switchport access vlan 2 -> VLAN 2를 접근할수 있게 허용
SW-B(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/24, changed state to down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/24, changed state to up
SW-B(config)#int fa0/24 -> A스위치와 연결된 라인을 선택
SW-B(config-if)#switchport mode trunk -> 트렁킹 모드로 설정

3) 라우터 설정
Router(config)#int fa0/0 -> 스위치와 물리적으로 연결된 포트 선택
Router(config-if)#no shutdown -> 포트 활성화
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Router(config-if)#int fa0/0.1 -> 네트워크가 다른 논리적인 포트로 분할
%LINK-5-CHANGED: Interface FastEthernet0/0.1, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0.1, changed state to up
Router(config-subif)#encapsulation ?
dot1Q IEEE 802.1Q Virtual LAN
Router(config-subif)#encapsulation dot1Q ? -> 트렁킹방식 중 표준인 dot1q방식 선택
<1-1005> IEEE 802.1Q VLAN ID
Router(config-subif)#encapsulation dot1Q 1 ? -> 기본VLAN을 선택
native Make this as native vlan
<cr>
Router(config-subif)#encapsulation dot1Q 1 native -> 기본VLAN 모두를 지정
Router(config-subif)#ip add 192.168.1.1 255.255.255.0 -> 기본 VLAN들의 게이트웨이 설정
Router(config-subif)#exit
Router(config)#int fa0/0.2 -> 또다른 논리적인 포트
%LINK-5-CHANGED: Interface FastEthernet0/0.2, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0.2, changed state to up
Router(config-subif)#encapsulation ?
dot1Q IEEE 802.1Q Virtual LAN
Router(config-subif)#encapsulation dot1Q 2 -> 생성한 VLAN번호를 지정한다
Router(config-subif)#ip add 192.168.2.1 255.255.255.0 -> 선택한 VLAN들의 게이트웨이 설정
Router(config-subif)#end

25. 스위치 STP설정

** 스위치와 브릿지

1. 스패닝트리 알고리즘
- 스위치들끼리 한 개이상의 경로가 존재할 때 발생하는 루핑을 막아주기 위한 프로토콜이다
- 여러 경로중에 최단거리(최우선 경로)를 사용하고 다른 경로는 막아두었다가 경로에 문제가 발생하면 차선경로를 살린다
- 전체 연결경로의 cost값을 더해서 계산 후 가장 작은 값의 경로를 제외하고 모두 절단하는 방식, 그런데 최우선 경로의 장애가 있으면 차선의 경로를 연다. 여기서 루트 스위치를 선출하여 관리한다

2. 브리지 ID와 Path cost
- 브리지 ID : 총 8바이트(64비트)로 되어있는데 앞 2바이트(16비트)가 브리지우선순위(bridge priority)이고 뒤 6바이트(48비트)가 맥 어드레스로 이루어져 있다. 브리지우선순위는 0~65535가 올수 있는데 기본값으로 중간에 해당하는 32768을 사용한다
- 경로 값(path cost) : 대역폭에 따라 stp cost(=path cost)를 이용하여 최우선 경로를 계산한다
---------------------------------------
bandwidth(대역폭) STP cost(path cost)
10Gbps : 2
1Gbps : 4
622Mbps : 6
155Mbps : 14
100Mbps : 19
45Mbps : 39
16Mbps : 62
10Mbps : 100
4Mbps : 250
---------------------------------------

3. 스패닝 트리의 특징
1) 네트워크당 하나의 루트 브리지(Root Bridge)를 갖는다
- 브리지 ID를 이용하여 대장 브리지를 선출한다

2) 루트 브리지가 아닌 나머지 모든 브리지는 무조건 하나씩의 루트 포트를 갖는다
- 루트 브리지가 아닌 Non root bridge는 루트 포트를 갖는다. 여기서 루트 포트는 루트 브리지로 가는 가장 빠른 경로를 의미하는데 path cost를 이용하여 경로를 선택한다

3) 세그먼트(콜리전도메인)당 하나씩의 데지그네이티드 포트(Designated Port)를 갖는다
- 루트 브리지에 연결된 포트는 데이그네이트드 포트가 되는데, 즉 루트 브리지 각 포트마다 연결된 다른 브리지들이 연결되있는 포트는 지정포트로 고정이 된다

<참고>
스패닝 트리 프로토콜은 루트 포트나 데지그네이티드 포트가 아닌 나머지 모든 포트는 다 막아버린다. 즉 루트와 데지그네이티드 포트를 뽑는 목적은 어떤 포트를 살릴지 결정하기 위한 것이다.

4. 루트스위치를 뽑는 순서
1) 누가 더 작은 루트 BID를 가졌는가
2) 루트 브리지까지의 path cost값은 누가 더 작은가
3) 누구의 BID(Sender BID)가 더 낮은가
4) 누구의 포트 ID가 더 낮은가

<참고>
- 브리지는 스패닝 트리 정보를 주고 받는데 특수한 프레임을 사용하는데 이를 BPDU(bridge protocol data unit)라고 한다
- BPDU신호를 2초마다 broadcast로 신호를 교환한다

<참고> 비교
- 라우터의 OSPF : 대장 라우터와 부대장라우터를 선출하고 나면 고정이 된다. 문제가 있을시만 부대장이 대장라우터가 되는 구조이다
- 스위치의 STP : 대장 스위치를 선출하고 2초마다 신호를 교환하고 변화가 생기면 값을 따져서 대장스위치를 계속 선출한다. 수시로 바뀔수 있다.

5. 스패닝트리 프로토콜의 5가지 상태변화
1) disabled : 포트불량, 포트 shutdown상태
- 데이터전송 x, 맥어드레스 학습 x, BPDU신호교환 x

2) blocking : 전원 on, 포트 no shutdown상태, 블로킹 상태, 루트 브리지 선출과정
- 데이터전송 x, 맥어드레스 학습 x, BPDU신호교환 o

3) listening : 각 포트별 루트와 데지그네이티드 포트로 선정, 리스닝 상태
- 데이터전송 x, 맥어드레스 학습 x, BPDU신호교환 o

4) learning : 리스닝 상태에 있던 포트가 포워딩 딜레이 디폴트 시간인 15초동안 유지하면 러닝상태
- 데이터전송 x, 맥어드레스 학습 o, BPDU신호교환 o

5) forwarding : 러닝 상태에서 포워딩 상태 딜레이 디폴트 시간인 15초동안 유지하면 포워딩 상태
- 데이터전송 o, 맥어드레스 학습 o, BPDU신호교환 o

<참고>
disabled --------> blocking --------> listening --------> learning --------> forwarding
20초 15초 15초
- 일반적인 802.1d로 정의 되있는 STP는 50초의 수렴시간(convergence time) 걸린다, 그래서 개선한 프로토콜로서 802.1w로 정의 한 RSTP(Rapid Spanning Tree Protocol)는 3초의 수렴시간이 걸린다
- 최신의 스위치는 RSTP을 지원하지만 기본값은 비활성화 되어있다. 이유는 구식 장비와 신식 장비간에 프로토콜이 맞지 않으면 작동하지 않기 때문이다.
- RSTP 구성방법을 알아둘것

6. STP(Spanning Tree Protocol)의 동작
- 기본적으로 스위치들끼리 물리적으로 연결을 하면 위와 같이 스패닝 트리 프로토콜이 작동하여 자동으로 5가지의 상태변화를 갖고 대기 상태가 된다. 그런데 특정한 스위치를 루트 브리지로 만들고 싶다면 아래와 같이 설정한다

sw-b(config)#spanning-tree ? -> 메뉴중에 하나를 선택한다
mode Spanning tree operating mode
portfast Spanning tree portfast options
vlan VLAN Switch Spanning Tree
sw-b(config)#spanning-tree vlan ? -> 바꾸고자 하는 vlan 번호를 입력한다(기본적으로 vlan 1이다)
WORD vlan range, example: 1,3-5,7,9-11
sw-b(config)#spanning-tree vlan 1 ? -> 브리지의 BID 값을 임의설정한다
priority Set the bridge priority for the spanning tree
root Configure switch as root
<cr>
sw-b(config)#spanning-tree vlan 1 priority 8192 ? -> 디폴트 값은 32768을 사용하지만 이보다 낮춘다
<cr>
sw-b(config)#spanning-tree vlan 1 priority 8192
sw-b(config)#
sw-b#show spanning-tree -> 설정완료 후 이 명령으로 자신 스위치의 상태를 점검
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 8193
Address 0060.5C44.191C
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 8193 (priority 8192 sys-id-ext 1)
Address 0060.5C44.191C
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 20
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- --------------------------------
Fa0/1 Desg FWD 19 128.1 P2p -> 물리적으로 연결되있는 포트의 상태확인가능(지정된 상태)
Fa0/2 Desg FWD 19 128.2 P2p
sw-b#show cdp neighbors -> 이 명령으로 물리적으로 직접연결되어 있는 장비들을 확인 가능
Capability Codes: R - Router, T - Trans Bridge, B - Source Route Bridge
S - Switch, H - Host, I - IGMP, r - Repeater, P - Phone
Device ID Local Intrfce Holdtme Capability Platform Port ID
sw-a Fas 0/1 168 S 2950 Fas 0/1
sw-c Fas 0/2 173 S 2950 Fas 0/2

<참고>
PoE (Power of Ethernet) : 동시에 전원을 공급하고 데이터를 전송할수 있는 기술이다. 누군가의 노력으로 이 기술이 탄생하였지만 그 기술을 시기하고 빼앗으려는 무리들에 의해서 그 사람은 이슬로 사라졌다는 슬픈전설이 있다. 일각에서는 그 무리들이 삼류전자와 쥔돼쥐라는 인물이 서로 결탁하여 그 기술을 뺏으려고 개발자의 회사를 문닫게하고 삶을 살아갈수 없을 정도로 악날하게 괴롭혀서 그 개발자는 끝내 목숨을 끊었다는 설도 있다. 이것이 정말 사실이라면 참담한 현실이다... 씁쓸하다, 그리고 이 기술뿐만이 아니라는 것이 실로 경악하지 않을 수 없다.

<참고>
맥 어드레스 저장은 맥어드레스 테이블에 저장 되는데 맥주소와 접속되있는 포트를 매칭하고 300초가 지나도록 사용하지 않으면 맥 테이블을 지운다

24. 라우터 NAT 설정

* IP주소의 변환 NAT (Network Address Translation)

- NAT 테이블로 관리한다, 즉 사설IP하나와 공인IP하나를 매칭한다
- 내부 IP주소를 숨김으로서 보안상의 기능을 획득할 수 있다

- NAT 설정 방법
R1(config)#ip nat pool ? -> 이름 생성
WORD Pool name
R1(config)#ip nat pool apple ? -> 로컬주소 처음주소 지정
A.B.C.D Start IP address
R1(config)#ip nat pool apple 172.16.1.1 ? -> 로컬주소 마지막주소 지정
A.B.C.D End IP address
R1(config)#ip nat pool apple 172.16.1.1 172.16.1.1 ? -> 로컬주소의 네트워크마스크
netmask Specify the network mask
R1(config)#ip nat pool apple 172.16.1.1 172.16.1.1 netmask ?
A.B.C.D Network mask
R1(config)#ip nat pool apple 172.16.1.1 172.16.1.1 netmask 255.255.255.252 -> 완성
R1(config)#ip nat ?
inside Inside address translation -> 내부 주소 변환
outside Outside address translation -> 공인 주소 변환
pool Define pool of addresses
R1(config)#ip nat insi ?
source Source address translation
R1(config)#ip nat insi source ?
list Specify access list describing local addresses
static Specify static local->global mapping
R1(config)#ip nat insi source list ?
<1-199> Access list number for local addresses
WORD Access list name for local addresses
R1(config)#ip nat insi source list 1 ?
interface Specify interface for global address
pool Name pool of global addresses
R1(config)#ip nat insi source list 1 pool ?
WORD Name pool of global addresses
R1(config)#ip nat insi source list 1 pool apple ?
overload Overload an address translation
<cr>
R1(config)#ip nat insi source list 1 pool apple overload
R1(config)#access-list ?
<1-99> IP standard access list
<100-199> IP extended access list
R1(config)#access-list 1 ?
deny Specify packets to reject
permit Specify packets to forward
remark Access list entry comment
R1(config)#access-list 1 permit ?
A.B.C.D Address to match
any Any source host
host A single host address
R1(config)#access-list 1 permit 192.168.1.0 0.0.0.255
R1(config)#int fa0/0
R1(config-if)#ip ?
access-group Specify access control for packets
address Set the IP address of an interface
hello-interval Configures IP-EIGRP hello interval
helper-address Specify a destination address for UDP broadcasts
inspect Apply inspect name
ips Create IPS rule
mtu Set IP Maximum Transmission Unit
nat NAT interface commands
ospf OSPF interface commands
split-horizon Perform split horizon
summary-address Perform address summarization
virtual-reassembly Virtual Reassembly
R1(config-if)#ip nat ?
inside Inside interface for address translation
outside Outside interface for address translation
R1(config-if)#ip nat inside
R1(config-if)#exit
R1(config)#int s2/0
R1(config-if)#ip nat ?
inside Inside interface for address translation
outside Outside interface for address translation
R1(config-if)#ip nat outside
R1(config-if)#
<참고>
- PAT는 공유기가 하는 것으로 하나의 공인IP로 여러개의 사설IP를 이용할 수 있게한다
- 공유기는 방화벽역할을 하고 IP를 효율적으로 사용가능하게 한다

23. 라우터 ACL 액세스 리스트


** 네트워크 접근 제어
액세스 리스트 (Access List)

1. 액세스 리스트의 종류

1) 스탠더드 액세스 리스트 : 출발지주소만 보고 (제한여부)결정한다
- inbound access list : 라우터의 in방향으로 패킷이 들어오면 해당 인터페이스에 액세스 리스트가 있는지 확인하고 설정되어 있으면 비교하게 되는데 출발지 주소와 액세스 리스트의 주소를 비교한다, 해당되면 허용 및 거부의 조건에따라 충족되면 정해진데로 처리하는 것이다
- outbound access list : 라우터의 out방향으로 패킷이 나가는것을 제어한다
- TCP/IP에 대한 제어만 가능
- 1~99까지의 숫자를 액세스 리스트 번호로 사용한다

<참고>
- 외부에서 들어오는 것은 in에서 막는것이 좋고 내부에서 나가는 것은 out에서 막는것이 보통이다

2) 익스텐디드 액세스 리스트 : 출발지 및 목적지 주소와 프로토콜등을 고려하여 결정한다
- ip, tcp, udp, icmp등 특정 프로토콜을 지정하여 제어가능
- 100~199까지의 숫자를 액세스 리스트 번호로 사용한다

<참고>
- 웹방화벽은 Layer7까지 방어하며 일반적인 방화벽은 Lsyer4~3까지 방어함
- 쉽게 방화벽이라고 생각하면 되는데 라우터의 액세스 리스트는 모든 침입자를 완벽하게 막아낼 수는 없다

<참고>
== Black List vs White List ==
- Black List : 전부허용, 일부차단 (윈도우NT계열 이전의 정책임)
예) 적용예
차단
차단
전부허용
- White List : 전부차단, 일부허용 (윈도우vista계열 이후의 정책임)
예) 적용예
허용
허용
전부차단
- 액세스 리스트도 기본적으로 white list 정책이다

2. 액세스 리스트 설정 - 스탠더드

1) Black List기반으로 설정 - 모두 허용, 일부 차단
R3(config)#access-list ? -> 액세스 리스트 종류와 리스트 번호
<1-99> IP standard access list -> 스탠다드 액세스 리스트 : 내부 네트워크를 제한하는데 사용
<100-199> IP extended access list -> 확장 액세스 리스트 : 외부 네트워크를 제한하는데 사용
R3(config)#access-list 1 ? -> 거부, 허용 (black list or white list 결정)
deny Specify packets to reject
permit Specify packets to forward
remark Access list entry comment
R3(config)#access-list 1 deny ? -> 범위와 객체 제한인지 결정
A.B.C.D Address to match
any Any source host
host A single host address
R3(config)#access-list 1 deny host ? -> 객체의 IP 주소
A.B.C.D Host address
R3(config)#access-list 1 deny host 172.16.10.3
R3(config)#access-list 1 ? -> 위 줄에 설정후 나머지에 대한 정의
deny Specify packets to reject
permit Specify packets to forward
remark Access list entry comment
R3(config)#access-list 1 permit ?
A.B.C.D Address to match
any Any source host
host A single host address
R3(config)#access-list 1 permit any
R3(config)#int s2/0 -> 정의한 액세스리스트를 어떤 포트에 적용할 것인가
R3(config-if)#ip access-group 1 in -> 해당 포트에 들어갈때 or 나갈때 둘중 선택
R3(config)#no access-list 1 -> 해제

3. 텔넷포트에서 액세스 리스트

1) 먼저 텔넷포트를 활성화
R1(config)#username ccna password 1
R1(config)#line vty 0 4
R1(config-line)#login local

2) 내부 네트워크 호스트만 라우터에 접속 허용
R1(config)#access-list 99 ? -> 액세스 리스트를 선언하고 허용 or 거부
deny Specify packets to reject
permit Specify packets to forward
remark Access list entry comment
R1(config)#access-list 99 permit ? -> 허용 범위
A.B.C.D Address to match
any Any source host
host A single host address
R1(config)#access-list 99 permit 172.16.10.0 0.0.0.255 -> 서브넷마스크는 와일드카드마스크로 입력
R1(config)#line vty 0 4 -> 위의 액세스 리스트를 적용할 포트나 서비스 선택
R1(config-line)#access-class ? -> 텔넷서비스에 대한 적용임
<1-199> IP access list
WORD Access-list name
R1(config-line)#access-class 99 ? -> 액세스 리스트 번호
in Filter incoming connections
out Filter outgoing connections
R1(config-line)#access-class 99 in -> 접속 시도 시에 차단 및 허용

<참고>
텔넷 접속시에 텔넷접속에 대한 암호 활성화를 필히 해야 접속이 가능 하다. 그리고 접속 후 프리빌리지드 모드에 진입할때의 암호도 활성화해야 텔넷접속을 할수 있다.

* 네트워크의 혼잡(Congestion)을 없애기
- 네트워크 상에서 Bursty(벌스티)트래픽이라고 하는 것이 있는데 갑자기 데이터가 폭주하는 것을 말하는데 이 폭주가 상습적으로 늘, 언제나, 계속 발생하면 문제가 된다 그래서 해결 해줘야 하는데 이것이 바로 컨제스젼 메니지먼트라 한다. 간단하게 대역폭을 늘려주면 되겠지만 많은 제원이 투입되어야 겠지만...

- 혼잡 제어 방법
1) 사용자와 어플리케이션에 대한 필터링 실시 : 모든 사용자의 모든 어플리케이션을 다 통과시키면 트래픽이 증가하니까 골라서 통과시키는 것인데 네트워크에 들어올수 없게 만드는 것을 액세스 리스트를 사용하여 구현한다
2) 브로드캐스트를 막아준다 : 알맞은 서브넷팅을 통하여 네트워크를 적당히 작게 나눈다. 하지만 라우팅의 업데이트 정보도 브로드캐스트를 사용하는것이 있으니 고려해서 실행해야한다
3) 타이머를 맞춘다 : 일정시간마다 일어나는 일(브로드캐스트)들은 조정해 주어 네트워크 트래픽을 분산시키는 것이다
4) 라우팅 테이블의 관리 : 라우팅 정보을 교환하는 것 또한 트래픽을 발생시키므로 가능하면 스태틱으로 조정해주면 도움이 되겠다
5) 트래픽의 우선순위를 매긴다 : 중요한 트래픽은 우선 처리해주고 느려도 되는 것은 뒤에 처리하는 식으로 하지만 한쪽으로 치우치지 않게 적당히 배합하여 관리한다

22. 라우터 OSPF 라우팅 프로토콜


** OSPF 라우팅 프로토콜

1. OSPF가 있는 위치

- IP패킷 안에 있는 OSPF
-------------------------------------------------------------------------------
l   프레임     l                프레임 페이로드                         l CRC l
l     헤더      l-----------------------------------------------------l           l
l                   l IP헤더 l 프로토콜 넘버 l 패킷 페이로드  l           l
-------------------------------------------------------------------------------
                                           ㄴ IP패킷안에 프로토콜 넘버89로 들어가 있다
- 페이로드 : 적재화물
- 스위치는 프레임 헤더만 확인하며 라우터는 ip헤더까지 확인한다

2. OSPF vs RIP 비교

1) convergence time - 라우터 간에 서로 변경된 정보를 주고 받는데 걸리는 시간
- RIP : 30초마다 한번씩 업데이트
- OSPF : 어떤 변화가 생길때 바로 전달 가능하며 AREA라는 개념을 사용해 전체 네트워크를 작은 영역으로 나누어 관리함
2) VLSM을 지원 - 서브넷 되기 전의 주소만 다른 라우터에게 알려주고 상세 주소들은 자기만이 알고 있으면 되기때문에 라우팅 테이블을 줄일수 있다. IP주소를 효과적으로 사용가능
- RIP : version 1은 지원하지 않음
- OSPF : 지원하며 라우트 서머리제이션을 지원하기 때문에 여러개의 라우팅 경로를 하나로 묶어주는 기능이 탁월함
3) 네트워크의 크기 제한
- RIP : 최대 15개의 홉카운트를 넘지 못함
- OSPF : 제한 없음
4) 네트워크 대역폭의 활용
- RIP : 매 30초마다 브로드캐스트를 발생하기 때문에 대역폭 낭비가 많음
- OSPF : 네트워크 변화가 있을때만 정보를 보내고 멀티캐스트를 사용한다
5) 경로 결정
- RIP : 홉 카운트만을 따지기 때문에 속도나 딜레이와 상관하지 않음
- OSPF : 여러가지 관련요소를 합쳐서 cost값을 계산하여 최적의 경로를 선택한다

3. OSPF 프로토콜을 적용가능한 네트워크 형태

1) 브로드캐스트 멀티액세스(broadcast multiaccess) 토폴로지 - 버스형태
- 네트워크에 두개이상의 라우터가 연결되는 경우로 하나의 메세지를 보내면 모든 네트워크에 정보전달 가능
예) 이더넷 세그먼트
2) 포인트 투 포인트 토폴로지(point to point)
- 네트워크에 한쌍의 라우터만 존재하는 경우
예) 전용선 같은것을 이용할 경우 - 우리나라에서의 일반적인 구성형태
3) NBMA(Non broadcast multiaccess) 토폴로지 - 메쉬형태
- 두개 이상의 라우터가 연결되는 경우는 같으나 브로드캐스트 능력이 없다
예) 프레임 릴레이나 x.25네트워크일 경우 - 실질적으로 느린회선을 사용하는 외국에서는 많이 사용하고 있음

4. OSPF의 DR과 BDR선출
- 브로드캐스트 멀티액세스와 NBMA에서만 사용한다
- 통상적으로 Priority 값이 높은 라우터가 만약 같다면 라우터으 ID로 구분하는데, 즉 IP주소가 높은 라우터가 DR로 선출되며 차점의 라우터가 BDR이 된다. DR이 제대로 관리를 못하면 BDR이 임무를 수행한다
- 모든 라우터의 기본 Priority값은 1이다
- 모든 라우터가 참여하여 LSA(Link State Advertisement)를 전송하여 상태를 알리고 DR은 이 정보를 모두 관리하면서 링크의 상태를 항상 일치시킨다

<참고> 224.0.0.5는 모든 OSPF를 사용하는 라우터가 멀티캐스트를 이용하여 정보를 교환하며
224.0.0.6은 DR, BDR끼리만 이용한다

5. OSPF의 구성

R1(config)#router ospf 100 -> 프로세스 번호까지 입력함
R1(config-router)#net 172.16.10.0 0.0.0.255 area 0 -> 같은 area로 네트워크를 서로 묶음
R1(config-router)#net 192.168.12.0 0.0.0.15 area 0 -> 와일드 마스크를 사용한다

- 위와 같이 자신이 직접 연결되어있는 네트워크 주소와 그 네트워크의 서브넷 주소를 와일드카드 서브넷 마스크로 표현하여 입력한다
- area는 전체 OSPF영역을 보다 작은 area단위로 나누어 그 영역 안에 있는 OSPF라우터들끼리만 우선 링크 정보를 업데이트하고, 다른 area와의 통신은 area사이에 있는 라우터들(ABR : Area Border Router)이 정보를 전달하는 방식이다. 여기서 area의 가장 기본은 백본 area 라 불리는 area 0 이다

21. 라우터의 관리거리값


** Administrative Distance (AD : 관리거리값)
- 하나의 라우터가 한가지 이상의 라우팅 프로토콜을 사용시 어떤 라우팅 프로토콜의 경로를 더 신뢰할 것인가이다
- 그래서 관리거리값을 두어 아래와 같이 우선순위를 정했다

0 : 직접연결된 경로정보
1 : 수동 경로정보 - 스태틱 라우팅
90 : 내부 EIGRP - 시스코사만 사용
100 : IGRP
110 : OSPF - 표준
120 : RIP

** classful과 classless의 차이점
- 라우터간의 네트워크 주소를 주고 받을 때 네트워크 대표주소와 서브넷 주소를 같이 주고 받는데...
- classful은 서브넷 주소를 같이 보내지 않는다
예) A클래스는 255.0.0.0, B클래스는 255.255.0.0등 이런식으로 자동으로 서브넷 주소를 알고 있다
- classless는 서브넷 주소를 같이 보낸다. 클래스별로 정해진 서브넷 주소를 사용하지 않고 임의로 정한 서브넷 주소를 사용하기 위해서다.

** VLSM (Variable Length Subnet Masks) : 가변길이 서브넷 마스크
- 가용한 주소공간을 늘리기 위해서 사용하는데 이것은 단일 IP주소 블록 내에서 서로 다른 크기의 서브넷을 지원하는 구조를 말한다. classless를 지원하기 위해서 VLSM이 지원되야한다. 대표적인 EIGRP나 OSPF를 사용해야 한다.