상세 컨텐츠

본문 제목

OpenVPN 완벽 가이드: 설치부터 고급 설정까지

경제한마디

by 이슈인사이드3827 2025. 4. 7. 19:52

본문

반응형

OpenVPN 완벽 가이드: 설치부터 고급 설정까지

OpenVPN은 강력한 보안성과 유연성을 갖춘 오픈소스 VPN 솔루션으로, 개인 사용자부터 기업에 이르기까지 널리 사용되고 있습니다. 이 글에서는 OpenVPN의 기본 개념부터 설치, 구성, 그리고 고급 사용법까지 단계별로 알아보겠습니다.

OpenVPN이란?

OpenVPN은 SSL/TLS 프로토콜을 사용하여 안전한 지점 간 또는 사이트 간 연결을 제공하는 오픈소스 VPN 솔루션입니다. 다양한 운영체제를 지원하며, 방화벽을 우회할 수 있는 능력과 함께 강력한 암호화 기능을 제공합니다.
빠르고 안전한 NordVpn 73% 할인

설치 방법

서버측 설치

Linux (Ubuntu/Debian 기준)

sudo apt-get update
sudo apt-get install openvpn easy-rsa

Windows

OpenVPN 공식 웹사이트(https://openvpn.net/community-downloads/)에서 설치 파일을 다운로드하여 실행합니다.

클라이언트측 설치

Linux

sudo apt-get install openvpn

Windows/macOS OpenVPN 공식 사이트에서 OpenVPN Connect 클라이언트를 다운로드하여 설치합니다.

모바일 기기

인증서 생성 및 설정

OpenVPN은 SSL/TLS 기반 보안을 위해 인증서를 사용합니다. easy-rsa 패키지를 통해 이를 관리할 수 있습니다.

인증 기관(CA) 설정

mkdir -p ~/openvpn-ca
cp -r /usr/share/easy-rsa/* ~/openvpn-ca/
cd ~/openvpn-ca

vars 파일을 편집하여 필요한 값을 설정합니다:

nano vars

다음 변수들을 적절히 수정합니다:

export KEY_COUNTRY="KR"
export KEY_PROVINCE="Seoul"
export KEY_CITY="Seoul"
export KEY_ORG="MyOrganization"
export KEY_EMAIL="admin@example.com"
export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="server"

인증서를 생성합니다:

source vars
./clean-all
./build-ca

서버 인증서 생성

./build-key-server server

클라이언트 인증서 생성

각 클라이언트마다 개별 인증서를 생성합니다:

./build-key client1

Diffie-Hellman 매개변수 생성

강력한 암호화를 위해 Diffie-Hellman 키를 생성합니다:  빠르고 안전한 NordVpn 73% 할인

./build-dh

서버 구성

서버 설정 파일 생성

cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf /etc/openvpn/

/etc/openvpn/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
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

인증서 파일 복사

cp ~/openvpn-ca/keys/ca.crt /etc/openvpn/
cp ~/openvpn-ca/keys/server.crt /etc/openvpn/
cp ~/openvpn-ca/keys/server.key /etc/openvpn/
cp ~/openvpn-ca/keys/dh2048.pem /etc/openvpn/

IP 포워딩 활성화

echo 1 > /proc/sys/net/ipv4/ip_forward

영구적으로 설정하려면 /etc/sysctl.conf 파일에 다음 줄을 추가합니다:

net.ipv4.ip_forward=1

방화벽 설정

UFW를 사용하는 경우:  빠르고 안전한 NordVpn 73% 할인

sudo ufw allow 1194/udp
sudo ufw allow OpenSSH

iptables를 직접 사용하는 경우:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

서버 시작

systemctl start openvpn@server
systemctl enable openvpn@server

클라이언트 구성

클라이언트 설정 파일 생성 

mkdir -p ~/client-configs/files
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf

base.conf 파일을 수정하여 다음과 같이 설정합니다:  빠르고 안전한 NordVpn 73% 할인

client
dev tun
proto udp
remote 서버_IP_주소 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3

클라이언트 설정 스크립트 생성

다음 내용으로 ~/client-configs/make_config.sh 파일을 생성합니다:

#!/bin/bash

# 첫 번째 인자를 클라이언트 이름으로 설정
NAME=$1

# 기본 설정 파일 복사
cp ~/client-configs/base.conf ~/client-configs/files/$NAME.ovpn

# 인증서와 키를 설정 파일에 추가
echo "<ca>" >> ~/client-configs/files/$NAME.ovpn
cat ~/openvpn-ca/keys/ca.crt >> ~/client-configs/files/$NAME.ovpn
echo "</ca>" >> ~/client-configs/files/$NAME.ovpn

echo "<cert>" >> ~/client-configs/files/$NAME.ovpn
cat ~/openvpn-ca/keys/$NAME.crt >> ~/client-configs/files/$NAME.ovpn
echo "</cert>" >> ~/client-configs/files/$NAME.ovpn

echo "<key>" >> ~/client-configs/files/$NAME.ovpn
cat ~/openvpn-ca/keys/$NAME.key >> ~/client-configs/files/$NAME.ovpn
echo "</key>" >> ~/client-configs/files/$NAME.ovpn

스크립트에 실행 권한을 부여합니다:  빠르고 안전한 NordVpn 73% 할인

chmod 700 ~/client-configs/make_config.sh

클라이언트 구성 파일 생성

cd ~/client-configs
./make_config.sh client1

이렇게 생성된 ~/client-configs/files/client1.ovpn 파일을 클라이언트 기기로 전송합니다.

클라이언트 연결

Linux 클라이언트

sudo openvpn --config client1.ovpn

Windows/macOS 클라이언트

OpenVPN GUI 또는 Tunnelblick을 실행한 후 .ovpn 파일을 가져옵니다.

모바일 클라이언트

OpenVPN Connect 앱을 열고 .ovpn 파일을 가져옵니다.  빠르고 안전한 NordVpn 73% 할인

고급 설정

두 요소 인증 설정

더 강력한 보안을 위해 인증서와 함께 사용자 이름/비밀번호 인증을 추가할 수 있습니다:

# 사용자 생성
sudo adduser vpnuser

# PAM 모듈 설치
sudo apt-get install openvpn-auth-pam

# 서버 설정 파일에 추가
plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so login

특정 네트워크 트래픽만 VPN으로 라우팅

모든 트래픽이 아닌 특정 네트워크로만 트래픽을 라우팅하려면:

# 서버 설정에서 다음 줄 제거
push "redirect-gateway def1 bypass-dhcp"

# 대신 특정 네트워크 라우팅 추가
push "route 192.168.1.0 255.255.255.0"

문제 해결 팁

  • 연결 실패 시 로그 확인: tail -f /var/log/openvpn.log
  • 방화벽 설정 확인: UDP 1194 포트가 열려있는지 확인
  • 인증서 문제: 날짜와 시간이 올바르게 설정되어 있는지 확인
  • 네트워크 구성: IP 포워딩이 활성화되어 있는지 확인  빠르고 안전한 NordVpn 73% 할인

결론

이 가이드를 통해 OpenVPN의 기본 설치부터 고급 구성까지 알아보았습니다. 보안과 프라이버시가 중요한 현대 사회에서 OpenVPN은 안전한 네트워크 연결을 위한 강력한 도구입니다. 각자의 필요에 맞게 설정을 변경하고 최적화하여 더욱 안전한 인터넷 환경을 구축하시기 바랍니다.

빠르고 안전한 NordVpn 73% 할인

반응형

관련글 더보기