OpenVPN 완벽 가이드: 설치부터 고급 설정까지 :: 이슈인사이드(issueinside.com)

ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OpenVPN 완벽 가이드: 설치부터 고급 설정까지
    경제한마디 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% 할인

    반응형
Designed by Tistory.