IT 대장간

2. Vagrant + Docker + 쿠버네티스 활용 (②Vagrant 사용법) 본문

해킹보안/진단 환경 구성

2. Vagrant + Docker + 쿠버네티스 활용 (②Vagrant 사용법)

태장장이 2023. 9. 8. 15:33

 

▶Vagrant 저장소

https://app.vagrantup.com/boxes/search

 

Vagrant Cloud by HashiCorp

Vagrant Cloud by HashiCorp

app.vagrantup.com

가상머신 이미지는 위 링크를 통해 저장소 내 리스트업 확인을 해주면 되며 구 버전까지 모두 이용 가능

 

Vagrant 저장소 서칭

 

: 이것들은 이번 글에서 소개하는 Vagrantfile(INIT파일) 설정 시 반드시 필요한 값이다.

프레임워크 추가하는 것과 방식이 유사하다고 보면 되나 이걸 모를경우 VM 설치자체가 안되므로 중요!

 

출력된 이미지 중 버전명 클릭 시 하위 버전 설치 까지 가능

 

1) Vagrant 명령어

 

①Vagrant Init [kalilnux/rolling] -

 

: 현재 디렉터리를 vagrant 환경으로 초기 세팅함

: Init 뒤에 OS Box명을 함께 입력 해줄 경우 해당 OS 설정이 완료된 상태로 VagrantFile 생성

1) 빈 폴더에 [vagrant init] 명령어 수행

 

 

-Init 명령어 입력 시

2) Init 명령어 사용 시 위와 같이 Vagrantfile이 생성 되었다

 

- 파일 내용 커스터마이징

3) Default 상태의 INIT 파일

※바로 여기서 아까 맨위에 소개한 Box의 값들을 참조하여 넣어주면된다.

ex) "base" --> "generic/centos7"

 

세부 설정이 필요하지 않다면 box값만 입력해주면 자동 설치해준다.

- OS 설정 (Version 선택 O)

- 호스트 네트워크 설정

- 로컬 요청에 대한 포워딩(로컬:10030에 요청 시 가상머신:10020포트로 통신)

4) 설정을 완료한 INIT 파일

②Vagrant up [kalilnux/rolling]

: 현재 디렉토리 내 VagrantFile의 설정 값 대로 실행 (최초 동작 시 OS 설치과정까지 알아서 수행)

: Name값 입력 시 해당 가상머신만 Power On

 

1) CentOS(Generic/centos7)의 경우 Default 가 CLI로 설치되므로 GUI 필요 시 아래 과정을 수행해주면 된다.

### Run Level Set###
systemctl set-default graphical.target

###GUI 패키지 설치###
yum groupinstall "GNOME Desktop" "Graphical Aministration Tools" -y

###REBOOT###
init 6

 

5) Run Level 체크& GUI 패키지 설치

설치과정이 끝나면 Reboot 진행

6) GUI 패키지 설치 과정

 

 

7) Victim 세팅 완료

③Vagrant SSH [kalilnux/rolling]

: 로컬에서 해당 가상머신으로 SSH 연결하여 Default는 아래와 같음

Host : 127.0.0.1
Port : 2222
Username : vagrant
Password : vagrant
Private key : c:/vagrant/.vagrant/machines/default/virtualbox/private_key

 

그 외 명령어

  • vagrant box
    • vagrant box add <address> : 박스 추가
    • vagrant box list : 설치된 박스 리스트
    • vagrant box outdated : 최신 업데이트 된 박스들 보여주기
    • vagrant remove <address> : 박스 삭제
    • vagrant repackage :
    • vagrant update :
  • vagrant destroy : 가상머신 삭제
  • vagrant global-status : 현재 켜져 있는 Vagrant environments 를 보여준다. vagrant halt 등으로 꺼줘야 한다.
  • vagrant package : 현재 실행중인 Virtualbox 를 재사용 가능한 box로 만든다.
  • vagrant plugin
    • vagrant plugin install
    • vagrant plugin license
    • vagrant plugin list
    • vagrant plugin uninstall
    • vagrant plugin update
  • vagrant status : 현재 가상머신 상태 출력
  • vagrant snapshot list : 현재 스냅샷 목록을 불려온다
  • vagrant snapshot save [name] : 해당 스냅샷 이름으로 저장한다
  • vagrant snapshot resotere [name] : 해당 스냅샷 이름으로 복구한다
  • vagrant reload [name|id] : 해당 가상머신을 종료하고 다시 실행한다
  • vagrant halt [name|id] : 해당 가상머신을 종료한다
  • vagrant suspend [name|id] : 해당 가상머신 일시중지
  • vagrant status [name|id] : 현재 가상머신들의 상태를 표시한다.