반응형
 

안녕하세요! 이번 시리즈에서는 NPU(Neural Processing Unit)라는 AI 가속기 기술을 이해하고 활용하기 위해,

가장 기초적인 AI(인공지능) 지식부터 차근차근 다루는 ‘NPU 기초 입문편’입니다.

이번 글에서는 “인공지능(AI), 머신러닝(ML), 딥러닝(DL)”이 무엇이고,

어떻게 발전해 왔는지, 그리고 이 셋이 서로 어떤 관계에 있는지 자세히 정리해보겠습니다.

많은 분들이 용어가 비슷하다 보니 헷갈려하기도 하고, “AI=딥러닝인가?”라고 잘못 오해하는 경우도 있습니다.

이 글을 통해 용어 정리를 깔끔히 하고, 이후 NPU의 필요성을 이해하는 데 필요한 기초 지식을 탄탄히 쌓아봅시다.


1. 인공지능(AI)이란 무엇인가?
정의: 인간처럼 학습하고 사고하는 ‘지능’을 컴퓨터로 구현하려는 광범위한 학문/기술 영역입니다.
과거에는 사람이 직접 만든 규칙(“만약 X라면 Y를 해라”)을 기계에 입력하는 ‘전문가 시스템’이 많았어요.
'규칙 기반 전문가 시스템’처럼 사람이 일일이 규칙을 설계하는 방식도 포함했지만 요즘은 규칙 대신 데이터를 통해 패턴을 자동으로 찾는 쪽(머신러닝, 딥러닝)이 주류가 되었으며 음성 인식, 자율주행, 로봇 제어, 의료 분석 등 다양한 영역에서 현재도 빠르게 발전 중입니다.

 

AI는 기계가 “어떻게 학습”하고 “어떻게 의사결정”을 할 수 있을지에 대한 다양한 시도들의 집합입니다.

  • 효율성: 반복적이거나 복잡한 일을 기계가 대신해주면 사람은 더 창의적인 일에 집중 가능
  • 확장성: 데이터가 늘어날수록 새로운 가능성을 만들어내기 쉬움

2. 머신러닝(ML): AI를 실현하는 핵심 방법
정의: 머신러닝(ML)은 AI의 하위 분야로, 데이터를 통해 패턴을 학습하고 이를 토대로 예측이나 분류를 수행하는 알고리즘을 연구하는 분야입니다.
과거에는 프로그래머가 모든 규칙을 코딩해야 했습니다(“만약 입력이 A라면 B를 출력하라” 식).
그러나 머신러닝에서는 시스템이 스스로 데이터에서 규칙이나 패턴을 찾아내기 때문에, 복잡한 문제도 비교적 쉽게 해결할 수 있습니다.
머신러닝의 대표 알고리즘
  • 선형 회귀(Linear Regression): x와 y의 관계를 직선 혹은 평면 등으로 모델링해 예측
  • 의사결정트리(Decision Tree): 트리 구조를 따라 분기하며 데이터를 분류 or 예측
  • 서포트벡터머신(SVM): 고차원 공간에서 데이터를 분리할 최적의 경계면(마진)을 찾음
  • 랜덤 포레스트(Random Forest): 여러 개의 의사결정트리를 앙상블해 성능을 높임

이 외에도 추천 시스템, 강화학습(알파고 같은 에이전트 학습) 등 다양한 기법들이 존재하며, 특정 문제 성격이나 데이터 형태에 따라 맞춤형으로 알고리즘을 선택할 수 있습니다.


위 내용에 대해 조금 더 자세히 알고싶으시다면 아래 링크를 클릭해주세요

(작성 예정)


이렇듯 머신러닝은 데이터를 통해 학습해 자동화 수준을 높이지만, 데이터 전처리특징 추출(feature engineering) 과정을 사람이 직접 설정해야 하는 경우가 많았습니다.
즉, 모델에 들어가기 전에 어떤 특징(예: 이미지에서 가장자리, 색상 분포 등)을 추출해줄지 사람이 설계해야 했죠.
이러한 한계를 극복하고, 복잡한 특징까지 모델이 스스로 학습하도록 한 것이 바로 딥러닝입니다.


3. 딥러닝(DL): 머신러닝의 진화
정의: 딥러닝(Deep Learning)은 머신러닝 중에서도 인공신경망(Artificial Neural Network) 기법을 활용한 분야입니다.
여러 ‘은닉층(Hidden Layer)’이 깊게 연결된 구조(Deep Neural Network)를 통해, 기존 머신러닝이 다루기 어려웠던 복잡한 패턴도 스스로 학습할 수 있도록 했습니다.
인공신경망(ANN)의 핵심
  • 뉴런(Neuron): 생물학적 뉴런에서 착안해, 입력신호 × 가중치 + 편향 → 활성화 함수 과정을 통해 신호를 전달
  • 계층적 구조: 입력층(Input) → 은닉층(Hidden) → 출력층(Output)으로 이루어지며, 층이 많을수록(깊을수록) 더욱 복잡한 패턴을 학습할 수 있음
  • 학습(Training): 예측 오차를 역전파(Backpropagation)로 전달해, 가중치와 편향을 조금씩 업데이트(Gradient Descent 등)
 

위 내용에 대해 조금 더 자세히 알고싶으시다면 아래 링크를 클릭해주세요

(작성 예정)


이러한 딥러닝을 통해 우리는 빅데이터(방대한 양의 데이터 활용), GPU,TPU,NPU 등을 통한 대규모 연산, 새로운 알고리즘 발전 등을 이루어냈으며, 딥러닝 기술을 통해 이미지 분류, 음성 인식, 자연어 처리 등 여러 분야에서 획기적인 성능 향상이 나타났습니다.


인공지능 머신러닝 딥러닝의 관계 AI > ML > DL
계층 구조 (AI > ML > DL)
인공지능(AI): 가장 상위 개념. 규칙 기반에서부터 자율주행, 로보틱스 등 다양한 접근을 모두 포함하는 광범위한 학문.
머신러닝(ML): AI를 구현하는 하나의 방법론. 데이터 기반 학습 알고리즘이 핵심.
딥러닝(DL): 머신러닝의 하위 분야 중에서도 인공신경망에 특화된 영역. 대규모 데이터, 복잡한 패턴까지 자동으로 학습 가능.

 

일반적으로 “딥러닝 모델 = AI”라고 말하는 건 완전히 틀린 말은 아니지만,

정확히 말하면 딥러닝은 AI의 한 분야라는 점을 기억하면 좋겠습니다.


마무리

 

오늘은 AI, 머신러닝, 딥러닝이 각각 무엇인지, 그리고 이들이 서로 어떻게 연결되어 있는지 알아보았습니다. 간단히 정리하자면,

  1. AI(인공지능): 인간처럼 사고하고 학습하는 시스템을 구현하려는 광범위한 분야
  2. ML(머신러닝): 데이터를 기반으로 패턴을 찾아 학습해 문제 해결을 시도하는 AI 하위 분야
  3. DL(딥러닝): 머신러닝 중 인공신경망을 기반으로, 대규모 복잡한 문제를 해결할 수 있는 기법

다음 글에서는 본격적으로 뉴럴 네트워크(Neural Network)에 대하여 깊이 파고들 예정입니다.

특히 뉴럴 네트워크의 내부 구조(가중치, 활성화 함수, 역전파 등)를 이해해야, 왜 딥러닝이 계산량이 많고 따라서 NPU와 같은 하드웨어 가속기가 중요한지 명확히 알 수 있을 것 입니다.


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 
반응형

'NPU' 카테고리의 다른 글

NPU에 흥미를 느낀 30대 비전공자의 공부 로드맵  (0) 2025.04.04
반응형

“NPU(Neural Processing Unit)를 공부하고 이해하고자 비전공자의 NPU 무작정 파헤치기 3개월 로드맵에 따라 기초부터 FuriosaAI 실습까지 체계적으로 공부하고, 블로그에 정리하며 시행착를 기록해보겠습니다!”

 

인공지능이 Ai가 난리인 이 시점에 모델 개발보다 이에 산출된 데이터를 어떻게 잘 활용할 수 있는지가 중요하다고 생각했고, 빅데이터 분석 및 온톨로지 방법에 대하여 흥미가 생겼습니다.

또한 이러한 데이터 정제 과정도 결국 인공지능이 사람보다 잘 할 수 있다고 생각이 들었고, 이를 처리하는 NPU가 너무 흥미롭게 다가왔습니다.

아래 로드맵은 인공지능을 이용하여 만들었으며 NPU시장에서 매력적인 퓨리오사Ai라는 매력적인 회사를 알게되어 예시나 실습은 퓨리오사Ai의 NPU 제품으로 최대한 해달라는 프롬프트를 넣어서 작성했습니다.

아직 아무것도 알아보지 않았지만, NPU의 기술력을 공공연하게 적어놓지 않았을 것으로 예상되고 인공지능은 어떻게든 대답을 해내기 때문에 만들어서라도 저에게 교육을 해줄 것으로 보여집니다.

이 또한 잘못된 지식이라도 재미있게 공부해보고 추후 전문가에게 컨펌을 받아 바로잡아 복습해보는 즐거움도 있을 것 같습니다.

그럼 지금부터 해당 로드맵을 따라가면서 웹사이트 및 시중에 나와있는 자료로 무작정 공부를 시작해보겠습니다.


1. 로드맵 개요

  • 학습 기간: 총 12주 (3개월)
  • 목표
    1. NPU의 개념 및 필요성 이해
    2. CPU, GPU와 비교하여 NPU가 제공하는 장점 및 아키텍처적 차이 학습
    3. 간단한 딥러닝 모델을 예시로 NPU 가속 경험하기
    4. FuriosaAI NPU를 활용한 간단한 실습 진행
    5. 블로그를 통해 학습 과정 및 예제 공유

아래는 12주 동안 어떤 식으로 공부를 진행하면 좋을지, 각 주차별로 나눈 로드맵입니다.


2. 단계별 로드맵

Week 1~2: 기초 다지기 (NPU의 배경 지식)

  1. AI/딥러닝 기초 개념 학습
    • 뉴럴 네트워크가 무엇이며 왜 빠른 연산이 필요한지 이해
    • 머신러닝과 딥러닝의 차이, 신경망(Neural Network) 기본 동작 원리
    • CPU, GPU의 역할 비교
  2. 하드웨어 가속의 필요성
    • 빅데이터 시대에서 늘어나는 연산량 이해
    • GPU가 딥러닝 가속에 도움을 주는 방식 (SIMD, 병렬 연산)
    • NPU가 등장하게 된 배경(전력 효율, 높은 병렬 처리 효율 등)

Week 3~4: NPU 기본 구조 이해

  1. NPU란 무엇인가
    • 일반적인 NPU 아키텍처 소개
    • 메모리 구조(온칩 메모리, 캐시, DMA 등)와 연산 방식
    • NPU가 네트워크 연산(Conv, Pooling, Fully Connected)을 처리하는 큰 흐름
  2. CPU, GPU, NPU 비교
    • 하드웨어적 특징(코어 구조, 메모리 대역폭, 병렬 연산 처리 방식)
    • 장단점 비교(에너지 효율, 연산속도, 개발 난이도 등)
  3. 예시: FuriosaAI NPU 간단 소개
    • FuriosaAI가 제공하는 NPU(Warboy, Burr 등)의 주요 특징
    • 대략적인 성능 지표(OPS, 전력 소모 등)

Week 5~6: 딥러닝 모델 & NPU 활용 흐름 알기

  1. 딥러닝 모델의 NPU 탑재 과정
    • 모델 학습(주로 GPU/CPU) → 모델 압축/최적화 → NPU에 올려서 추론
    • 모델 최적화 기법(양자화, 프루닝, Fuse 연산 등) 개념 간단 이해
  2. 온디바이스 AI와 에지 컴퓨팅 개념
    • 클라우드 추론과 엣지 추론의 차이
    • 전력, Latency, 보안 측면에서 NPU의 이점
  3. FuriosaAI SDK 또는 관련 툴 살펴보기
    • FuriosaAI가 공개한 SDK / 개발자 문서가 있다면, 설치 방법, 예제 코드
    • 파이썬 기반으로 작성된 예제가 있으면 따라 해보기

Week 7~8: FuriosaAI NPU 실습 준비

  1. 개발 환경 세팅
    • FuriosaAI NPU 사용을 위한 개발 환경(드라이버, SDK 설치 등)
    • TensorFlow, PyTorch 등 주요 프레임워크에서 NPU 지원 여부 확인
    • FuriosaAI가 지원하는 ONNX 모델 변환 프로세스 등
  2. 간단 예제 모델 변환
    • MNIST, CIFAR-10, 혹은 간단한 Image Classification 모델(ResNet-18 등)을 ONNX로 변환
    • FuriosaAI에서 제공하는 변환 툴(예: furiosa-compiler 등)이 있다면 사용해보기
    • 변환 시 주의 사항(양자화, 연산 호환성 등)
  3. 테스트 & 벤치마크
    • 로컬 환경에서 추론 속도, 정확도 측정 방법
    • GPU vs NPU 처리 속도 비교(가능하다면)

Week 9~10: FuriosaAI NPU 심화 실습

  1. 실습 모델 변경
    • 좀 더 복잡한 네트워크(예: MobileNet, YOLO 등)
    • 실제 예제 데이터셋(작은 규모)으로 추론 실험
  2. 최적화 시도
    • 양자화(Quantization)나 기타 최적화 기법을 적용해보기
    • FuriosaAI NPU에서 지원하는 최적화 옵션 살펴보기
  3. 성능 분석
    • Latency, Throughput, Power Consumption(가능하다면) 등 다양한 지표 측정
    • 측정 결과를 블로그에 표나 그래프로 정리해볼 것

Week 11~12: 정리 및 확장

  1. 학습 내용 정리 & 블로그 연재 마무리
    • 지금까지 배운 내용 정리(아키텍처, 개발 환경, 최적화, 실습 결과)
    • 에러나 시행착오 사례, 해결 방법 아카이빙
  2. 응용 분야 & 추가 학습 방향
    • NPU가 적용될 수 있는 다양한 산업(자율주행, 로보틱스, IoT 등)
    • AI 액셀러레이터 시장 동향(CPU, GPU, FPGA, ASIC 등)
    • FuriosaAI NPU의 미래 로드맵(가능하다면 공식 자료 참조)
  3. 향후 스터디 or 프로젝트 아이디어
    • 에지 디바이스에서 실시간 추론(카메라 영상 인퍼런스) 프로젝트
    • 모델 경량화 기술 연구(QAT, Pruning 등)
    • 다른 NPU(Acorn, Habana, EdgeTPU 등)와 성능 비교해보기

3. 블로그 작성 팁

  1. 정의 및 배경 지식 강조
    • 처음 듣는 용어가 많으므로, 용어 설명과 함께 블로그 글을 쓰면 독자 이해도가 높아집니다.
    • 글 서두에 핵심 개념(예: 양자화, 가속기, ONNX 등)을 간단히 요약해두면 좋습니다.
  2. 이미지/도식 활용
    • NPU 구조나 데이터 흐름을 시각적으로 표현하면 이해가 쉬워집니다.
    • 그림이나 다이어그램을 간단히 첨부해 설명해 보세요.
  3. 실습 위주 접근
    • FuriosaAI NPU로 모델 추론하는 과정(스크린샷, 코드 snippet 등)을 자세히 올리면 독자가 따라하기 쉽습니다.
  4. 시행착오와 해결책 기록
    • 설치 과정이나 모델 변환 과정에서 발생한 에러는 어떻게 해결했는지 꼼꼼히 기록하세요.
    • 초보자들이 같은 에러를 만났을 때 큰 도움이 됩니다.

4. 마무리

위 로드맵은 전공 지식이 전혀 없는 초보자에게도 NPU 개념부터 FuriosaAI 실습까지 차근차근 학습해나갈 수 있도록 구성한 예시입니다. 실제로 공부하다 보면 본인의 이해도나 시간 여건에 따라 각 단계에 더 오랜 시간을 할애하거나, 과감히 생략할 부분이 생길 수도 있습니다. 중요한 것은 **“왜 NPU가 필요한지, 그리고 실제로 어떻게 사용할 수 있는지”**에 대한 큰 그림을 그리는 것입니다.

3개월 정도 꾸준히 진행하면서 블로그에 정리한다면, “처음 AI 하드웨어 가속 개념을 접했을 때의 막막함”을 느낄 다른 사람들에게도 큰 도움이 될 것입니다. 부담 가지지 말고, 한 번에 모든 걸 마스터하려 하기보다 “기본 개념 → 작은 예제 실습 → 조금 더 심화된 실습”으로 확장해 가며 기록해보세요.


자 그럼 지금부터 비전공자 30대의 NPU 여행 시작하겠습니다.


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

구독하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

 
반응형
반응형

2023년 6월, 사이버 범죄 조직인 클롭(Clop) 랜섬웨어 그룹은 MOVEit 파일 전송 소프트웨어의 취약점을 악용하여 다수의 기업과 기관을 공격했습니다.

이들은 SQL 인젝션을 통해 악성 파일을 업로드하고, 이를 실행하여 데이터를 암호화하거나 탈취했습니다.

이러한 공격에 대응하기 위해서는 소프트웨어의 최신 보안 패치 적용, 웹 애플리케이션 방화벽 도입, 파일 업로드 제한 및 검사, 로그 모니터링, 네트워크 세그멘테이션 등의 기술적 방안이 필요합니다.


클롭(Clop) 랜섬웨어 그룹은 2019년부터 활동을 시작한 사이버 범죄 조직으로, 주로 대규모 기업과 기관을 대상으로 랜섬웨어 공격을 수행해 왔습니다. 이들은 단순한 데이터 암호화에 그치지 않고, 탈취한 데이터를 공개하겠다고 협박하여 피해자에게 이중의 압박을 가하는 것으로 알려져 있습니다.


이번 공격에서 클롭 그룹은 MOVEit 파일 전송 소프트웨어의 SQL 인젝션 취약점을 악용했습니다.

SQL 인젝션은 웹 애플리케이션의 입력값을 통해 악의적인 SQL 코드를 주입함으로써 데이터베이스를 조작하거나 민감한 정보를 탈취하는 공격 기법입니다.

 

공격 과정은 다음과 같습니다:

  1. 취약점 탐색: 클롭 그룹은 MOVEit 소프트웨어의 특정 버전에 존재하는 SQL 인젝션 취약점을 식별했습니다.
  2. 악성 파일 업로드: 이 취약점을 통해 human2.aspx라는 이름의 악성 ASPX 파일을 서버에 업로드했습니다. 이 파일은 원격에서 공격자가 명령을 실행할 수 있도록 설계되었습니다.
  3. 원격 코드 실행: 업로드된 악성 파일을 통해 서버에서 명령을 실행하여 데이터를 암호화하거나 탈취했습니다.

이 공격으로 인해 다수의 기업과 기관이 데이터 유출 및 서비스 중단과 같은 심각한 피해를 입었습니다.

특히, 민감한 정보가 외부로 유출되어 기업의 신뢰도 하락과 금전적 손실을 초래했습니다.


공격이 발생한 후, 피해 기업들은 다음과 같은 대응 조치를 취했습니다:

  1. 긴급 패치 적용: MOVEit 소프트웨어의 제조사는 즉각적으로 취약점을 수정한 보안 패치를 배포하였으며, 기업들은 이를 신속하게 적용했습니다.
  2. 시스템 점검 및 복구: 침해된 시스템을 격리하고, 백업 데이터를 활용하여 시스템을 복구했습니다.
  3. 보안 강화: 향후 유사한 공격을 방지하기 위해 웹 애플리케이션 방화벽을 도입하고, 파일 업로드에 대한 보안 정책을 강화했습니다.

예방을 위한 기술적 방안:

이러한 공격을 예방하기 위해서는 다음과 같은 기술적 조치가 필요합니다:

  1. 정기적인 보안 패치 적용: 소프트웨어와 시스템의 최신 보안 패치를 주기적으로 적용하여 알려진 취약점을 제거해야 합니다.
  2. 웹 애플리케이션 방화벽(WAF) 도입: SQL 인젝션과 같은 웹 공격을 탐지하고 차단할 수 있는 WAF를 구축하여 공격을 사전에 방지해야 합니다.
  3. 파일 업로드 보안 강화: 서버에 업로드되는 파일의 유형과 크기를 제한하고, 업로드된 파일에 대한 정밀 검사를 수행하여 악성 파일의 실행을 방지해야 합니다.
  4. 실시간 로그 모니터링: 서버 로그를 실시간으로 모니터링하고, 비정상적인 접근이나 파일 업로드 시도를 탐지하여 신속하게 대응할 수 있도록 해야 합니다.
  5. 네트워크 세그멘테이션: 중요 시스템과 일반 시스템을 분리하여 공격 발생 시 피해 범위를 최소화해야 합니다.
반응형
반응형
내부 네트워크 구축

네트워크를 공부하다 보면 가장 먼저 실습하게 되는 부분이 바로 내부 네트워크를 구성하는 것입니다.

이 글에서는 내부 네트워크를 가상으로 구축해 보면서, 실습을 통해 어떻게 네트워크를 설계하고, 설정할 수 있는지 알아보겠습니다.


목표 설정

  1. 내부망 가상 구축
    네트워크를 설계하고 가상으로 구축하여 실습합니다.
  2. 내부 네트워크 가상 설계
    설계도를 기반으로 각 네트워크 장비와 IP를 할당합니다.
  3. 네트워크 IP 할당 내용 정리
    네트워크의 각 장비에 맞는 IP를 설정합니다.
  4. 프로세스 기술 요약 및 명령어 정리
    네트워크 구축 시 필요한 명령어를 정리합니다.

내부 서버 설계

내부 네트워크 구축을 마친 후, 내부 서버 설계를 진행합니다. 서버 설계가 중요한 이유는, 각 서버와 클라이언트가 원활하게 통신할 수 있도록 하기 위함입니다. 또한, 서버들이 네트워크에 제대로 통합되도록 설정해야 합니다.

  1. 기본 준비
    • EVE 사이트 접속 및 구성
      EVE-NG(Emulated Virtual Environment for Network Gateways)는 가상화된 네트워크 환경을 만들 수 있는 도구입니다.
    • VMware 환경 구성
      VMware는 가상 머신을 이용한 실습 환경을 구성할 수 있는 도구로, 이를 통해 여러 서버 및 네트워크 장비를 구현할 수 있습니다.

EVE-NG와 VMware란?

EVE-NG는 네트워크 시뮬레이션을 위한 에뮬레이터로, 다양한 네트워크 장비를 가상 환경에서 실행하고 실험할 수 있는 도구입니다. 이를 통해 실제 환경처럼 네트워크를 구성하고 문제를 해결할 수 있습니다.
VMware는 가상화 소프트웨어로, 물리적인 서버 없이도 가상화된 환경을 구축하여 여러 서버를 동시에 운영할 수 있게 해줍니다. 이를 통해 네트워크 실습을 가상 환경에서 구현할 수 있습니다.


배경 및 목표

이 네트워크 구축의 목적은 사이버 보안 기업의 조직도 및 네트워크 구성을 바탕으로 내부 네트워크를 설계하는 것입니다. 이를 통해:

  • 효과적인 네트워크 분배 및 재구성
    네트워크의 성능과 효율성을 높입니다.
  • 보안 강화
    각 부서별로 VLAN을 할당하여 보안을 강화합니다.
  • 원활한 네트워크 서비스 제공
    네트워크가 원활하게 운영되도록 합니다.

내부망 가상 구축

이제 기업의 조직도를 바탕으로 네트워크를 설계하고, VLAN을 어떻게 할당할지 구상해보겠습니다. 내부 네트워크 설계는 다음과 같은 목표로 진행됩니다:

  1. 조직도 및 배치도 분석
    사무실 배치도와 조직도를 기반으로 각 부서에 VLAN을 할당합니다.
  2. 보안을 강화하고 효율적인 통신을 위한 VLAN 설계
    C 레벨, 개발팀, 경영지원팀, 영업팀, 마케팅팀 등 부서별로 VLAN을 할당하고, 보안 강화를 위한 설정을 적용합니다.

내부 네트워크 가상 설계

구성된 조직도와 배치도를 기반으로 내부망을 설계합니다. 네트워크 통신 오류가 발생할 수 있으므로, 모든 포트를 이중화하여 안정성을 확보하고, 두 개의 인터넷 라우터를 연결하여 외부 네트워크와의 연결을 다중화합니다. 각 부서별 VLAN을 할당하여 보안을 강화하고, 서버실을 구성하여 7대의 서버와 100대의 PC를 설정합니다.

  • C 레벨 VLAN 99
  • 개발팀 VLAN 11
  • 경영지원팀 VLAN 12
  • 영업팀 VLAN 13
  • 마케팅팀 VLAN 14

네트워크 IP 할당 내용 정리

설계를 바탕으로 EVE를 사용하여 실제 네트워크를 구성해봅니다. 설정은 아직 진행하지 않았으며, 장비와 포트만 연결한 상태입니다. 이후, 각 장비에 IP를 할당하고, 설정을 진행할 예정입니다.

  • 기본 IP 설정
    PC와 서버에 물리적 IP를 설정하고, 나머지 장비들에 대한 기본 설정을 집어넣습니다.
  • VLAN 1 관리용 IP
    관리용 IP는 VLAN 1에 설정하여, 네트워크 관리자가 네트워크를 관리할 수 있도록 합니다.


프로세스 요약

  1. 스위치 구간에 Trunk & Ether Channel 구성 및 RSTP 활성화
  2. 스위치 관리용 IP 주소 설정 (VLAN 1)
  3. 모든 스위치에 VLAN 11개 생성 및 Access 설정
  4. Inter-VLAN 설정 및 NAT 설정
  5. HSRP를 이용한 로드 분산 및 장애 대비

명령어 예시

명령어들을 적절히 사용하여 네트워크를 구성합니다. 아래는 주요 명령어들입니다:

  • 기본 설정 명령어
hostname <장비 이름>
enable secret cisco
no ip domain-lookup
no cdp run
  • VLAN 생성 및 설정
vlan 11
vlan 12
  • 트렁크 포트 설정
switchport mode trunk
switchport trunk encapsulation dot1q

서버 설계 및 네트워크 통합

이제, 네트워크와 서버를 통합하여 내부 서버들을 설정합니다. 서버는 각 VLAN에 맞춰 다음과 같이 구성됩니다:

  • DHCP 서버 (VLAN 101)
  • FTP 서버 (VLAN 102)
  • Web 서버 (VLAN 103)
  • DNS 서버 (VLAN 104)
  • Mail 서버 (VLAN 105)

서버들은 네트워크와 통합되어야 하므로, 각 서버에 맞는 네트워크 설정을 해야 합니다.

  • DMZ Web 서버 구성
     
ip nat inside source static tcp <내부 IP> 80 <외부 IP> 80
  • DHCP 서버 구성
ip helper-address <DHCP 서버 IP>
  • FTP 서버 구성
    서버 공유 권한을 부여하여, 네트워크에서 접근할 수 있게 합니다.

테스트 및 최종 설정

모든 네트워크 구성과 서버 설정이 완료되면, 실제 PC에서 접속 테스트를 진행합니다. DHCP, FTP, Web, DNS, 이메일 서버 등 각 서비스들이 정상적으로 작동하는지 확인하고, 네트워크 트래픽이 적절하게 처리되는지 확인합니다.


이 네트워크 구축 실습을 통해, 네트워크 설계 및 보안을 고려한 효율적인 내부망 구축 방법을 배우고, 각 단계별로 필요한 명령어와 설정들을 실습할 수 있었습니다.

이 과정을 통해 내부망의 구축뿐만 아니라 보안을 강화하고 네트워크의 효율성을 높일 수 있음을 알 수 있었습니다.


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

이웃 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형
반응형

root # pvs
PV       VG       Fmt  Attr  PSize  PFree
/dev/sda2 centos  lvm2 a--   <19.00g 0
/dev/sdb1         lvm2 ---  <100.00g <100.00g

먼저 알고 계셔야 할 내용

 

LVM 볼륨이란?

LVM(Logical Volume Management)은 리눅스에서 논리적 볼륨을 관리하기 위한 시스템입니다. 하드디스크나 SSD를 물리적으로 나누지 않고, 논리적으로 유연하게 파티션을 구성하고 관리할 수 있도록 해줍니다. LVM을 사용하면 볼륨 크기 조정이 용이하고, 디스크 추가 및 확장이 쉽습니다.

  • LVM 구성 요소:
    • PV (Physical Volume): 물리적 디스크나 파티션.
    • VG (Volume Group): 여러 PV를 모은 논리적 그룹.
    • LV (Logical Volume): VG 내에서 실제로 데이터를 저장하는 논리적 볼륨.
    • PE (Physical Extent): PV를 나눈 작은 블록 단위.
    • LE (Logical Extent): LV를 나눈 작은 블록 단위.

파티션이란?

파티션은 하드디스크를 효율적으로 나누어 사용하는 방식입니다. 파티션을 나누면 운영체제에서 디스크를 효율적으로 사용할 수 있게 됩니다. LVM에서는 파티션을 논리적 볼륨으로 관리할 수 있도록 지원합니다.


LVM 구성 순서

  1. LVM을 구성할 디스크 선택
  2. 사용하고자 할 디스크를 선택합니다. 여기서는 /dev/sdb를 예로 들겠습니다.
  3. 선택한 디스크(파티션)의 시스템 타입을 LVM으로 지정하여 파티션을 생성
  4. 디스크를 파티셔닝한 뒤, 해당 파티션의 시스템 ID를 LVM으로 변경합니다.
root # fdisk /dev/sdb
Command (m for help): n        # 새 파티션 추가
Select (default p): p          # 파티션 유형 선택
Partition number (1-4, default 1): 1
First sector (2048-209715199, default 2048): (Enter)
Last sector, +sectors or +size{K,M,G} (2048-209715199, default 209715199): (Enter)
Command (m for help): t        # 파티션 타입 변경
Hex code (type L to list all codes): 8e  # Linux LVM 타입
Command (m for help): p        # 파티션 정보 확인
Command (m for help): w        # 설정 저장

PV (물리적 볼륨) 생성

이제 /dev/sdb1 파티션을 물리적 볼륨(PV)으로 설정합니다.

root # pvcreate /dev/sdb1

pv 명령어 예시:

root # pvs
PV       VG       Fmt  Attr  PSize  PFree
/dev/sda2 centos  lvm2 a--   <19.00g 0
/dev/sdb1         lvm2 ---  <100.00g <100.00g

VG (볼륨 그룹) 생성

물리적 볼륨(PV)을 사용해 볼륨 그룹(VG)을 생성합니다.

root # vgcreate testvg /dev/sdb1

vgs 명령어 예시:

root # vgs
VG     #PV   #LV  #SN  Attr   VSize   VFree
centos 1     2    0    wz--n- <19.00g  0
testvg 1     0    0    wz--n- <100.00g <100.00g

LV (논리적 볼륨) 생성

볼륨 그룹(VG)을 이용해 논리적 볼륨(LV)을 생성합니다.

root # lvcreate -n datalv -L 70GB testvg
root # lvcreate -n backuplv -l +100%FREE testvg

lvs 명령어 예시:

root # lvs
LV        VG      Attr    LSize   Pool   Origin   Data%   Meta%   Move   Log   Cpy%Sync   Convert
root      centos  -wi-ao-- <17.00g
swap      centos  -wi-ao--   2.00g
backuplv  testvg  -wi-a---- <30.00g
datalv    testvg  -wi-a----  70.00g

파일 시스템 포맷

생성된 논리적 볼륨에 파일 시스템을 생성합니다. 여기서는 ext4 파일 시스템을 사용합니다.

root # mkfs.ext4 /dev/testvg/datalv
root # mkfs.ext4 /dev/testvg/backuplv

LV 파일 시스템을 마운트

논리적 볼륨을 마운트할 디렉토리를 생성하고 마운트합니다.

root # mkdir /data
root # mkdir /backup
root # mount /dev/testvg/datalv /data
root # mount /dev/testvg/backuplv /backup

df -h 명령어 예시:

root # df -h
/dev/mapper/testvg-datalv    70G   53M   67G   1% /data
/dev/mapper/testvg-backuplv  30G   45M   28G   1% /backup

자동 마운트 설정

/etc/fstab 파일에 자동 마운트를 설정합니다. 시스템 재부팅 후에도 자동으로 마운트되도록 설정합니다.

root # vi /etc/fstab
/dev/testvg/datalv   /data   ext4   defaults   0 0
/dev/testvg/backuplv /backup ext4   defaults   0 0

변경 후 mount -a 명령어로 fstab 설정을 적용합니다.


위의 실습 과정을 통해 리눅스에서 LVM을 구성하고, 논리적 볼륨을 생성하여 파일 시스템을 마운트하는 방법을 설명했습니다.

이 과정은 리눅스 시스템에서 디스크를 유연하게 관리하고, 필요에 따라 용량을 확장하거나 축소할 수 있는 강력한 방법을 제공합니다.


궁금하신 사항은 댓글에 남겨주세요

댓글에 남겨주신 내용

추후 정리해서 올려드리겠습니다

이웃 신청하시면 업로드 시 알려드릴게요!

-

조금이라도 도움이 되셨다면

공감&댓글 부탁드리겠습니다

감사합니다!

반응형

+ Recent posts