Hyper-V를 사용하여 ASA 가상 구축

Microsoft Hyper-V를 사용하여 ASA 가상를 구축할 수 있습니다.


중요사항

9.13(1)부터 ASA 가상의 최소 메모리 요구 사항은 2GB입니다. 현재 ASA 가상이 2GB 미만의 메모리로 실행되는 경우에는 ASA 가상 머신의 메모리를 늘리지 않고는 이전 버전에서 9.13(1) 이상으로 업그레이드할 수 없습니다. 9.13(1) 버전의 새 ASA 가상 머신을 재구축할 수도 있습니다.


Hyper-V를 사용한 ASA 가상 구축 정보

독립형 Hyper-V 서버에 또는 Hyper-V Manager를 통해 Hyper-V를 구축할 수 있습니다. Powershell CLI 명령을 사용하여 설치하는 방법은 명령줄을 사용하여 Hyper-V에 ASA 가상를 설치(46페이지)를 참고하십시오. Hyper-V Manager를 사용하여 설치하는 방법은 Hyper-V Manager를 사용하여 Hyper-V에 ASA 가상 설치(46페이지)를 참고하십시오. Hyper-V는 시리얼 콘솔 옵션을 제공하지 않습니다. 관리 인터페이스에서 SSH 또는 ASDM을 통해 Hyper-V를 관리할 수 있습니다. SSH 설정 관련 정보는 SSH 구성(54페이지)을 참조하십시오.

다음 그림에서는 라우팅 방화벽 모드의 ASA 가상에 대한 권장 토폴로지를 확인할 수 있습니다. Hyper-V에 ASA 가상을 위한 3가지 서브넷(관리, 내부, 외부)이 설정되어 있습니다.

그림 1. 라우팅 방화벽 모드 ASA 가상의 권장 토폴로지

ASA 가상 및 Hyper-V에 대한 지침과 제한 사항

  • 플랫폼 지원

    • Cisco UCS B-Series 서버

    • Cisco UCS C-Series 서버

    • Hewlett Packard Proliant DL160 Gen8

  • OS 지원

    • Windows Server 2012

    • 기본 Hyper-V


      참고

      ASA 가상은 현재 가상화에 사용되는 최신 64비트 고성능 플랫폼에서 실행해야 합니다.


  • 파일 형식

    Hyper-V에서의 ASA 가상 ASAv 초기 구축에 VHDX 형식을 지원합니다.

  • Day 0 컨피그레이션

    필요한 ASA CLI 컨피그레이션 명령을 포함한 텍스트 파일을 생성합니다. 절차는 Day 0 컨피그레이션 파일 준비를 참조하십시오.

  • Day 0 컨피그레이션의 방화벽 투명 모드

    컨피그레이션 줄 ‘firewall transparent’가 Day 0 컨피그레이션 파일의 맨 위에 있어야 합니다. 파일에서 다른 곳에 위치할 경우 잘못된 동작이 나올 수 있습니다. 절차는 Day 0 컨피그레이션 파일 준비를 참조하십시오.

  • 장애 조치

    Hyper-V 기반 ASA 가상은 액티브/스탠바이 페일오버를 지원합니다. 라우팅 모드와 투명 모드에서 액티브/스탠바이 장애 조치를 구현하려면 모든 가상 네트워크 어댑터에서 MAC 주소 스푸핑을 활성화해야 합니다. 53페이지의 MAC 주소 스푸핑 구성을 참조하십시오. 독립형 ASA 가상의 투명 모드에서는 관리 인터페이스에서 MAC 주소 스푸핑을 활성화지 않아야 합니다. 액티브/액티브 장애 조치는 지원되지 않습니다.

  • Hyper-V는 최대 8개의 인터페이스를 지원합니다. Management 0/0 및 GigabitEthernet 0/0 ~ 0/6입니다. GigabitEthernet을 장애 조치 링크로 사용할 수 있습니다.

  • VLAN

    Set-VMNetworkAdapterVLan Hyper-V Powershell 명령을 사용하여 트렁크 모드의 인터페이스에 VLAN을 설정합니다. 관리 인터페이스에 대한 기본 VLAN ID를 특정 VLAN으로 또는 VLAN 없음을 의미하는 '0'으로 설정할 수 있습니다. 트렁크 모드는 Hyper-V 호스트 재부팅 시 유지되지 않습니다. 재부팅한 후 매번 트렁크 모드를 재구성해야 합니다.

  • 레거시 네트워크 어댑터는 지원되지 않습니다.

  • 2세대 가상 시스템은 지원되지 않습니다.

  • Microsoft Azure는 지원되지 않습니다.

ASA 가상 및 Hyper-V 사전 요건

  • MS Windows 2012에 Hyper-V를 설치합니다.

  • Day 0 컨피그레이션 텍스트 파일을 생성합니다(사용 중인 경우).

    ASA 가상이 처음으로 구축되기 전에 Day 0 컨피그레이션을 추가해야 합니다. 그렇지 않으면 ASA 가상에서 write erase를 수행해야 Day 0 컨피그레이션을 사용할 수 있습니다. 절차는 Day 0 컨피그레이션 파일 준비를 참조하십시오.

  • Cisco.com에서 ASA 가상 VHDX 파일을 다운로드합니다.

    http://www.cisco.com/go/asa-software


    참고

    Cisco.com 로그인 및 Cisco 서비스 계약이 필요합니다.


  • 3개 이상의 서브넷/VLAN에 구성된 Hyper-V 스위치

  • Hyper-V 시스템 요구 사항은 Cisco Secure Firewall ASA 호환성을 참조하십시오.

Day 0 컨피그레이션 파일 준비

ASA 가상를 실행하기 전에 Day 0 구성 파일을 준비할 수 있습니다. 이 파일은 ASA 가상을 시작할 때 적용하는 ASA 가상 컨피그레이션이 포함된 텍스트 파일입니다. 이 초기 컨피그레이션은 사용자가 선택하는 작업 디렉토리의 “day0-config”라는 이름의 텍스트 파일에 위치하며, 이 파일은 최초 부팅 시 마운트되고 읽히는 day0.iso 파일로 조작됩니다. Day 0 컨피그레이션 파일에는 최소한 관리 인터페이스를 활성화하고 공용 키 인증용 SSH 서버를 설정하는 명령이 포함되어야 할 뿐만 아니라, 완전한 ASA 컨피그레이션도 포함되어야 합니다. 최초 부팅 동안 day0.iso 파일(사용자 정의 day0.iso 또는 기본 day0.iso)을 사용할 수 있어야 합니다.

시작하기 전에

이 예에서는 Linux를 사용하지만 Windows에도 유사한 유틸리티가 있습니다.

  • 초기 구축 동안 ASA 가상 라이센스를 자동으로 적용하려면, Cisco Smart Software Manager에서 다운로드한 Smart Licensing ID(Identity) Token을 Day 0 컨피그레이션 파일과 같은 디렉토리에 있는 ‘idtoken’이라는 이름의 텍스트 파일로 가져옵니다.

  • 투명 모드에서 ASA 가상을 구축하려는 경우, 투명 모드에서 실행 중인 알려진 ASA 컨피그레이션 파일을 Day 0 컨피그레이션 파일로 사용해야 합니다. 이 사항은 라우팅 방화벽용 Day 0 컨피그레이션 파일에는 적용되지 않습니다.

  • 처음으로 ASA 가상을 부팅하기 전에 Day 0 컨피그레이션 파일을 추가해야 합니다. 처음으로 ASA 가상을 부팅한 후에 Day 0 컨피그레이션을 사용하기로 결정할 경우 write erase 명령을 실행하고 Day 0 컨피그레이션 파일을 적용한 다음 ASA 가상을 부팅해야 합니다.

프로시저


단계 1

“day0 config”라는 텍스트 파일에 ASA 가상에 대한 CLI 컨피그레이션을 입력합니다. 3개의 인터페이스에 대한 인터페이스 컨피그레이션 및 원하는 기타 모든 컨피그레이션을 추가합니다.

첫 줄은 ASAv 버전으로 시작해야 합니다. day0-config는 유효한 ASA 컨피그레이션이어야 합니다. day0-config를 생성하는 가장 좋은 방법은 기존 ASA 또는 ASA 가상에서 실행 중인 컨피그레이션 중 원하는 부분을 복사하는 것입니다. day0-config에서 줄의 순서가 중요하며 기존 show run 명령 출력의 순서와 일치해야 합니다.

예:

ASA Version 9.5.1
!
interface management0/0
nameif management
 security-level 100
 ip address 192.168.1.2 255.255.255.0
 no shutdown
interface gigabitethernet0/0
 nameif inside
 security-level 100
 ip address 10.1.1.2 255.255.255.0
 no shutdown
interface gigabitethernet0/1
 nameif outside
 security-level 0
 ip address 198.51.100.2 255.255.255.0
 no shutdown
http server enable
http 192.168.1.0 255.255.255.0 management
crypto key generate rsa modulus 1024
username AdminUser password paSSw0rd
ssh 192.168.1.0 255.255.255.0 management
aaa authentication ssh console LOCAL
단계 2

(선택 사항) Cisco Smart Software Manager에서 발급한 스마트 라이센스 ID 토큰 파일을 컴퓨터에 다운로드합니다.

단계 3

(선택 사항) 다운로드 파일에서 ID 토큰을 복사하고 ID 토큰만 포함된 텍스트 파일에 붙여넣습니다.

단계 4

(선택 사항) 초기 ASA 가상 구축 동안 라이센싱이 자동으로 이루어진 경우, day0-config 파일에 다음 정보가 포함되어 있는지 확인합니다.

  • 관리 인터페이스 IP 주소

  • (선택 사항) Smart Licensing에 사용할 HTTP 프록시

  • HTTP 프록시(지정된 경우) 또는 tools.cisco.com에 대한 연결을 지원하는 route 명령

  • tools.cisco.com을 IP 주소에 확인하는 DNS 서버

  • 사용자가 요청하는 ASA 가상 라이센스를 지정하는 Smart Licensing 컨피그레이션

  • (선택 사항) ASA 가상이 CSSM에서 검색을 더욱 쉽게 수행할 수 있도록 하는 고유한 호스트 이름

단계 5

텍스트 파일을 ISO 파일로 전환하여 가상 CD-ROM을 생성합니다.

stack@user-ubuntu:-/KvmAsa$ sudo genisoimage -r -o day0.iso day0-config idtoken
I: input-charset not specified, using utf-8 (detected in locale settings)
Total translation table size: 0
Total rockridge attributes bytes: 252
Total directory bytes: 0
Path table size (byptes): 10
Max brk space used 0
176 extents written (0 MB)
stack@user-ubuntu:-/KvmAsa$

ID 토큰은 ASA 가상을 Smart Licensing 서버에 자동으로 등록합니다.

단계 6

1단계~5단계를 반복하여 구축하려는 각 ASA 가상에 대해 적절한 IP 주소가 포함된 별도의 기본 컨피그레이션 파일을 만듭니다.


Hyper-V Manager를 사용하여 Day 0 컨피그레이션 파일로 ASA 가상 구축

Day 0 컨피그레이션 파일(Day 0 컨피그레이션 파일 준비)을 설정했다면 Hyper-V Manager를 사용하여 구축할 수 있습니다.

프로시저


단계 1

Server Manager(서버 관리자) > Tools(툴) > Hyper-V Manager로 이동합니다.

단계 2

Hyper-V Manager의 오른쪽에 있는 Settings(설정)를 클릭합니다. Settings(설정) 대화 상자가 열립니다. 왼쪽의 Hardware(하드웨어)에서 IDE Controller 1(IDE 컨트롤러 1)을 클릭합니다.

그림 2. Hyper-V Manager
단계 3

오른쪽 창의 Media(미디어)에서 Image file(이미지 파일) 라디오 버튼을 선택한 다음 Day 0 ISO 컨피그레이션 파일을 저장한 디렉터리로 이동하고 Apply(적용)를 클릭합니다. ASA 가상을 처음으로 부팅하는 경우 Day 0 컨피그레이션 파일의 내용에 따라 구성됩니다.


명령줄을 사용하여 Hyper-V에 ASA 가상 설치

Windows Powershell 명령줄을 통해 Hyper-V에 ASA 가상을 설치할 수 있습니다. 독립형 Hyper-V 서버에 있다면 명령줄을 사용하여 Hyper-V를 설치해야 합니다.

프로시저


단계 1

Windows Powershell을 엽니다.

단계 2

ASA 가상을 구축합니다.

예:

new-vm -name $fullVMName -MemoryStartupBytes $memorysize -Generation 1 -vhdpath
C:\Users\jsmith.CISCO\ASAvHyperV\$ImageName.vhdx -Verbose
단계 3

ASA 가상 모델에 따라 CPU 카운트를 기본값인 1에서 변경합니다.

예:

set-vm -Name $fullVMName -ProcessorCount 4
단계 4

(선택 사항) 인터페이스 이름을 의미 있는 이름으로 바꿉니다.

예:

Get-VMNetworkAdapter -VMName $fullVMName -Name "Network Adapter" | Rename-vmNetworkAdapter -NewName
mgmt
단계 5

(선택 사항) 네트워크에서 필요하다면 VLAN ID를 변경합니다.

예:

Set-VMNetworkAdapterVlan -VMName $fullVMName -VlanId 1151 -Access -VMNetworkAdapterName "mgmt"
단계 6

Hyper-V에서 변경 사항을 적용하도록 인터페이스를 새로고침합니다.

예:

Connect-VMNetworkAdapter -VMName $fullVMName -Name "mgmt" -SwitchName 1151mgmtswitch
단계 7

내부 인터페이스를 추가합니다.

예:

Add-VMNetworkAdapter -VMName $fullVMName -name "inside" -SwitchName 1151mgmtswitch
Set-VMNetworkAdapterVlan -VMName $fullVMName -VlanId 1552 -Access -VMNetworkAdapterName "inside"
단계 8

외부 인터페이스를 추가합니다.

예:

Add-VMNetworkAdapter -VMName $fullVMName -name "outside" -SwitchName 1151mgmtswitch
Set-VMNetworkAdapterVlan -VMName $fullVMName -VlanId 1553 -Access -VMNetworkAdapterName “outside"

Hyper-V Manager를 사용하여 Hyper-V에 ASA 가상 설치

Hyper-V Manager를 사용하여 Hyper-V에 ASA 가상을 설치할 수 있습니다.

프로시저


단계 1

Server Manager(서버 관리자) > Tools(툴) > Hyper-V Manager로 이동합니다.

그림 3. 서버 관리자
단계 2

Hyper-V Manager가 나타납니다.

그림 4. Hyper-V Manager
단계 3

오른쪽의 하이퍼바이저 목록에서 원하는 하이퍼바이저를 마우스 오른쪽 버튼으로 클릭하고 New(새로 만들기) > Virtual Machine(가상 머신)을 선택합니다.

그림 5. 새 가상 머신 시작
단계 4

New Virtual Machine Wizard(새 가상 시스템 마법사)가 나타납니다.

그림 6. New Virtual Machine Wizard(새 가상 머신 마법사)
단계 5

마법사에서 다음 정보를 지정합니다.

  • ASA 가상의 이름 및 위치

  • ASA 가상 생성

    ASA 가상에서 유일하게 지원되는 세대는 Generation 1입니다.

  • ASA 가상의 메모리 용량 (100Mbps는 1024MB, 1Gbps는 2048MB, 2Gbps는 8192MB)

  • 네트워크 어댑터(이미 설정한 가상 스위치에 연결)

  • 가상 하드 디스크 및 위치

    Use an existing virtual hard disk(기존 가상 하드 디스크 사용)를 선택하고 VHDX 파일의 위치로 이동합니다.

단계 6

Finish(마침)를 클릭하면 ASA 가상 컨피그레이션을 보여주는 대화 상자가 나타납니다.

그림 7. 새 가상 머신 요약
단계 7

ASA 가상에 vCPU 4개가 있다면, ASA 가상을 시작하기 전에 vCPU 값을 수정해야 합니다. Hyper-V Manager의 오른쪽에 있는 Settings(설정)를 클릭합니다. Settings(설정) 대화 상자가 열립니다. 왼쪽의 Hardware(하드웨어) 메뉴에서 Processor(프로세서)를 클릭하여 Processor(프로세서) 창으로 이동합니다. Number of virtual processors(가상 프로세서 수)를 4로 변경합니다.

100Mbps 및 1Gbps 엔타이틀먼트에는 vCPU 1개가 있고 2Gbps 엔타이틀먼트에는 vCPU 4개가 있습니다. 기본값은 1입니다.

그림 8. 가상 머신 프로세서 설정
단계 8

Virtual Machines(가상 시스템) 메뉴에서 목록의 ASA 가상 이름을 마우스 오른쪽 버튼으로 클릭하고 Connect(연결)를 클릭하여 ASA 가상에 연결합니다. 중지된 ASA 가상에 대한 콘솔이 열립니다.

그림 9. 가상 머신에 연결
단계 9

Virtual Machine Connection(가상 시스템 연결) 콘솔 창에서 청록색 Start(시작) 버튼을 클릭하여 ASA 가상을 시작합니다.

그림 10. 가상 머신 시작
단계 10

ASA 가상의 부팅 진행 상황이 콘솔에 표시됩니다.

그림 11. 가상 머신 부팅 진행 중

Hyper-V Manager에서 네트워크 어댑터 추가

새로 구축된 ASA 가상에는 네트워크 어댑터가 1개뿐입니다. 네트워크 어댑터를 2개 이상 추가해야 합니다. 여기서는 내부 네트워크 어댑터를 추가하고 있습니다.

시작하기 전에

  • ASA 가상이 꺼진 상태여야 합니다.

프로시저


단계 1

Hyper-V Manager의 오른쪽에 있는 Settings(설정)를 클릭합니다. Settings(설정) 대화 상자가 열립니다. 왼쪽의 Hardware(하드웨어) 메뉴에서 Add Hardware(하드웨어 추가)를 클릭하고 Network Adapter(네트워크 어댑터)를 클릭합니다.

참고 

레거시 네트워크 어댑터는 사용하지 마십시오.

그림 12. 네트워크 어댑터 추가
단계 2

네트워크 어댑터가 추가된 다음 가상 스위치 및 기타 기능을 수정할 수 있습니다. 필요하다면 여기서 VLAN ID도 설정할 수 있습니다.

그림 13. 네트워크 어댑터 설정 수정

네트워크 어댑터 이름 수정

Hyper-V에서는 일반 네트워크 인터페이스 이름인 ‘Network Adapter’가 사용됩니다. 네트워크 인터페이스가 모두 동일한 이름일 경우 혼동될 수 있습니다. Hyper-V Manager를 사용하여 이름을 수정할 수 없습니다. Windows Powershell 명령을 사용하여 수정해야 합니다.

프로시저


단계 1

Windows Powershell을 엽니다.

단계 2

필요에 따라 네트워크 어댑터를 수정합니다.

예:

$NICRENAME= Get-VMNetworkAdapter -VMName 'ASAvVM' -Name "Network Adapter"
rename-VMNetworkAdapter -VMNetworkAdapter $NICRENAME[0] -newname inside
rename-VMNetworkAdapter -VMNetworkAdapter $NICRENAME[1] -newname outside

MAC 주소 스푸핑

ASA 가상이 투명 모드에서 패킷을 전달하려면 그리고 HA 액티브/스탠바이 페일오버를 위해서는 모든 인터페이스에 대해 MAC 주소 스푸핑을 활성화해야 합니다. 이는 Hyper-V Manager에서 또는 Powershell 명령을 사용하여 수행할 수 있습니다.

Hyper-V 관리자를 사용하여 MAC 주소 스푸핑 구성

Hyper-V Manager를 사용하여 Hyper-V에 MAC 스푸핑을 구성할 수 있습니다.

프로시저


단계 1

Server Manager(서버 관리자) > Tools(툴) > Hyper-V Manager로 이동합니다.

Hyper-V Manager가 나타납니다.

단계 2

Hyper-V Manager의 오른쪽에 있는 Settings(설정)를 클릭하여 설정 대화상자를 엽니다.

단계 3

왼쪽의 Hardware(하드웨어) 메뉴에서 다음을 수행합니다.

  1. Inside(내부)를 클릭하고 메뉴를 확장합니다.

  2. Advanced Features(고급 기능)를 클릭하여 MAC 주소 옵션으로 이동합니다.

  3. Enable MAC address spoofing(MAC 주소 스푸핑 활성화) 라디오 버튼을 클릭합니다.

단계 4

Outside(외부) 인터페이스를 대상으로 같은 작업을 반복합니다.


명령줄을 사용하여 MAC 주소 스푸핑 구성

Windows Powershell 명령줄을 사용하여 Hyper-V에서 MAC 스푸핑을 구성할 수 있습니다.

프로시저


단계 1

Windows Powershell을 엽니다.

단계 2

MAC 주소 스푸핑을 구성합니다.

예:

Set-VMNetworkAdapter -VMName $vm_name\
-ComputerName $computer_name -MacAddressSpoofing On\
-VMNetworkAdapterName $network_adapter\r"

SSH 구성

Hyper-V Manager의 Virtual Machine Connection(가상 시스템 연결)에서 관리 인터페이스를 통한 SSH 액세스를 위해 ASA 가상을 구성할 수 있습니다. Day 0 컨피그레이션 파일을 사용하는 경우 여기에 SSH 액세스를 추가할 수 있습니다. 자세한 내용은 Day 0 컨피그레이션 파일 준비를 참조하십시오.

프로시저


단계 1

RSA 키 쌍이 있음을 확인합니다.

예:

asav# show crypto key mypubkey rsa
단계 2

RSA 키 쌍이 없을 경우 RSA 키 쌍을 생성합니다.

예:

asav(conf t)# crypto key generate rsa modulus 2048

username test password test123 privilege 15
aaa authentication ssh console LOCAL
ssh 10.7.24.0 255.255.255.0 management
ssh version 2
단계 3

다른 PC에서 SSH를 사용하여 ASA 가상에 액세스할 수 있는지 확인합니다.


CPU 사용량 및 보고

CPU Utilization(CPU 사용률) 보고서에는 지정된 시간 내에 사용된 CPU의 백분율이 요약되어 있습니다. 일반적으로 코어는 사용량이 적은 시간에는 총 CPU 용량의 약 30~40%, 사용량이 많은 시간에는 약 60~70%로 작동합니다.

ASA Virtual의 vCPU 사용량

ASA virtual vCPU 사용량에서는 데이터 경로, 제어 지점, 외부 프로세스에 사용된 vCPU 양을 확인할 수 있습니다.

Hyper-V에서 보고하는 vCPU 사용량에는 앞서 설명한 ASA virtual 사용량과 함께 다음 항목도 포함되어 있습니다.

  • ASA Virtual 유휴 시간

  • ASA 가상 머신에 사용된 %SYS 오버헤드

CPU 사용량의 예

show cpu usage 명령을 사용하여 CPU 사용률 통계를 표시할 수 있습니다.

Ciscoasa#show cpu usage

CPU utilization for 5 seconds = 1%; 1 minute: 2%; 5 minutes: 1%

다음은 보고된 vCPU 사용량이 상당한 차이를 보이는 예입니다.

  • ASA Virtual 보고서: 40%

  • DP: 35%

  • 외부 프로세스: 5%

  • ASA(ASA Virtual 보고서): 40%

  • ASA 유휴 폴링: 10%

  • 오버헤드: 45%