본문 바로가기
운영체제/리눅스(CentOS)

리눅스에서 네트워크 보안과 VPN 설정 (OpenVPN & WireGuard)

by 마루의 일상 2025. 6. 18.
728x90
반응형

 

리눅스에서 네트워크 보안과 VPN 설정 (OpenVPN & WireGuard)

인터넷을 통한 통신은 편리하지만, 보안이 제대로 갖춰지지 않으면 민감한 정보가 쉽게 노출될 수 있습니다. 이번 포스팅에서는 리눅스 환경에서 네트워크 보안을 강화하고, OpenVPNWireGuard를 이용해 안전한 VPN 환경을 구축하는 방법을 소개합니다.

1. 네트워크 보안의 기초

방화벽 설정 (ufw 예시)

sudo apt update
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw enable
sudo ufw status

포트 스캐닝 방지 (fail2ban 설치)

sudo apt install fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban

2. OpenVPN 서버 설정하기

OpenVPN 설치

sudo apt install openvpn easy-rsa

인증서 및 키 생성

make-cadir ~/openvpn-ca
cd ~/openvpn-ca
source vars
./clean-all
./build-ca
./build-key-server server
./build-dh
./build-key client1

서버 구성 (예: /etc/openvpn/server.conf)

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh.pem
keepalive 10 120
persist-key
persist-tun
comp-lzo
user nobody
group nogroup
status openvpn-status.log
verb 3

서버 실행

sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server

클라이언트 접속은?

.ovpn 구성 파일을 만들어 전달하고 OpenVPN 클라이언트로 접속!

3. WireGuard: 차세대 VPN 솔루션

WireGuard 설치

sudo apt install wireguard

키 생성

wg genkey | tee privatekey | wg pubkey > publickey

서버 설정 예시 (/etc/wireguard/wg0.conf)

[Interface]
PrivateKey = 서버의 개인키
Address = 10.0.0.1/24
ListenPort = 51820

[Peer]
PublicKey = 클라이언트 공개키
AllowedIPs = 10.0.0.2/32

서버 실행

sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0

클라이언트 설정 예시

[Interface]
PrivateKey = 클라이언트 개인키
Address = 10.0.0.2/24

[Peer]
PublicKey = 서버 공개키
Endpoint = 서버IP:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 25

OpenVPN vs WireGuard 비교

항목 OpenVPN WireGuard
설정 복잡도 비교적 복잡 매우 간단
성능 중간 매우 빠름
보안성 검증 완료 최신 기술 기반
지원 플랫폼 매우 넓음 주요 플랫폼 지원

마무리

VPN은 단순한 프라이버시 도구를 넘어, 기업의 보안 통신에도 필수적인 요소가 되었습니다. 리눅스 환경에서 OpenVPN과 WireGuard를 적절히 활용하면, 안전하고 빠른 네트워크를 구성할 수 있습니다.

다음 주제로는 다음과 같은 내용을 다룰 예정입니다:

  • 클라이언트 자동 접속 스크립트
  • VPN + DNS 보안 구성
  • VPN 다중 사용자 구성
728x90
반응형