본문 바로가기

Network

[cisco asa5505 TEST]

주사위를 한 번도 던져 보지 못 한 사람은 주사위가 어떤 용도인지 모름니다.

주사위를 한 번 던진 사람은 6면 중에 어느 한 면을 보게 됩니다.

주사위를 10번 던져도 6면을 다 보지 못 할 수도 있습니다.

asa라는 주사위를 한 번 던져 본 결과를 작성합니다.

틀린 부분도 있을 수 있고, 부족한 점도 많습니다.

수정 및 충고도 잘 받아 들이겠습니다.

 

[VPN 아싸 테스트 보고서]

 

테스트 장비 모델명 : cisco asa5505
CLI환경 이미지 버전 : asa821-k8.bin
GUI환경 이미지 버전 : asdm-621.bin

-------ASA의 기본적인 부분-------

-asa는 일반적인 스위치나, 라우터 장비와 달리,
GUI 환경으로 좀 더 편안한 관리를 할 수 있게 되어 있다.
이 것 때문에, 이미지 파일이 2개 이다.

asa이미지와 asdm이미지와의 관계

asa 이미지가 7.2버전 이면 asdm은 5.2 버전을 사용해야 한다.
asa 이미지가 8.2버전 이면 asdm은 6.2 버전을 사용해야 한다.

*8.2버전에 asdm 5.2 버전 깔고 실행하면, GUI모드 실행 안 된다. CLI로 실행하는건 잘 된다.

---------------------------------------------

-asa는 라이센스가 있다!

장비에서 show ver을 하면 아래 같은 목록이 나옵니다.(5520 ver입니다.)

Licensed features for this platform:
Maximum Physical Interfaces  : Unlimited
Maximum VLANs                : 150      
Inside Hosts                 : Unlimited
Failover                     : Active/Active
VPN-DES                      : Enabled  
VPN-3DES-AES                 : Enabled  
Security Contexts            : 2        
GTP/GPRS                     : Disabled 
SSL VPN Peers                : 2        
Total VPN Peers              : 750      
Shared License               : Disabled
AnyConnect for Mobile        : Disabled 
AnyConnect for Linksys phone : Disabled 
AnyConnect Essentials        : Disabled 
Advanced Endpoint Assessment : Disabled 
UC Phone Proxy Sessions      : 2        
Total UC Proxy Sessions      : 2        
Botnet Traffic Filter        : Disabled 

This platform has an ASA 5520 VPN Plus license. <-이 부분이 Base license도 있습니다.

라이센스를 구매하면 같은 기종이라도, 더 좋은 성능으로 사용 할 수 있습니다.
(Disabled -> Enabled 바꾸거나, 150 -> 1000 라든가~) 무슨 봉인 풀듯이....ㅡㅡ/

------------------------------------------------------------------------------------

-ASA-VPN은 [인터페이스 or vlan]에 nameif를 꼭꼭꼭 설정해 줘야 사용 할 수 있습니다.

그리고 인터페이스마다 레벨 값이 설정 됩니다.

inside 라는 이름을 주면 자동으로 레벨 값이 100이 되고,
outside 라는 이름을 주면 자동으로 레벨 값이 0이 됩니다.
이름은 뭐든 사용 할 수 있습니다.
레벨 값도 0~100 까지 무엇이든 수정 할 수 있습니다.

레벨의 특징은 레벨이 높은 쪽으로 트래픽이 들어와서,
레벨이 낮은 쪽 인터페이스로 나가는 트래픽은 모두 허용이 됩니다.

하지만, 레벨이 낮은 쪽 인터페이스로 트래픽이 들어와서,
레벨이 높은 쪽으로 나가는 것은 모두 deny 됩니다.

이런 특성을 이용해서 외부 네트워크와,
내부 네트워크를 구분 지어서 인터페이스를 만들고, ACL을 적용 시킵니다.
주로 내부에서 외부로는 모두 되고,
외부에서 내부로는 허용하는 트래픽만 통과시키도록 세팅 합니다.

-----------------------------------------

-VPN과 ping 에 대하여!

vpn은 보안 장비이다~ vpn에서 특정 목적지로 ping을 하면 잘 될까?
특정 목적지가 뭐든 간에, 물리적으로 잘 연결 되어 있고, 라우팅 잘 되어 있으면 잘 된다!
inside든 outside든~ vpn에서, 에서, 에서, 하는 건 잘 된다!
 
그럼!

내부->VPN->외부 ping 테스트
외부->VPN->내부 ping 테스트

아무런 세팅 없이 위 상황처럼 VPN을 통과하는 ping 테스트를 하면,
ping이 될까?
외부-> 내부는 안 되도, 내부-> 외부는 되지 않을까?

답은 둘다!! 안 됨!!

ping은 양방향 udp 통신이다.

ping을 할 때 내부->VPN->외부 가 끝이 아니다.

실제로는 내부->VPN->외부->VPN->내부 이런 순서로
내부 icmp에 대한 응답 패킷은 외부 ip에서 보내기 때문에
외부 응답 패킷을 vpn은 차단한다.....쩜 5개 정말 보기 싫다.

ACL을 만들어서 외부에서 진입하는 인터페이스에 적용시켜주면, 잘 된다!!!!!

-외부 인터페이스에 ACL을 적용시키고, ping을 계속해서 날리면서
acl을 빼고, 넣고 해 보았다. 테스트 결과는 의외였다.
ping을 계속해서 날리다가 acl를 뺀다. -> !오! 그런데 계속 나감 (단, 끊었다가 다시 하면 안 나감)
ping을 계속해서 날리다가(ping 시도만 하는중 안 가는 상황) acl을 적용시켜준다. -> 핑이 바로 나감 !오!

이런 결과를 얻었다 ㅇㅅㅇ/

tcp같은 트래픽은 내부에서 외부로 시도하면, ACL없이도 잘 된다!

-----------------------------------------------

--------POE 포트-------------

asa5505장비에는 의외로 POE포트가 있었다!

PoE(Power over Ethernet) 란 데이터 뿐아니라, 전력도 공급 받는 기술 입니다.
(대표적장비 - 전화기^^/) 어릴적 전화기는 전기없이 사용하는......
애시당초 전화기에 전기를 연결해야하는지 안 해야하는지 생각조차 한 적이 없었죠^^;;ㅋㅋ

확인하는 법은 아래와 같습니다.

test1(config-if)# sh power inline
Interface   Power   Device
---------   -----   ------
Et0/0        n/a    n/a  
Et0/1        n/a    n/a  
Et0/2        n/a    n/a  
Et0/3        n/a    n/a  
Et0/4        n/a    n/a  
Et0/5        n/a    n/a  
Et0/6        Off    n/a  
Et0/7        Off    n/a  

n/a는 해당사항 없음 입니다.
장비가 없어서 테스트는 못 했습니다.ㅠ
하지만 6,7번 포트에 전기가 흐르게 되면 아마도 저 부분이 on이 될 거라 믿어 의심치 않습니다~

장비 외부에도 표시되어 있습니다.
장비 포트 연결하는 부분 보면 [e0/6 e0/7] 끝에 2포트가 PoE 포트로 적혀있다.

참고로 asa5505장비는 포트 연결 부분을 정면에서 볼 때,
오른쪽에서 부터 포트 번호가 시작된다.

7,6,5,4,3,2,1,0 이렇게 되어있다.
(은근히 헷갈림. 가뜩이나 0부터 시작해서 더 헷갈림.)

아!! 팁
ASA장비는 인접장비가 무엇이던, 케이블 타입(다이렉트/크로스) 상관 없습니다.

포트에 LED가 2개씩 있는데, 100/full세팅해주면 한개 LED는 늘 켜져 있습니다.

다른 한개 LED는 링크 연결되면, 켜집니다.

------------------------------------------------------------

------------SSH 에 관하여---------------

장비로 접속 할 때, 기본적으로 콘솔이나, telnet을 많이 이용합니다.
하지만 telnet은 암호화 되어 있지 않아서, 보안에 매우 취약합니다.
이래서 나온것이 SSH 접속!

간단히 ssh는 [telnet+보안] 이라고 알면 됩니다.

telnet 은 암호화 되지 않기 때문에, 패킷이 다 보이지만
ssh 는 암호화 통신을 합니다.(요즘은 암호화 된 것도 깨 버리고 보기 때문에, ssh도 버전up해서 나옵니다.)

참고로
SSH로 장비 접속 시 텔넷 접속과는 다르게, 반응속도가 좀 느립니다.
(암호화하는 과정이 있어서 그런 듯 합니다.)
 
ASA에서는 타 장비로 텔넷을 할 수 없습니다.(명령어 자체가 없음)
또! 시스코 asa 제품 outside 쪽으로 텔넷 접속은 불가능 합니다.
무슨 짓을 해도 할 수 없어요. ssh나 https를 통해서만 가능합니다.
하지만, inside 쪽에서는 telnet 접속 가능합니다.

////////////////// 시스코 스위치나 라우터 IOS 버전 관련 ////////////////////////
(ASA이미지 버전 말하는 것 아님)

>> Cisco IOS에서 SSH를 사용하기 위해서는 일단
IOS Image 이름에(k8 or k9 포함) 다음 기능이 있어야 한다.
 
     k8 -> SSH1.5 지원
     k9 -> SSH 2.0 지원


ASA SSH 접속설정 컨피그

username 이름 password 암호 privilege 15
ssh 접속ip 서브넷 인터페이스
aaa authentication ssh console LOCAL
crypto key generate rsa
 
 
인접 시스코 장비에서 접속시 명령어(IOS k8 or k9 있는 장비)
ssh -l 유저네임 ip

//////////////////////////////////////////////////////////////////////////////


장비에서 show ver 하면 나오는 정보중에~

VPN-3DES-AES                 : Enabled   이거일때만 ssh2.0(AES) ssh1.5(3des)을 지원한다.

--------------

VPN-3DES-AES                 : Disabled   이렇다면, ssh2.0을 지원하지 않고, ssh1.5 접속도 des로 한다.

즉, VPN에서 VPN-3DES-AES 를 사용유무에 따라서 ssh 1.5 / 2.0 버전 지원이 결정 됩니다.

DES와 AES는 암호화 방식 입니다.

IPSec(가볍게 보고 지나가세요+_+ 저도 퍼옴ㅋ)
ESP : 기밀성을 제공하기위해 IP패킷의 데이터 페이로드를 암호화
IKE : IPSec에서 암호화 알고리즘을 위한 키 결정때 사용
DES:  데이터를 암/복호화 할때 사용.- 56bit key 사용
3DES: 168bit의 키를 사용
AES: 128, 192,256bit 키 사용
DH(디퍼헬만) : 공개키 암호화 알고리즘,세션키 설정을 위해 IKE에서 사용됨.
MD5 : 데이터의 무결성을 제공하는 알고리즘

돈 주고 라이센스 사면, 좀 더 좋은 암호화 방식을 쓸 수 있습니다 ㅇㅅㅇ/
하지만, 대부분 암호화 방식이 깨졌고, 3DES와 AES256이 그나마 안전하다고 세미나에서 배웠습니다^^


--------------100레벨에서 0레벨로 접속 할 때 테스트--------------

 

아래 명령어로 ssh 세션 상태 확인 할 수 있습니다.
가볍게 보시고, 아래 설명을 참조하세요.

test2# show ssh sessions

SID Client IP       Version Mode Encryption Hmac     State            Username
0   2.2.2.1         2.0     IN   aes256-cbc sha1     SessionStarted   admin1
                            OUT  aes256-cbc sha1     SessionStarted   admin1

/////////////////////////////////////
ssh1.5와 2.0의 차이점은 보안방식입니다!!

test2# show ssh sessions

SID Client IP       Version Mode Encryption Hmac     State            Username
0   2.2.2.1         1.5     -    3DES       -        SessionStarted   admin1
test2#

--------------------------------acl에 허용이 되었을 때!!

test2# show ssh sessions

SID Client IP       Version Mode Encryption Hmac     State            Username
0   1.1.1.2         1.5     -    3DES       -        SessionStarted   admin1

/////////////////////////////////
test2# show ssh sessions

SID Client IP       Version Mode Encryption Hmac     State            Username
0   1.1.1.2         2.0     IN   aes256-cbc sha1     SessionStarted   admin1
                            OUT  aes256-cbc sha1     SessionStarted   admin1

------------------양쪽 2개 할 때 ----------------


test2# sh ssh ses

SID Client IP       Version Mode Encryption Hmac     State            Username
0   1.1.1.2         2.0     IN   aes256-cbc sha1     SessionStarted   admin1
                            OUT  aes256-cbc sha1     SessionStarted   admin1
1   2.2.2.1         2.0     IN   aes256-cbc sha1     SessionStarted   admin1
                            OUT  aes256-cbc sha1     SessionStarted   admin1


위 상태에 대해서 설명 하겠습니다.

내부->vpn1->인터넷->vpn2 구성은 이렇고

내부에서 vpn2 로 ssh 접속을 시도 한 것입니다.

암호화 방식말고 클라이언트 ip에 대해 특이한 점을 발견 했습니다.

vpn2에 ssh를 허용 해 놓고, 내부에서 vpn1(acl적용 필요없음)을 거쳐서 vpn2로 접속하면,

vpn1의 장비 ip가 클라이언트로 보입니다.(2.2.2.1)

그런데, vpn1에 궂이 acl을 걸어서 보니까, 클라이언트 ip가 (1.1.1.2)

호스트 ip 자체가 보입니다.ㅇㅅㅇ

양쪽 2개 할 때 부분은 ACL을 걸고 빼고, 하면서 접속 할 때 세션 상태 입니다.

같은 호스트에서 2번 접속을 했는데, ACL을 안 걸면 vpn1의 ip가 보이고,

ACL을 걸면 host의 ip가 보입니다.

그냥 이랬습니다!!^^;


-----------vlan 21개 만들어 보기?-----------

제가 테스트 한 5505는 vlan을 20개까지 만들 수 있다고, 되어 있길래

그럼 21개 만들면 머라고 나오나?? 궁금해서 21개 만들어 봤습니다.

test1(config)# sh ver | in VLANs
VLANs                        : 20, DMZ Unrestricted


test1(config)# int vlan 21
                   ^
ERROR: % Cannot create interface Vlan21 - maximum limit 20 reached

이렇게 나오더군요^^/ 친절도 하셔라...ㅋ
라이센스 없으면 vlan도 21개 이상 못 만드는 더러운 세상...

---------로깅 설정에 관해서---------

기존에 스위치나 라우터와 달리 trap까지 설정해야
NMS로 장비 로그를 뿌려줬습니다!! 참고 하세요!!

logging host inside 1.1.1.2
logging trap 7     <-로그 레벨 7(디버깅)

-----------log level 에 따른 상세정보---------

로깅 레벨에 따라서 로그를 걸러서 볼 수 있습니다.

중요한 로그만 보면 되는데, 일반적인 로그만 많이 쌓이면 보기 힘들겠죠!!

5정도의 레벨 세팅이 적당했습니다.

configure mode commands/options:
  <0-7>          Enter syslog level (0 - 7)
  WORD           Specify the name of logging list
  alerts         Immediate action needed           (severity=1)
  critical       Critical conditions               (severity=2)
  debugging      Debugging messages                (severity=7)
  emergencies    System is unusable                (severity=0)
  errors         Error conditions                  (severity=3)
  informational  Informational messages            (severity=6)
  notifications  Normal but significant conditions (severity=5)
  warnings       Warning conditions                (severity=4)

--------------------------------------------

------snmp 설정하기-------

snmp값을 줘서 장비 상태나 트래픽 모니터링 많이 하는데, ASA도 잘 되었습니다.
아래와 같이 적용합니다.

snmp-server host inside 1.1.1.2 community hahaha
당연히 snmp-server enable 이 되어있어야 합니다!!(디폴트는 되어 있습니다.)
--------------------------

 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!터널링 테스트!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

VPN을 사용하는 이유~

VPN(Virtual Private Network) - 가상 사설 네트워크

인터넷이 발전하면서, 보안 문제가 생겼습니다.

어떤 서버간 통신이 서버-----인터넷----서버

이런식이라면 중간에서 누군가 몰래 패킷을 훔쳐 볼 수 있는 보안 문제가 생겼습니다.

이런 문제를 해결하려고, 큰 돈을 주고 따로

개인적으로 서버-------사설 네트워크(전용선)-------서버

이런 구축을 하게 되었습니다. 물리적으로 개인 구역이기 때문에 보안성이 매우 좋습니다.

하지만, 돈이 많이 들어가겠죠! 서울----부산을 넘어서서 서울----미쿡....이정도 거리라면

서버----서버 통신으로 벌어들이는 비용보다 회선 비용으로 인해서 회사가 망할 껍니다.

이래서 vpn이란 보안 장비가 나왔습니다.

서울서버(vpn)----인터넷----미국서버(vpn)

모든 데이터를 암호화 시켜서 양쪽 vpn 정책에 합당한 패킷끼리만 통신하는 겁니다.

이렇게 되면 돈도 아끼고, 보안도 되고!! vpn은 이런 용도 입니다.

 

--------site-to-site(vpn-----vpn구성) 테스트--------

vpn간 모든 세팅이 끝나도, 터널링에서 허용한 내부 트래픽 간 데이터가 오고가야
iskmp와 ipsec가 올라온다. 데이터가 없으면 터널링은 맺어지지 않는다.
양쪽 vpn간 어느 한쪽 세팅이 문제 있어도, 터널링은 맺어지지 않는다.

제가 이번에 vpn에서 이것저것 해 보는 이유는 바로 이것 때문입니다.
회선 개통시에도 센터 장비와 지점 장비를 내가 다 세팅하고 연결 작업 진행하고 있어도,
이것저것 변수 때문에, 연결이 잘 안 될 때가 있습니다.

그런데, vpn은 서로 상호간 규칙을 정하고 그대로 세팅한다고 하지만,
행여나, peer가 잘 맺어지지 않으면 정말 답답합니다.
맞은편이 해외이면, 정말 손가락 빨고 있어야 할 정도로...
이럴 때, 최선의 방법은 내가 세팅한 vpn이 정책대로 잘 세팅 되었고,
vpn의 로그를 분석해서 peer가 안 맺어지는 이유를 알아내면,
좀 더 수월한 연결 작업을 할 수 있습니다.

peer을 맺을 때 내부 대역(pc 도스창)에서 맞은편 내부 대역으로 ping을 날리면
처음 1개는 터널링 맺음으로 인해서 빠진다.
ARP테이블에 ip 없어서 처음에 핑 빠지는 것 처럼~

------------------------------------------------------------

터널링 맺는 순서는 vpn끼리 phase1 정책을 이용 및 비교해서, 터널을 만들고
암호화 시켜야하는 데이터는 phase2 정책을 이용해서 전송 합니다.


터널링 설정시 phase1, phase2 정책 설정 모음

test1# sh run cry
crypto ipsec transform-set DES-SHA esp-des esp-sha-hmac           <-- phase2 정책
crypto ipsec security-association lifetime seconds 28800          <--기본으로 들어가 있음 (값 변경 가능하나, 지울 수는 없음)
crypto ipsec security-association lifetime kilobytes 4608000      <--기본으로 들어가 있음 (값 변경 가능하나, 지울 수는 없음)
crypto map outside_map 1 match address outside_1_cryptomap
crypto map outside_map 1 set pfs
crypto map outside_map 1 set peer 2.2.3.1
crypto map outside_map 1 set transform-set DES-SHA
crypto map outside_map 1 set reverse-route
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 1             <-- phase1 정책
 authentication pre-share
 encryption des
 hash sha
 group 2
 lifetime 86400
crypto isakmp policy 65535         <-- policy 1 만들면 저절로 생김, 지워도 상관없음!!
 authentication pre-share
 encryption des
 hash sha
 group 2
 lifetime 86400


---------------------------------

crypto isakmp policy 2  <---이거만 쳤는데 기본값으로 아래 설정들이 기본값으로 세팅된다!!
 authentication pre-share
 encryption des
 hash sha
 group 2
 lifetime 86400


-----------------------------------
사용하지 못하는 암호화 방식을 선택해 보면,

test3(config-isakmp-policy)# encryption aes
The 3DES/AES algorithms require a VPN-3DES-AES activation key.   <--라이센스 요구한다!!


-----------크립토 맵 만들 때 ACL이 없으면 못 만든다고 한다.--------

test3(config)# crypto map dmz_map 3 match address dmz_1_crytomap
ERROR: unable to locate access-list dmz_1_crytomap

그리고,
crypto map match가 참조하는 내부 트래픽에 관한 ACL을 모두 지우면
crypto map match 부분도 같이 사라진다! 주의할것!

--------------------------------------------------------------------

test1 내부에서 test2 내부로 터널링을 이용한 데이터를 먼저 보냈다!!
peer가 맺어진 뒤 아래 명령어로 phase1정책 상태를 볼 수 있다.

test2# sh crypto isakmp sa

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: 2.2.2.1
    Type    : L2L             Role    : responder   <----응답자! 이 vpn은 초기에 반대편 내부대역에서 먼저 접속시도를 했다!
    Rekey   : no              State   : MM_ACTIVE   <----ACTIVE는 잘 맺어짐! WAIT이면 peer가 제대로 안 맺어져 있다는 것!

----------------

test1# sh cry isakmp sa

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: 2.2.3.1
    Type    : L2L             Role    : initiator    <----시작자! 이 vpn이 초기에 반대편 내부대역으로 접속시도를 했다!
    Rekey   : no              State   : MM_ACTIVE


-----------------------------------------------------------------------

peer ip까지는 서로 핑이 간다면, 아래 명령어로 맞은 편 내부대역에 대해서 스태틱 라우팅이 자동으로 생성되게 할 수 있다.

crypto map outside_map 1 set reverse-route <---ACL설정 된 맞은편 내부 대역에 대해서 자동으로 스태틱 라우팅이 생성된다.

만약, 모든 세팅이 잘 되었는데 라우팅 테이블에 생성되지 않으면,

crypto map outside_map 1 set reverse-route

명령어를 삭제하고 다시 적용하면, 올라온다.

이것저것 귀찮으면 그냥 디폴트 라우팅을 추가하자!
(보안 관련 문제 및 제3의 지역에서 peer ip로 핑 테스트가 가능하다! 장단점이 있다!!)

-------------------------------------------------------------------------
각 줄의 의미

crypto ipsec transform-set DES-SHA esp-des esp-sha-hmac   <---des/sha를 사용했고, 이름은 DES-SHA 을 줬다.
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
crypto map outside_map 1 match address outside_1_cryptomap   <--- outside_1_cryptomap(내부대역정책설정) 이라는 ACL을 참조한다.
crypto map outside_map 1 set pfs   <---그룹2가 디폴트 값이다. (그룹2)적어도 pfs까지만 나온다. 나머지 그룹(1,5)는 보인다. 7은 ->5로적용
crypto map outside_map 1 set peer 2.2.2.1  <--맞은편 peer 맺을 ip
crypto map outside_map 1 set transform-set DES-SHA <--맨 윗줄 정책을 참조한다.
crypto map outside_map 1 set reverse-route
crypto map outside_map interface outside  <---outside에 crypto map을 적용한다.
crypto isakmp enable outside   <---outside에 isakmp 사용할 수 있게 한다.
crypto isakmp policy 1 <---phase1 정책설정
 authentication pre-share
 encryption des
 hash sha
 group 2
 lifetime 86400

tunnel-group 2.2.2.1 type ipsec-l2l <--- peer ip 나 그룹 이름을 설정하고, type을 설정한다.(이건 site-to-site 선택)
tunnel-group 2.2.2.1 ipsec-attributes
 pre-shared-key *       <---키 값을 적용하면 *로 암호화 되서 나온다.(peer끼리 이 값이 똑같아야 한다)

--------------------------------------------------

phase1 메뉴는 이렇다!!!! 가볍게 보세요

test1(config)# crypto isakmp policy 777
test1(config-isakmp-policy)# ?

crypto isakmp policy configuration commands:
  authentication  Set authentication method (pre-share or rsa-sig)
  encryption      Set encryption algorithm (des, 3des, aes-128, aes-192, or
                  aes-256)
  exit            Exit from crypto isakmp policy configuration mode
  group           Set Diffie-Hellman group (1,2 or 5)
  hash            Set hash algorithm (md5 or sha)
  help            Help for crypto isakmp policy configuration commands
  lifetime        Set ISAKMP SA lifetime (seconds)
  no              Negate a command or set its defaults
  <cr>
test1(config-isakmp-policy)#

--------------------------------------------------

이제부터 여러가지 컨피그를 조금씩 수정해서 테스트 합니다.

----------phase 1, 2 정책 설정 시 숫자 관련------------

crypto map outside_map 1 이 부분은 두고
crypto isakmp policy 1 이 부분의 1을 2로 변경 -> 성공!(phase1, 정책과 phase2 정책의 숫자는 서로 달라도 됨!)


test1(config)# crypto isakmp policy ?  <-- 그럼 대체 이 번호는 머랑 매치 되는 거야?

configure mode commands/options:
  <1-65535>  Policy suite priority(1 highest, 65535 lowest)


결론은!
특정 crypto 명령어의 번호와 맞지 않아도 된다.
peer끼리 맞지 않아도 된다.
한마디로 암거나 써도 된다.

--------------------------------------------------

phase1 정책 설정시 늘 authentication 방식을 pre-share 로 설정했는데, 다른 것으로 바꿔서 테스트 해 봄!

crypto-isakmp-policy mode commands/options:
  crack      set auth crack <--서로 맞아도 안 됨!!
  pre-share  set auth pre-share
  rsa-sig    set auth rsa-sig  <--서로 맞아도 안 됨!!

설정을 못 해서 그런지 다른 2개는 설정 똑같이 해도 잘 되지 않음.
(갈 길이 멀어서 그냥 넘어가기로^^~)

---------------------------------------------------
한쪽은 phase1 정책의 hash 방식을 MD5로 / 하나는 sha 로 하니까!!!!


이렇게 나온다 MD5가 initiator 인 경우이다. 맞은편은
show crypto isakmp sa 이거 쳐도 아무것도 안 보인다. WAIT도 안 뜬다!!!

맞은편에서(sha가 initiator인 경우) 해 봐도 마찬가지이다!!
그룹 디퍼헬만 그룹 번호 값이 peer끼리 달라도 마찬가지이다!!

test1# show crypto isakmp sa

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: 2.2.3.1
    Type    : user            Role    : initiator
    Rekey   : no              State   : MM_WAIT_MSG2  <--peer가 제대로 맺어지지 않은 상태


되도 않는 영어 실력으로 로그를 분석 해 보기로 했습니다.

ASA는 로그 메세지에 관해서 정리 해 놓은 파일이 시스코 홈페이지에 문서로 되어 있습니다.
시스코->서포트->트러블슈팅->ASA5500->에러메세지->다운+_+
(로그에 있는 번호로 파일을 검색하면 해당로그에 대한 설명과 관리자가 해야 할 일이 간단히 기술되어 있습니다.)
(팁! 장비를 asdm으로 접속해서 로그를 보면, 로그에 대한 간략한 분석까지 장비 자체에서 볼 수 있는 장점이 있습니다.)

Mar 30 2010 16:15:49: %ASA-5-713904: IP = 2.2.3.1, Received an un-encrypted NO_PROPOSAL_CHOSEN notify message, dropping
Mar 30 2010 16:15:49: %ASA-4-713903: IP = 2.2.3.1, Information Exchange processing failed

장비 로그를 분석해 보면.......

이렇게 메세지가 dropping / failed 부정적인 단어들이 눈에 보인다+_+(안좋아...안좋아...)

좀 더 시간이 지나자, 아래와 같은 로그가 생겼습니다.

(715065 <-이 번호로 ASA로그를 검색해 보면, phase 1 정책이 맞지 않는다고, 설명되어 있습니다.)
Mar 30 2010 15:43:27: %ASA-7-715065: IP = 2.2.3.1, IKE MM Initiator FSM error history (struct &0xd8b86008)  <state>, <event>:  MM_DONE, EV_ERROR--

>MM_WAIT_MSG2, EV_RETRY-->MM_WAIT_MSG2, EV_TIMEOUT-->MM_WAIT_MSG2, NullEvent-->MM_SND_MSG1, EV_SND_MSG-->MM_SND_MSG1, EV_START_TMR-->MM_SND_MSG1,

EV_RESEND_MSG-->MM_WAIT_MSG2, EV_RETRY
Mar 30 2010 15:43:27: %ASA-7-713906: IP = 2.2.3.1, IKE SA MM:e4ab7d23 terminating:  flags 0x01000022, refcnt 0, tuncnt 0
Mar 30 2010 15:43:27: %ASA-7-713906: IP = 2.2.3.1, sending delete/delete with reason message
Mar 30 2010 15:43:27: %ASA-3-713902: IP = 2.2.3.1, Removing peer from peer table failed, no match!
Mar 30 2010 15:43:27: %ASA-4-713903: IP = 2.2.3.1, Error: Unable to remove PeerTblEntry


장비는 세션이 맺어지지 않는 이유를 보여준다!!
상호 peer간에 phase1 정책의 방식이 맞지 않아서 결국

-----------------------
test1# show cry isakmp sa

There are no isakmp sas <--no 없음!! ㅇㅅㅇ/
-----------------------
그나마 보였던, WAIT_MSG2 도 곧 사라진다.


* phase1 정책이 서로 성공하고, phase2로 암호화 통신을 하면, phase1 정책의 값을 수정해도 암호화 통신에 지장이 없다!!
터널링이 끊어지고, 다시 붙는 시도를 하면, phase1 정책이 서로 다르기 때문에 터널링이 활성화 되지 않는다!
(즉, phase1 정책으로 서로를 확인하고 나면, phase2 정책으로만 통신한다.)

---------------------------------------------------

디퍼 헬만 그룹에 대해서 알아보자!!(디퍼 헬만 그룹 번호를 다르게 하면 될까?)
결과 - 위 상황과 같다. 한쪽 peer쪽만 WAIT이고, 곧 끊어짐


그룹 값 중에 7에 관해서~

test1(config-isakmp-policy)# group ?

crypto-isakmp-policy mode commands/options:
  1  Diffie-Hellman group 1
  2  Diffie-Hellman group 2
  5  Diffie-Hellman group 5
  7  Diffie-Hellman group 7 (DEPRECATED) <-사용중지됨 그래서 7을 선택하면 5로 세팅이 됩니다.

test1(config-isakmp-policy)# group 7
ERROR: DH group 7 is no longer supported -- setting DH group to group 5

--------------------------------------------------------
라이프 타임에 대해 알아보자!!(phase1 정책의 라이프 타임 값을 없애거나 다르면 될까?)

test1(config-isakmp-policy)# lifetime ?

crypto-isakmp-policy mode commands/options:
  <120-2147483647>  Lifetime in seconds
  none              Disable rekey and allow an unlimited rekey period

결과 - 달라도 잘 된다!! 한쪽만 none 해도 잘 된다. 둘다 none 해도 잘 된다.
그래도 가급적 peer 끼리 서로 약속한 값으로 설정하는 것이 좋을 듯 싶다!!

--------------------------------------------------------

crypto map outside_map 1 이 번호를 바꿔 본다

양쪽 peer 끼리 이 [숫자]가 달라도 잘 된다.

phase1 정책의 crypto isakmp policy [번호] 이 번호 와 달라도 잘 된다.

이 부분은 위에서 언급 했지만, phase2에 관해서 테스트 하기 전 다시 한 번 썼음!

---------------------------------------------------------

phase2 메뉴는 이렇다~

test2(config)# crypto ipsec transform-set DES-SHA ?

configure mode commands/options:
  esp-3des      esp 3des encryption
  esp-aes       esp aes 128 encryption
  esp-aes-192   esp aes 192 encryption
  esp-aes-256   esp aes 256 encryption
  esp-des       esp des encryption
  esp-md5-hmac  esp md5 authentication
  esp-none      esp no authentication
  esp-null      esp null encryption
  esp-sha-hmac  esp sha authentication
  mode          mode transport

phase2 정책의 암호화 방법과 인증 방법을 정한다.
뭘 골라도 컨피그 된 순서는 authentication이 앞에 위치하고 encryption이 뒤에 위치한다.
자세히 말하면,
esp-sha-hmac을 앞에 쓰고 esp-des를 뒤에 적용해도, 컨피그에 들어 간 것을 확인하면,
아래와 같이 보입니다.

crypto ipsec transform-set DES-SHA esp-des esp-sha-hmac

------------------------------------------------------------------
mode transport 만 집어 넣을 수는 없다. 암호화 방법과 인증 방법을 선택하고, 추가로 컨피그 해야 합니다.

crypto ipsec transform-set DES-SHA mode transport  <----이걸 추가하면 test1(VPN)에서 encryption만 되고 decryption은 안 된다.
(추측 보내기만 하고, 받는 건 드롭 시키는 거 같다. 대략 저의 테스트는 이런식으로 진행중...^^;;)

------------------------------------------------------------------

crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000

위에 두줄은 디폴트로 들어가 있습니다.
phase1의 정책에서 lifetime은 none으로 없앨 수 있었는데,
phase2의 lifetime은 no 명령으로 삭제가 안 되었습니다.
그래도, seconds / kilobytes 값을 peer끼리 다르게 적용 시켜도, 일단 터널링은 잘 맺어집니다.
최소값으로 0을 선택하는 것도 안 됩니다. 그냥 참고만 하세요!
phase1 정책은 각 policy 번호 마다 lifetime값을 각각 지정할 수 있는 반면,
phase2 정책의 위에 2줄은 저렇게 2줄만 있고, phase1정책마다 각기 다르게 더 만들 수 없는 것 같습니다.
딱히 지정되지 않는다면, 걍 기본 값으로 두는게 좋을 듯 싶습니다.(늘 이런식으로 결론이 내려짐 --;)

-------------------------------------------------------------------

아래 테스트는 peer끼리 정상적인 터널링 상황에서
phase2 컨피그의 특정 부분을 수정할 때 상황 정리 입니다.

phase2 정책의 번호만 다르게 해서 똑같은 내용으로 추가한 경우!!(잘 된다.)
아래 컨피그를 참조하세요.

test2(config)# crypto map outside_map 1 match address outside_1_cryptomap
WARNING: The crypto map entry is incomplete!
test2(config)# crypto map outside_map 1 set pfs
WARNING: The crypto map entry is incomplete!
test2(config)# crypto map outside_map 1 set peer 2.2.2.1
WARNING: The crypto map entry is incomplete!
test2(config)# crypto map outside_map 1 set transform-set DES-SHA
test2(config)# crypto map outside_map 1 set reverse-route
test2(config)# crypto map outside_map interface outside
test2(config)# sh run cry
crypto ipsec transform-set DES-SHA esp-des esp-sha-hmac
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
crypto map outside_map 1 match address outside_1_cryptomap
crypto map outside_map 1 set pfs
crypto map outside_map 1 set peer 2.2.2.1
crypto map outside_map 1 set transform-set DES-SHA
crypto map outside_map 1 set reverse-route
crypto map outside_map 44 match address outside_1_cryptomap
crypto map outside_map 44 set pfs
crypto map outside_map 44 set peer 2.2.2.1
crypto map outside_map 44 set transform-set DES-SHA
crypto map outside_map 44 set reverse-route
crypto map outside_map interface outside
crypto isakmp enable outside
crypto isakmp policy 777
 authentication pre-share
 encryption des
 hash md5
 group 5
 lifetime none
test2(config)#

         
---------------------------------------------

phase2 정책의 crypto map 이름만 바꾸고 나머지 똑같은 경우!!(잘 된다.)

test2(config)# sh run cry
crypto ipsec transform-set DES-SHA esp-des esp-sha-hmac
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
crypto map outside_map 44 match address outside_1_cryptomap
crypto map outside_map 44 set pfs
crypto map outside_map 44 set peer 2.2.2.1
crypto map outside_map 44 set transform-set DES-SHA
crypto map outside_map 44 set reverse-route
crypto map outside_map2 44 match address outside_1_cryptomap
crypto map outside_map2 44 set pfs
crypto map outside_map2 44 set peer 2.2.2.1
crypto map outside_map2 44 set transform-set DES-SHA
crypto map outside_map2 44 set reverse-route
crypto map outside_map2 interface outside
crypto isakmp enable outside
crypto isakmp policy 777
 authentication pre-share
 encryption des
 hash md5
 group 5
 lifetime none
test2(config)#

--------------------------------------------------
phase2 정책의 crypto map 이름만 넣고, 정책은 없는 경우(당연 안 된다!!)

test2(config)# sh run cry
crypto ipsec transform-set DES-SHA esp-des esp-sha-hmac
crypto ipsec security-association lifetime seconds 28800
crypto ipsec security-association lifetime kilobytes 4608000
crypto map outside_map 44 match address outside_1_cryptomap
crypto map outside_map 44 set pfs
crypto map outside_map 44 set peer 2.2.2.1
crypto map outside_map 44 set transform-set DES-SHA
crypto map outside_map 44 set reverse-route
crypto map outside_map6 interface outside
crypto isakmp enable outside
crypto isakmp policy 777
 authentication pre-share
 encryption des
 hash md5
 group 5
 lifetime none
test2(config)#


아래 명령을 넣을 때 경고 문구가 나온다.
crypto map outside_map6 interface outside
outside_map6 이름에 대한 참조할 정책이 없다고,
하지만 적용은 된다.

터널링 시도하면, 아주 잠깐 phase1 정책이 WAIT로 나온다.
메세지3 으로 나온다!! (메세지번호마다 의미가 있는 듯 하다.)   
정말 잠깐이다. 1초도 안 되는 정도 보여지다가 사라진다.

test2(config)# sh cry is sa

   Active SA: 1
    Rekey SA: 0 (A tunnel will report 1 Active and 1 Rekey SA during rekey)
Total IKE SA: 1

1   IKE Peer: 2.2.2.1
    Type    : user            Role    : responder
    Rekey   : no              State   : MM_WAIT_MSG3
test2(config)# sh cry is sa

There are no isakmp sas
test2(config)# sh cry is sa

There are no isakmp sas
test2(config)# sh cry is sa

----------------------------------------------------

phase1 정책을 여러개 만들고 테스트 하기!

번호 상관없이 규칙이 모두 맞는 Policy가 1개라도 있으면, 된다!!!
경우의 수로 모든 규칙을 적용해서, 미리 만들어 놓으면,
상대방 peer phase1 정책이 무엇이든,
우리쪽 phase1 정책을 추가로 만들 필요가 없을 듯 하다.
경우의 수라고 하지만, 몇 개 안 되기 때문에...
번호가 왜 1~65535까지 있는지 모르겠다.
1~50개만 있어도 남아 돌 듯 하다.

-------------------------------------------

crypto map 번호 하나에 1개 터널링 가능하다.
만약 하나의 Phase2 정책에 관해서 2개 이상의 peer가 세팅되어 있다면,
(peer ip와 transform-set 부분이 추가로 적용이 된다.)
crypto map outside_map 44 set transform-set DES-SHA DES-SHA2
crypto map outside_map 44 set peer 2.2.2.1 4.4.4.1
이런식으로~

먼저 통신한 쪽이 터널링이 맺어지고,
후에 터널링을 시도하는 쪽은 peer가 맺어지지 않는다.
먼저 통신한 쪽 터널링이 끊어지면, 후에 터널링을 시도한 peer도 터널링을 맺을 수 있다.
다시 먼저 통신한 쪽이 터널링 시도하면 당연히 안 된다!!온니원!!

--------------------------------------------

Phase1 의 디퍼헬만 그룹 세팅은 필수이다!!
하지만,
Phase2 의 디퍼헬만 그룹 세팅은 안 해도 터널링이 된다!!

no crypto map outside_map 1 set pfs

pfs(Perfect Foward Secrecy) 를 적용하고 안 하고 차이점은, 보안 수준이다.

적용하면 좀 더 높은 보안이 적용된다.

--------------------------------------------

crypto ipsec transform-set DES-SHA esp-des esp-sha-hmac

transform-set 정책을 peer 2곳 이상 참조해서 사용 할 경우!! 잘 된다!!

하지만, 훗날 특정 peer에 대해서만 정책이 바뀔 수도 있으니,
분리해서 쓰면 고민 할 필요 없을 듯 하다.

---------------------------------------------

Phase1 정책도 공유해서 쓰면 잘 된다.!!

위에서도 말했지만, 이 정책은 경우의 수 만큼 만들어 놓으면

훗날 어떤 정책으로 요청이 와도, 추가 세팅 할 필요가 없다.

lifetime은 서로 달라도 피어 맺는 것과 상관 없다.

---------------------------------------------

peer가 2개 이상이고, 연결되는 인터페이스가 다른경우!(outside, DMZ 머 등등등)

crypto map 에서 맵 이름을 다르게 주고, 번호 똑같이 써도, 잘 된다!!

--------------------------------------------

SSL테스트!

ssl테스트를 위해서 DNS서버를 돌려야 한다.
내 pc가 xp라서 배보다 배꼽이 더 크다.
윈도우xp에서는 DNS서버를 돌릴려면,
사람들 평이 좋은 bind라는 dns프로그램을 설치해서 세팅하거나,
윈도우 2000서버에서 걍 가볍게 dns서버를 작동시키면 된다.

asa ssl설정 관련해서는 아래

네전따에서 작성자 - 쏠라구구
글 제목 - CCIE Security/CCSP/ASA SSL VPN/WebVPN
이 글을 참조하면, 좋겠다!

--------------------------------------------

NAT는 그냥 문서 찾아보니까 설명이 너무 잘 되어 있어서 넘어가요^^ㅋ

--------------------------------------------
이제 대망의 failover가 남았다.

인터페이스 설정!!


test1(config-if)# ip add 2.2.2.1 255.255.255.0 standby 2.2.2.2 <--- 스탠바이ip도 입력
Waiting for the earlier webvpn instance to terminate...
Previous instance shut down. Starting a new one.

이전 webvpn 인스턴스에 대한 종료를 기다리는 동안 ...
이전 인스턴스를 종료합니다. 새로운 시작중.

이런 문구가 뜨네요^^

--------failover 세팅관련 특이한 점-------

기존에 시스코 메인/백업용 장비에서 hsrp를 이용 할 때는
ip가 3개가 필요했습니다.
각각의 장비 리얼ip - 2개
두 장비간 가상ip - 1개

하지만, vpn은 failover설정시에
두 장비 간 ip 가 2개만 있으면 됩니다.
라우팅 및 설정을 할 때 메인에 세팅 된 ip로 하면 됩니다.

-----------------------------------------------------------------------------------

failover 기본 세팅 방법

메인장비 세팅

failover (failover 동작, 기본값은 no faliover 상태임)
failover lan unit primary (이 장비를 메인으로 세팅)
failover lan interface FO Vlan4 (이중화 정보를 주고 받는 인터페이스를 적용! 이 부분이 중요하다.5505는 vlan을 넣는다.)
failover polltime interface 1 holdtime 5 (인터페이스 절체 관련 시간 설정, 헬로 타임1초, 홀드 타임 5초)
failover key cisco (양쪽 키 값을 맞춘다 이건 cisco로 했음.)
failover interface ip FO 3.3.3.1 255.255.255.0 standby 3.3.3.2 (이중화 정보를 주고 받는 인터페이스의 ip를 설정!)

이게 다가 아니다.
이렇게 적용하면, 특이하게도 vlan4가 만들어지고 , vlan4 의 네임까지 들어 가 있다. 여기선 FO 로 설정!!
이제 vlan4 에 이중화 정보를 주고 받는 인터페이스를 할당 해 줘야 한다.
(머 또 대단한 건 줄 알았는데, 그게 아니다...당연히 하는거 하는거다.ㅡㅡ;;)
할당한 인터페이스 no shut 잊지말자!! <---제일 중요 ㅇㅅㅇ/

 

백업장비 세팅

failover
failover lan unit secondary (이 장비를 백업으로 세팅)
failover lan interface FO Vlan4
failover polltime interface 1 holdtime 5
failover key ***** (컨피그 적용 후는 이렇게 *로 보인다.)
failover interface ip FO 3.3.3.1 255.255.255.0 standby 3.3.3.2

역시 마찬가지로 vlan4에 인터페이스 할당하고, 해당 인터페이스 no shut 해주면!!

설정 끝이다!!

////////메인 쪽 세팅 이것저것 하는 반면 / 백업 쪽 장비 세팅////////////
이거만 하면 된다!! 매우간단!!

interface Ethernet0/2
 switchport access vlan 4
no sh
exit

failover
failover lan unit secondary
failover lan interface FO Vlan4
failover polltime interface 1 holdtime 5
failover key cisco
failover interface ip FO 3.3.3.1 255.255.255.0 standby 3.3.3.2

/////////////////////////////////////

마지막 컨피그를 넣자마자!!(여긴 1초로 헬로타임을 설정해 놔서 곧 바로~)

ciscoasa(config)# failover interface ip FO 3.3.3.1 255.255.255.0 standby 3.3.3.2
Failover LAN became OK
Switchover enabled
Configuration has changed, replicate from mate.
.

        Detected an Active mate
Beginning configuration replication from mate.
End configuration replication from mate.

이렇게 뜨면 엑티브 쪽 컨피그를 고대로 복사해 와서 백업 장비 러닝 컨피그에 들어간다.
메인 장비 컨피그가 설정 되므로, 좀 헷갈린다. 호스트 네임까지 메인 장비 이름 그대로다....착각 할 정도로...
하지만,

test1# show startup-config
No Configuration

스타트 업 컨피그에는 복사되지 않았으므로, write 를 통해서 꼭 저장을 해야한다.(메인쪽에서 저장하면 백업쪽도 저장 됨)

컨피그 중에 failover에 할당한 vlan 인터페이스를 보면 이런식으로 들어가 컨피그가 세팅되어 있습니다.
(그냥 참고하세요. 디스크립션이 생겨있고, 암것도 없네요.)

interface Vlan4
 description LAN Failover Interface

------------------------------------------------------------------
만약 메인 / 백업 간 세팅이 덜 되거나, 맞지 않는다면


test1(config)#

        No Response from Mate
Failover LAN Failed


이렇게 나온다.

------------------------------------------
failover 확인하기~

test1# sh fa statistics
        tx:1041
        rx:332

이 명령어로 주고 받은 패킷 양을 볼 수 있다.
이 상태는 맞은 편 장비가 세팅이 나중에 되어서 rx 숫자가 낮다.

test1# clear failover statistics

명령어로 tx:0 , rx:0 을 만들고 다시 시작하면 된다.

test1# show failover statistics
        tx:13
        rx:13
test1# show failover statistics
        tx:18
        rx:19
test1# show failover statistics
        tx:22
        rx:22
test1# show failover statistics
        tx:24
        rx:25
test1# show failover statistics
        tx:27
        rx:27
test1# show failover statistics
        tx:27
        rx:28

차례대로 잘 올라간다. 하지만, 주고 받는 시간차가 있어서,
tx / rx가 완전 똑같이 올라가지는 않는 걸 볼 수 있다.

-------------------------
test1# show failover state

               State          Last Failure Reason      Date/Time
This host  -   Secondary
               Standby Ready  None
Other host -   Primary
               Active         Comm Failure             20:43:15 UTC Apr 4 2010

====Configuration State===
        Sync Done - STANDBY
====Communication State===
        Mac set

test1#

이 명령어로는 이 장비의 구체적인 상태를 본다.
이 장비는 백업이고, 다른 장비가 메인이다!! 라고 써 있다!!ㅇㅅㅇ/
컨피그가 비슷하기 때문에, failover가 세팅 되어 있는 장비를 만지고 있다면,
이 명령어로 장비상태를 한번 더 확인해야 하겠다.

----------------------------

test1# show failover interface
        interface FO Vlan4
                System IP Address: 3.3.3.1 255.255.255.0  <--두 장비간 가상 ip
                My IP Address    : 3.3.3.2 <-나의 ip 주소
                Other IP Address : 3.3.3.1 <-다른 녀석의 ip 주소

----------------------------
test1# show failover history

이 명령어로는 failover 상태에 관한 로그를 볼 수 있다.
(failover에 관한 상태변화, 시간이 자세히 나온다. 해 보면 안다!!)

----------------------------
이 명령어로는 여러가지 한방에 본다!
(아마 대부분 이 명령어로 확인 할 듯 하다.)

test1# show failover
Failover On
Failover unit Secondary
Failover LAN Interface: FO Vlan4 (up)
Unit Poll frequency 1 seconds, holdtime 15 seconds
Interface Poll frequency 1 seconds, holdtime 5 seconds
Interface Policy 1
Monitored Interfaces 4 of 250 maximum
Version: Ours 8.2(1), Mate 8.2(1)
Last Failover at: 20:43:00 UTC Apr 4 2010
        This host: Secondary - Standby Ready
                Active time: 2410 (sec)
                slot 0: ASA5505 hw/sw rev (1.0/8.2(1)) status (Up Sys)
                  Interface outside (2.2.2.2): Normal
                  Interface inside (1.1.1.2): Normal
                  Interface FZONE (0.0.0.0): No Link (Waiting)
                slot 1: empty
        Other host: Primary - Active
                Active time: 5189 (sec)
                slot 0: ASA5505 hw/sw rev (1.0/8.2(1)) status (Up Sys)
                  Interface outside (2.2.2.1): Normal
                  Interface inside (1.1.1.1): Normal
                  Interface FZONE (0.0.0.0): No Link (Waiting)
                slot 1: empty

-------------------------------
해당 명령어로 모니터 되고 있는 인터페이스를 볼 수 있다.
(데이터가 흐르는 인터페이스 메인/백업 이중화 상태)

test1# show monitor-interface
        This host: Secondary - Active
                Interface outside (2.2.2.1): Normal
                Interface inside (1.1.1.1): Normal
                Interface FZONE (0.0.0.0): No Link (Waiting) <-이건 제가 세팅을 안 해서 이렇게 나옴
        Other host: Primary - Standby Ready
                Interface outside (2.2.2.2): Normal
                Interface inside (1.1.1.2): Normal
                Interface FZONE (0.0.0.0): No Link (Waiting)

해당 장비는 백업인데, 현재 메인으로 동작중이고, 데이터가 흐르는
인터페이스들도 메인 장비의 ip를 현재 장비가 가지고 있다.

-------------------------------

메인 장비가 꺼졌다가 켜지면, 그대로 백업상태로 있다.

이 장비를 다시 메인으로 동작시키려면!!

엑티브 장비에서 no failover active 명령어를 하거나!

스탠바이 장비에서 failover active 명령어를 사용하면 된다.

-------------------------------

failover 상태인 장비에서

메인쪽에서 컨피그 하면 바로 백업쪽으로 컨피그가 동시에 이뤄진다.

하지만, 백업 쪽에서 컨피그 모드로 들어가면 아래와 같이

컨피그가 복사되지 않는다고, 경고 한다!

test11111# conf t
**** WARNING ****
        Configuration Replication is NOT performed from Standby unit to Active unit.
        Configurations are no longer synchronized.
test11111(config)#

무조건 메인 쪽에서 컨피그하는 순간, 백업 쪽은 저절로 러닝 컨피그에 입력된다.

하지만, 스타트업 컨피그에는 적용되지 않으므로 write해야한다.(메인에서 해도 된다.)

------------------------------

write 명령어는 active 상태의 장비에서 사용하면, standby 장비에서도 적용이 된다.
만약 active 상태의 장비에서 write erase 명령어를 사용해서 스타트업 컨피그를 모조리 날리면,
standby 장비에서도 스타트업 컨피그를 모조리 날아간다.

이 상태에서 리로드하면 초기화 상태로 켜진다~ ㅇㅅㅇ;;

모든 것을 따라하는 따라쟁이 standby 장비 그럼!!
active 상태 장비를 reload 명령어로 재부팅 해 버리면 어떻게 될까?

이건 안 따라한다.ㅡㅡ/ standby 장비는 -> active 상태가 될 뿐이다.

------------------------------

vpn을 통과하는 단말 간 ping 테스트

핑을 계속 쏴둔 상태에서 메인 장비를 리로드 하면 절체 현상이 생긴다.
도스창에서 핑 3개 정도 빠진다.

명령어로 메인, 백업에서 각각 절체하면, 핑 하나도 안 빠짐.
메인--절체-->백업(안 빠짐), 백업--절체-->메인(안 빠짐)

(백업장비에서 내가 엑티브가 될테야!!라고 적용시킴)
test66666# failover active

        Switching to Active

이렇게 나온다.

(메인장비에서 내가 스탠바이가 될테야!!라고 적용시킴)
test66666# no failover active
test66666#
        Switching to Standby

이렇게 나온다.

정말 밥 먹듯이 이리저리 적용해도 핑 하나도 안 빠짐!!

------------------------------

터널링 세팅하고 나서 메인 장비 죽였을 때!! (아주 잘 넘어간다. 대신 핑 약간 빠진다.)

도스창 기준으로 핑은 한 4개 빠진다.(장비를 물리적으로 끌 때. unit 폴링 5 / 15 기본 값)

도스창 기준으로 핑 1개 빠진다.(명령어로 절체할 때)


failover polltime unit 1 holdtime 3 <--장비 폴링 시간 설정
failover polltime interface 1 holdtime 5   <--인터페이스 폴링 시간 설정

unit 폴링 시간을 1 / 3 최소로 설정하면
도스창 기준으로 핑은 한 2개 빠진다.(장비를 물리적으로 끌 때)

 

------------------------------end-----------------------------

 

첨에는 잘 써 볼려고 했는데, 막상 쓰다보니 뒤죽박죽 되네요^^

그래도, 이런저런 테스트 하면서 많이 배우게 되었습니다.

'Network' 카테고리의 다른 글

[cisco vlan map Test]  (0) 2021.12.10
[cisco err-disabled 이란?]  (0) 2021.12.05
[SNMP_OID 값이 무엇인가?]  (0) 2021.11.26
[cisco 의 휴지통. squeeze 명령어]  (0) 2021.11.21
[CF 카드와 6509 부팅 이미지에 관한 Test]  (0) 2021.11.20