IT Knowledge/Projects/images/프로젝트1-홈랩-네트워크-구성-venn.svg
프로젝트 1: 홈랩 네트워크 구성 (Home Lab Network Setup)
가정에서 직접 네트워크를 구성하며 실전 경험을 쌓습니다.
👀 초보자 한눈에 보기
이 프로젝트는 집에서 작은 회사 네트워크를 미니 버전으로 만들어보는 실습입니다.
- 왜 하나요? → 네트워크를 “이론”이 아니라 “손으로” 익히기 위해
- 뭐가 어렵나요? → VLAN, DHCP, 라우터/스위치 개념이 처음엔 낯설 수 있음
- 끝나면 뭐가 되나요? → 집 네트워크를 구조적으로 설계/점검할 수 있음
🔌 스위치가 뭐예요? (진짜 쉽게)
한 줄로 말하면: 스위치는 “집 안/사무실 안”에서 기기들을 서로 연결해주는 멀티탭 같은 장비입니다.
- PC, 노트북, NAS, 프린터를 스위치에 꽂으면 서로 통신할 수 있어요.
- 스위치는 “같은 네트워크 안”에서 누가 누구인지(MAC 주소)를 보고 데이터를 전달합니다.
- 그래서 불필요한 장치 전체에 뿌리지 않고, 필요한 장치 쪽으로 보내는 데 강합니다.
라우터랑 뭐가 달라요?
- 스위치: 같은 네트워크 내부 연결 (방 안/사무실 내부)
- 라우터: 네트워크와 네트워크를 연결 (집 네트워크 ↔ 인터넷)
쉽게 비유하면:
- 스위치 = 건물 안 안내데스크
- 라우터 = 건물 밖 도로로 나가는 출입 통제소
초보자 체크포인트
- 라우터 1대 + 스위치 1대 + PC 2대만 먼저 연결
- 두 PC가 서로 ping 되는지 확인
- 안 되면 케이블/포트 LED부터 확인
참고 이미지/설명 링크
- Cisco (Switch vs Router 쉬운 설명): https://www.cisco.com/site/us/en/learn/topics/small-business/network-switch-vs-router.html
- Wikimedia 실제 스위치 사진(예시): https://commons.wikimedia.org/wiki/File:Lan_Switch.JPG
- Wikimedia 랙형 스위치 전면 사진(예시): https://commons.wikimedia.org/wiki/File:2550T-PWR-Front.jpg
- 네트워크 다이어그램에서 스위치 심볼: https://commons.wikimedia.org/wiki/File:Network_switch_symbol.svg
이 프로젝트로 얻는 실전 능력
- 라우터/스위치 기본 설정
- IP 주소 계획 세우기
- 장치 간 통신 문제 원인 찾기
- 기본 보안 규칙 적용
최소 실행 버전 (입문자 추천)
처음에는 아래 3가지만 먼저 완료해도 충분합니다.
- 라우터 1대 + PC 2대 연결
- 고정 IP 또는 DHCP로 통신 성공
ping/nslookup테스트 통과
📌 프로젝트 개요
이 프로젝트에서는 가정 환경에서 실제 네트워크를 구성합니다.
목표
- 라우터와 스위치 구성
- VLAN 설정
- DHCP/DNS 서버 구축
- 기본 보안 설정
- 네트워크 모니터링 설정
🏗️ 하드웨어 요구사항
필수 장비
| 장비 | 사양 | 예시 |
|---|---|---|
| 라우터 | Gigabit 포트 4개 이상 | Cisco ISR, Mikrotik, Home Router |
| 스위치 | Managed 스위치 8-24포트 | Cisco Catalyst, TP-Link Managed |
| 클라이언트 | PC, 노트북 | 3대 이상 |
| 케이블 | Cat5e/Cat6 | 직렬/크로스 케이블 |
옵션 장비
- Access Point: WiFi 네트워크 확장
- NFS: 파일 공유 서버
- Pi/Single Board: 저전력 서버
📋 프로젝트 단계
단계 1: 네트워크 설계
토폴로지 설계
┌─────────────────────────────────────────────┐
│ 인터넷 (ISP) │
└────────────────┬──────────────────────────┘
│
┌────────┴────────┐
│ 라우터 (R1) │
│ 192.168.1.1/24 │
└────────┬────────┘
│
┌────────┴────────┐
│ 스위치 (S1) │
└────┬────┬────┬─┘
│ │ │
│ │ │
┌────┴─┐┌──┴─┐┌┴───┐
│ PC1 ││ PC2││ PC3│
│ .101││ .102││.103│
└──────┘└─────┘└────┘
IP 주소 계획
| 장치 | IP 주소 | 서브넷 | 게이트웨이 |
|---|---|---|---|
| 라우터 | 192.168.1.1 | /24 | - |
| PC1 | 192.168.1.101 | /24 | 192.168.1.1 |
| PC2 | 192.168.1.102 | /24 | 192.168.1.1 |
| PC3 | 192.168.1.103 | /24 | 192.168.1.1 |
❓ 왜 192.168.1.1로 시작하나요?
많이 쓰는 시작 주소는 둘 다 정상입니다.
192.168.0.1(매우 흔함)192.168.1.1(이것도 매우 흔함)
핵심은 어느 숫자가 더 빠르다/좋다가 아니라, 내 네트워크에서 충돌 없이 일관되게 쓰는 것입니다.
이 문서에서 192.168.1.1을 쓴 이유:
- 집 공유기 기본값(
192.168.0.x)과 충돌을 줄이기 쉬움 - 실습망을 기존망과 구분하기 쉬움 (
0.xvs1.x) - 교육 예제로 많이 쓰이는 관례
즉, 192.168.0.1로 바꿔도 완전히 동일하게 동작합니다.
다만 문서 전체의 IP를 한 번에 같이 바꿔야 혼선이 없습니다.
단계 2: 라우터 구성
Cisco 라우터 기본 설정
! 라우터 이름 설정
Router> enable
Router# configure terminal
Router(config)# hostname R1
! 인터페이스 설정
R1(config)# interface gigabitethernet 0/0
R1(config-if)# ip address 192.168.1.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit
! DHCP 풀 설정
R1(config)# ip dhcp pool HOME-LAB
R1(dhcp-config)# network 192.168.1.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.1.1
R1(dhcp-config)# dns-server 8.8.8.8 8.8.4.4
R1(dhcp-config)# domain-name homelab.local
R1(dhcp-config)# exit
! 예외 주소
R1(config)# ip dhcp excluded-address 192.168.1.1 192.168.1.10
! 원격 접속 설정
R1(config)# line vty 0 4
R1(config-line)# password Cisco123
R1(config-line)# login
R1(config-line)# transport input ssh telnet
! 관리자 계정
R1(config)# username admin privilege 15 secret Admin123
! SSH 활성화
R1(config)# crypto key generate rsa
R1(config)# ip domain-name homelab.local
R1(config)# ip ssh version 2
! 저장
R1# write memoryHome 라우터 (Mikrotik) 설정
# 관리자 설정
/user
add name=admin password=Cisco123 group=full
# 인터페이스 IP 할당
/ip address
add address=192.168.1.1/24 interface=ether1
# DHCP 서버
/ip pool
add name=dhcp_pool1 ranges=192.168.1.100-192.168.1.200
/ip dhcp-server
add address-pool=dhcp_pool1 disabled=no interface=ether1 name=dhcp1
# DNS 설정
/ip dns
set servers=8.8.8.8,8.8.4.4 allow-remote-requests=yes
# 기본 라우트 (인터넷)
/ip route
add dst-address=0.0.0.0/0 gateway=<ISP_Gateway_IP>
# 방화벽 기본 정책
/ip firewall filter
add chain=input connection-state=established,related action=accept
add chain=input protocol=tcp dst-port=22 action=accept
add chain=input action=drop단계 3: 스위치 구성
Cisco 스위치 기본 설정
Switch> enable
Switch# configure terminal
Switch(config)# hostname S1
! 관리자 계정
S1(config)# username admin privilege 15 secret Admin123
! VLAN 생성
S1(config)# vlan 10
S1(config-vlan)# name MANAGEMENT
S1(config-vlan)# vlan 20
S1(config-vlan)# name DEVICES
S1(config-vlan)# vlan 30
S1(config-vlan)# name GUEST
S1(config-vlan)# exit
! 인터페이스 VLAN 할당
S1(config)# interface range fastethernet 0/1 - 5
S1(config-if-range)# switchport mode access
S1(config-if-range)# switchport access vlan 20
! Trunk 포트
S1(config)# interface fastethernet 0/24
S1(config-if)# switchport mode trunk
S1(config-if)# exit
! 관리 IP
S1(config)# interface vlan 1
S1(config-if)# ip address 192.168.10.1 255.255.255.0
S1(config-if)# no shutdown
S1(config-if)# exit
! 게이트웨이 설정
S1(config)# ip default-gateway 192.168.10.254
! 저장
S1# write memory단계 4: 클라이언트 설정
Windows PC
# IP 주소 설정
netsh interface ip set address "Ethernet" static 192.168.1.101 255.255.255.0 192.168.1.1
# DNS 설정
netsh interface ip set dns "Ethernet" static 8.8.8.8
# 연결 테스트
ping 192.168.1.1
ping 8.8.8.8Linux PC
# IP 주소 설정
sudo ip addr add 192.168.1.102/24 dev eth0
# 게이트웨이 설정
sudo ip route add default via 192.168.1.1
# DNS 설정
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
# 연결 테스트
ping -c 4 192.168.1.1
ping -c 4 8.8.8.8단계 5: 네트워크 테스트
연결성 테스트
-
Ping 테스트
PC1 → Router: ping 192.168.1.1 PC1 → PC2: ping 192.168.1.102 PC1 → 인터넷: ping 8.8.8.8 -
트레이서트
tracert 8.8.8.8 -
DNS 쿼리
nslookup google.com
단계 6: 보안 설정
방화벽 설정 (Router)
! 기본 입력 차단
R1(config)# access-list 100 deny ip any any
! SSH 허용
R1(config)# access-list 100 permit tcp any host 192.168.1.1 eq 22
# ICMP 허용
R1(config)# access-list 100 permit icmp any any
! ACL 적용
R1(config)# interface gigabitethernet 0/0
R1(config-if)# ip access-group 100 inPort Security (Switch)
! MAC 주소 제한
S1(config)# interface fastethernet 0/1
S1(config-if)# switchport port-security
S1(config-if)# switchport port-security maximum 2
S1(config-if)# switchport port-security violation shutdown단계 7: 모니터링 설정
SNMP 설정 (Router)
! SNMP 커뮤니티 스트링
R1(config)# snmp-server community public RO
R1(config)# snmp-server community private RW
! SNMP 위치/연락처
R1(config)# snmp-server location Home Lab
R1(config)# snmp-server contact admin@homelab.localSyslog 설정 (Router)
! Syslog 서버로 로그 전송
R1(config)# logging 192.168.1.100
R1(config)# logging trap informational🎯 성공 기준
- 모든 장치 간 Ping 통신 성공
- DHCP로 IP 주소 자동 할당
- DNS 쿼리 성공
- VLAN별 통신 분리
- 방화벽 규칙 적용
- 원격 접속 (SSH) 가능
- 모니터링 도구 작동
📊 성과 측정
네트워크 성능
| 항목 | 목표 | 측정 |
|---|---|---|
| 대역폭 (LAN) | ≥ 1Gbps | iperf -c 192.168.1.102 |
| 지연 (LAN) | ≤ 1ms | ping -c 100 192.168.1.1 |
| 패킷 손실 | 0% | ping -c 1000 192.168.1.1 |
보안 점검
- 기본 비밀번호 변경됨
- 불필요 서비스 비활성화
- 방화벽 규칙 적용됨
- 업데이트 설치됨
💡 추가 학습
- VPN 구성 (OpenVPN)
- DNS 서버 구축 (BIND)
- 웹 서버 구축 (Nginx/Apache)
- 네트워크 모니터링 (Zabbix, Prometheus)
- 자동화 (Ansible)
🔧 문제 해결
일반적인 문제
| 문제 | 원인 | 해결책 |
|---|---|---|
| Ping 실패 | IP 주소 충돌 | IP 주소 재할당 |
| DHCP 불작동 | 풀 고갈 | IP 범위 확장 |
| VLAN 통신 불가 | Trunk 미설정 | Trunk 포트 설정 |
| SSH 접속 불가 | 방화벽 차단 | 포트 22 허용 |
📚 참고 자료
다음 프로젝트: 기업 네트워크 설계