AWS Cloud School 13기 46일차

Forever 김·2026년 3월 5일

AWS Cloud School

목록 보기
42/116

TIL

배운 내용

LVM(Logical Volume Manager)

  • 물리적인 디스크나 파티션을 내가 원하는 방식과 용량의 가상 디스크로 구성할 수 있는 기술
  • 디스크의 크기를 증가 or 감소 시킬 수 있다.
  • 여러개의 물리 디스크를 통해 PV(Physical Volume)를 구성하고, 이 PV들로 VG(Volume Group)을 구성한 후 LV를 생성한다.
  • 물리디스크는 물론, 파티션들도 PV가 될 수 있다.

디스크를 각각 1GB,2GB,3GB 추가 한다.

[root@lvm ~]# yum install -y lvm2
# lvm 설치 패키지

물리 디스크를 pv로 선언한다.
이때

  • pvcreate : pv 생성
  • pvscan : 간략하게 보기
  • pvdisplay : 자세히보기
[root@lvm ~]# pvcreate /dev/sdb
[root@lvm ~]# pvcreate /dev/sdc
[root@lvm ~]# pvcreate /dev/sdd

[root@lvm ~]# vgcreate myvg /dev/sdb /dev/sdc /dev/sdd
# myvg 라는 이름의 볼륨그룹 생성 및 pv 등록

[root@lvm ~]# lvcreate --name mylv1 --size 1G myvg
# myvg라는 볼륨그룹에 mylv1 이라는 이름의 lv를 생성. 사이즈 1GB

[root@lvm ~]# lvcreate --name mylv2 --extents +100%FREE myvg
# myvg라는 볼륨그룹의 남은 공간 전부를 할당하여 mylv2를 생성하겠다.

[root@lvm ~]# lvdisplay
# 만들어진 lv 확인

[root@lvm ~]# mkfs.ext4 /dev/myvg/mylv1
[root@lvm ~]# mkfs.ext4 /dev/myvg/mylv2
# 생성한 lv로 파일시스템을 생성

[root@lvm ~]# mkdir /lv1
[root@lvm ~]# mkdir /lv2
# 마운트 포인트 생성.

[root@lvm ~]# mount /dev/myvg/mylv1 /lv1
[root@lvm ~]# mount /dev/myvg/mylv2 /lv2
# 마운트

[root@lvm ~]# vi /etc/fstab
# 마운트 유지


1. pvcreate로 pv정의하고
2. vg를 생성해서 넣든지 extend해서 연장하든지

PV -> VG -> LV


VyOS

  • 방화벽 기능이 있는 오픈 소스 라우터 OS. Vyatta의 무료 버전

우리가 실습할 내용 : Zone 기반 방화벽, VPN 

기본계정으로 로그인후 처음엔 꼭 install image를 통해 운영체제를 설치해줘야함.

되도록이면 재부팅이나 셧다운은 하지마세요! (설정사항이 저장이 잘 안됨)

set : 설정

edit : 수정

delete : 삭제

sh : 설정값 확인

commit : 설정, 수정, 삭제 사항을 ‘반영’

vyos@vyos# set int eth eth0 add 211.183.3.252/24

 eth0 이라는 이더넷 인터페이스의 주소를 211.183.3.252/24 로 설정

vyos@vyos# commit
# 반영
vyos@vyos# set service ssh port 22
# ssh 서버의 포트를 22번으로 설정

vyos@vyos# set system gateway-address 211.183.3.2
# 디폴트루트 설정.

VyOS가 회사내부(데이터센터내부) 와 외부의 경계에 존재하는 라우터라고 생각해도 좋다.
외부 네트워크는 정의를 했고, 우리는 앞으로 내부 대역을 정의.

나는 내부대역(10.10.5.0/24)을 하나 추가하고 싶다.

어댑터를 하나 추가. 재부팅이나 셧다운은 하지 않아도 된다.

10.10.5.0 /24 대역으로 설정한다고 했기때문에 vmnet5 을 선택한다.

vyos@vyos# set int eth eth1 add 10.10.5.252/24

vyos@vyos# commit

인터페이스를 한개 더 추가후

인터페이스를 설정해준다.
# 단, 주의할점은 반드시 인터페이스를 한개씩만 추가하여 설정해줘야한다.
두개의 장치(NIC)를 한번에 추가하지 말라는뜻.

vyos@vyos# set int eth eth2 add 10.10.6.252/24

실습) 위 그림과 같이 dmz라는 centos7 VM을 설치하여 mint에서 dmz서버로 웹접속이 되게끔 해보세요!

vmnet8 에 dmz 서버를 두고 웹서버를 설치(vmnet6은 외부랑 통신이 안되기때문)

[root@dmz ~]# yum install -y httpd
# 

[root@dmz ~]# echo dmz-web > /var/www/html/index.html
[root@dmz ~]# systemctl enable --now httpd
[root@dmz ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32
# 설치가 잘됐으니 vmnet6으로 옮기자
[root@dmz ~]# systemctl restart network
# 논리적으로 변경

물리적으로 변경.

web서버에서 mint 핑이 잘 가고
mint에서도 웹접속이 잘 된다.
public : 외부대역
private : 직원들이 사용할 공간. 외부에서 내부로 진입x
DMZ : 완충지대. 서버들이 존재하는 공간. 서비스할 특정 트래픽은 허용, 그 외의 트래픽은 차단.
완전히 프라이빗하지도 않고, 그렇다고 퍼블릭하지도 않은 공간.
총 3개의 존(zone)을 구성했다.

PAT 설정

  • 내부의 서버들이 외부로 통신이 되도록 하자.
vyos@vyos# set nat source rule 10 source add 10.10.5.0/24
# 출발지 대역 정의

vyos@vyos# set nat source rule 10 outbound-interface eth0
# 외부 인터페이스

vyos@vyos# set nat source rule 10 translation add masquerade
# masquerade = overload
# 내부에 있는 여러개의 아이피들이 eth0 에 과적.

vyos@vyos# commit

mint 에서 외부로 핑이 잘 가진다.

예제) 비슷한 방식으로 rule 30번을 만들어서 dmz도 외부와 통신이 되도록 해보세요!

vyos@vyos# set nat source rule 20 source address 10.10.6.0/24 
vyos@vyos# set nat source rule 20 outbound-interface eth0    
vyos@vyos# set nat source rule 20 translation address masquerade
# DMZ의 PAT
vyos@vyos# commit

#sh nat source 같은 명령으로 설정값을 확인 가능.

vyos@vyos# delete nat source rule 20
# 잘못했을때 하고 commit

image.png

PAT후에 dmz에서도 외부로 통신이 잘 된다.

DNAT 설정

  • 나는 외부 대역에 존재하는 불특정 다수가 목적지(211.183.3.252)로 접근했을때 DMZ 서버로 들여보내주고 싶다.
vyos@vyos# set nat destination rule 100 inbound-interface eth0
# 외부 인터페이스(사용자 입장에선 이 인터페이스의 주소가 목적지)

vyos@vyos# set nat destination rule 100 destination port 80
# 목적지(211.183.3.252로 찾아오는) 포트

vyos@vyos# set nat destination rule 100 protocol tcp          
# 80번에 대한 tcp or udp 선택.

vyos@vyos# set nat destination rule 100 translation address 10.10.6.80
# 변환될 주소(내부주소)

외부에서 목적지주소로 접속이 잘 된다.

profile
나를 한줄로

0개의 댓글