IT 기술 문서
Windows & Linux에서 VPN 서버 구축 및 보안 강화 방법
- it33 25일 전 2025.02.17 21:33
-
39
0
VPN(가상 사설망) 개요
VPN(Virtual Private Network)은 인터넷을 통한 보안된 네트워크 연결을 제공하여 원격 접속 및 데이터 보호에 활용됩니다. Windows에서는 내장 VPN 기능을 제공하며, Linux에서는 OpenVPN, WireGuard 등의 오픈소스 VPN 솔루션을 사용할 수 있습니다. 이번 포스팅에서는 Windows 및 Linux에서 VPN 서버를 구축하고 보안을 강화하는 방법을 정리해 보겠습니다.
1. Windows에서 VPN 서버 설정
Windows에서는 GUI 및 PowerShell을 이용하여 내장 VPN 서버를 설정할 수 있습니다.
① Windows VPN 서버 활성화
Windows + R
→ncpa.cpl
입력 후 실행새 연결 또는 네트워크 설정
클릭직접 연결을 통한 VPN 설정
선택VPN 서버로 사용할 네트워크 인터페이스 선택 후 완료
② Windows VPN 포트 포워딩 설정
Windows VPN은 PPTP(1723), L2TP(1701), SSTP(443) 등의 포트를 사용합니다. 공유기 또는 방화벽에서 해당 포트를 열어줘야 합니다.
# 방화벽에서 PPTP(1723) 및 L2TP(1701) 포트 열기
New-NetFirewallRule -DisplayName "Allow PPTP" -Direction Inbound -LocalPort 1723 -Protocol TCP -Action Allow
New-NetFirewallRule -DisplayName "Allow L2TP" -Direction Inbound -LocalPort 1701 -Protocol UDP -Action Allow
③ Windows VPN 계정 추가 및 사용자 설정
VPN을 사용하려면 사용자 계정을 설정해야 합니다.
Windows + R
→compmgmt.msc
입력 후 실행로컬 사용자 및 그룹
→사용자
에서 새 계정 생성VPN 연결을 허용할 사용자에게
다이얼인 액세스
권한 부여
2. Linux에서 OpenVPN 서버 구축
Linux에서는 OpenVPN이 가장 널리 사용되는 VPN 솔루션입니다. OpenVPN은 강력한 보안 및 유연한 설정이 가능하며, 서버-클라이언트 모델을 지원합니다.
① OpenVPN 설치 및 설정 (Ubuntu/Debian)
sudo apt update && sudo apt install -y openvpn easy-rsa
② OpenVPN 서버 설정 파일 수정
sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
cd /etc/openvpn/
sudo gzip -d server.conf.gz
sudo nano server.conf
주요 변경 설정:
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 10.8.0.0 255.255.255.0
③ OpenVPN 방화벽 규칙 설정
sudo ufw allow 1194/udp
sudo ufw enable
④ OpenVPN 서비스 활성화 및 시작
sudo systemctl start openvpn@server
sudo systemctl enable openvpn@server
3. Linux에서 WireGuard VPN 설정
WireGuard는 OpenVPN보다 더 빠르고 가벼운 VPN 프로토콜입니다.
① WireGuard 설치 (Ubuntu/Debian)
sudo apt update && sudo apt install -y wireguard
② WireGuard 키 생성 및 설정
umask 077
wg genkey | tee privatekey | wg pubkey > publickey
/etc/wireguard/wg0.conf
파일 생성:
[Interface]
Address = 10.0.0.1/24
ListenPort = 51820
PrivateKey = (서버 프라이빗 키 입력)
[Peer]
PublicKey = (클라이언트 퍼블릭 키 입력)
AllowedIPs = 10.0.0.2/32
③ WireGuard 서비스 시작 및 활성화
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
4. Windows & Linux VPN 보안 강화
VPN 서버 구축 후 보안을 강화하는 것이 중요합니다.
① 강력한 암호화 적용 (OpenVPN & WireGuard)
OpenVPN:
cipher AES-256-CBC
auth SHA512
tls-auth ta.key 0
WireGuard:
PersistentKeepalive = 25
② VPN 접속 사용자 제한 (Windows & Linux 공통)
Windows: VPN 사용자 계정을 최소한으로 유지하고,
다이얼인 액세스
설정 제한Linux:
iptables
또는firewalld
를 사용하여 특정 IP만 VPN에 접속 가능하도록 설정
sudo iptables -A INPUT -p udp --dport 1194 -s 192.168.1.100 -j ACCEPT
③ VPN 로그 모니터링 및 자동 차단 (Linux)
sudo tail -f /var/log/openvpn.log
VPN 서버에서 비정상적인 로그인 시도를 자동으로 차단하도록 설정할 수도 있습니다.
sudo fail2ban-client status openvpn
5. Windows VPN vs. Linux VPN 비교
기능 | Windows 내장 VPN | OpenVPN (Linux) | WireGuard (Linux) |
---|---|---|---|
설정 난이도 | 쉬움 (GUI 제공) | 중간 (수동 설정 필요) | 쉬움 (간결한 설정) |
보안 수준 | 보통 (기본 암호화) | 높음 (AES-256 지원) | 매우 높음 (최신 암호화) |
속도 | 보통 | 중간 | 매우 빠름 |
클라이언트 지원 | Windows 기본 제공 | Windows, Linux, Mac, Android | Windows, Linux, Mac, Android |
Windows & Linux VPN 서버 구축 및 보안 최적화
Windows의 내장 VPN, OpenVPN, WireGuard는 각각의 장점이 있으며, 환경에 따라 적절한 솔루션을 선택할 수 있습니다.
VPN 보안 강화를 위해 강력한 암호화 적용 및 접속 제한 설정을 반드시 설정하세요!
- 이전글AWS, Azure, Google Cloud 비교 및 초보자 가이드2025.02.17
- 다음글Windows 방화벽 & Linux iptables/firewalld 설정 및 활용법2025.02.17
댓글목록
등록된 댓글이 없습니다.