사용자 도구

사이트 도구


ubuntu에_openvpn_설치

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
마지막 판양쪽 다음 판
ubuntu에_openvpn_설치 [2018/03/14 10:10] – 만듦 akpilubuntu에_openvpn_설치 [2018/03/14 10:18] akpil
줄 5: 줄 5:
 우분투 16.04 LTS 버전을 기준으로, OpenVPN 설치하는 방법을 정리해본다. 우분투 16.04 LTS 버전을 기준으로, OpenVPN 설치하는 방법을 정리해본다.
  
-  - 필요한 패키지 설치 +필요한 패키지 설치 
-    sudo apt-get update && sudo apt-get upgrade +  sudo apt-get update && sudo apt-get upgrade 
-    sudo apt-get install openvpn easy-rsa +  sudo apt-get install openvpn easy-rsa 
-  CA (Certificate Authority) 빌드 +  CA (Certificate Authority) 빌드 
-    mkdir openvpn-ca +<code> 
-    cd openvpn-ca +mkdir openvpn-ca 
-    변수 수정하기, 아래에 있는 것이 vars 파일에 들어 있는데, 적당히 바꾸면 된다. (안 바꿔도 별일은 없지만 ..) +cd openvpn-ca 
-      vi vars +</code> 
-        export KEY_COUNTRY="US" + 
-        export KEY_PROVINCE="CA" +  * 변수 수정하기, 아래에 있는 것이 vars 파일에 들어 있는데, 적당히 바꾸면 된다. (안 바꿔도 별일은 없지만 ..) 
-        export KEY_CITY="SanFrancisco" +    vi vars 
-        export KEY_ORG="Fort-Funston" +<code> 
-        export KEY_EMAIL="me@myhost.mydomain" +export KEY_COUNTRY="US" 
-        export KEY_OU="MyOrganizationalUnit" +export KEY_PROVINCE="CA" 
-        export KEY_NAME="server" +export KEY_CITY="SanFrancisco" 
-    - ln -s openssl-1.0.0.cnf openssl.cnf +export KEY_ORG="Fort-Funston" 
-    - source vars (또는 source ./vars) +export KEY_EMAIL="me@myhost.mydomain" 
-      - NOTE: If you run ./clean-all, I will be doing a rm -rf on /home/.../openvpn-ca/keys 이라고 나오면 정상적이다. +export KEY_OU="MyOrganizationalUnit" 
-    - ./clean-all +export KEY_NAME="server" 
-    - ./build-ca 를 실행하면 몇가지 물어보는데, 그냥 엔터키만 눌러서 쭉 넘어가고 버전에 따라 다른데, 끝에 가서 진짜로 할 거냐 (y/n)를 물어보는데, y 를 누르면 계산을 하면서 CA 파일을 만든다. 아참, challenge password 라는 게 보이면 비밀번호를 굳이 입력하지 않고 엔터 치면 된다. +</code> 
-    - ./build-dh 를 실행해서 DH (Diffie-Hellman) 키를 생성하자. 이건 좀 오래 걸린다. +      - ln -s openssl-1.0.0.cnf openssl.cnf 
-    - openvpn --genkey --secret keys/ta.key 를 실행하여 HMAC(Hash-based Message Authentication Code) 키를 생성시키자.+      - source vars (또는 source ./vars) 
 +        - NOTE: If you run ./clean-all, I will be doing a rm -rf on /home/.../openvpn-ca/keys 이라고 나오면 정상적이다. 
 +      - ./clean-all 
 +      - ./build-ca 를 실행하면 몇가지 물어보는데, 그냥 엔터키만 눌러서 쭉 넘어가고 버전에 따라 다른데, 끝에 가서 진짜로 할 거냐 (y/n)를 물어보는데, y 를 누르면 계산을 하면서 CA 파일을 만든다. 아참, challenge password 라는 게 보이면 비밀번호를 굳이 입력하지 않고 엔터 치면 된다. 
 +      - ./build-dh 를 실행해서 DH (Diffie-Hellman) 키를 생성하자. 이건 좀 오래 걸린다. 
 +      - openvpn --genkey --secret keys/ta.key 를 실행하여 HMAC(Hash-based Message Authentication Code) 키를 생성시키자.
   - 서버 설정   - 서버 설정
     - cd ~/openvpn-ca/keys     - cd ~/openvpn-ca/keys
줄 33: 줄 38:
     - server.conf 파일을 변경하자. 마지막 두줄은 추가해야 한다.     - server.conf 파일을 변경하자. 마지막 두줄은 추가해야 한다.
       - sudo vi /etc/openvpn/server.conf       - sudo vi /etc/openvpn/server.conf
-        - proto tcp # udp 는 주석 처리 +<code> 
-        push "redirect-gateway def1 bypass-dhcp" +proto tcp # udp 는 주석 처리 
-        push "dhcp-option DNS 168.126.63.2" +push "redirect-gateway def1 bypass-dhcp" 
-        push "dhcp-option DNS 8.8.8.8" +push "dhcp-option DNS 168.126.63.2" 
-        tls-auth ta.key 0 +push "dhcp-option DNS 8.8.8.8" 
-        cipher AES-128-CBC +tls-auth ta.key 0 
-        user nobody +cipher AES-128-CBC 
-        group nogroup +user nobody 
-        key-direction 0 +group nogroup 
-        auth SHA256+key-direction 0 
 +auth SHA256 
 +</code> 
     - 서버 네트워크 설정     - 서버 네트워크 설정
       - sudo vi /etc/sysctl.conf       - sudo vi /etc/sysctl.conf
줄 62: 줄 70:
       - cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf       - cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf
       - vi ~/client-configs/base.conf 아래 세줄은 추가하여야 한다.       - vi ~/client-configs/base.conf 아래 세줄은 추가하여야 한다.
-        - remote your-public-address-here 1194 +<code> 
-        proto tcp # udp 는 주석 처리 +remote 서버 ip 주소 또는 도메인 이름 1194 
-        user nobody # 주석 해제 +proto tcp # udp 는 주석 처리 
-        group nogroup # 주석 해제 +user nobody # 주석 해제 
-        #ca ca.crt # 붙여서 주석처리 +group nogroup # 주석 해제 
-        #cert client.crt # 붙여서 주석처리 +#ca ca.crt # 붙여서 주석처리 
-        #key client.key # 붙여서 주석처리 +#cert client.crt # 붙여서 주석처리 
-        key-direction 1 +#key client.key # 붙여서 주석처리 
-        cipher AES-128-CBC +key-direction 1 
-        auth SHA256+cipher AES-128-CBC 
 +auth SHA256 
 +</code>
       - vi ~/client-configs/make_config.sh       - vi ~/client-configs/make_config.sh
-        - #!/bin/bash +<file make_config.sh> 
-        # First argument: Client identifier +#!/bin/bash 
-        KEY_DIR=~/openvpn-ca/keys +# First argument: Client identifier 
-        OUTPUT_DIR=~/client-configs/files +KEY_DIR=~/openvpn-ca/keys 
-        BASE_CONFIG=~/client-configs/base.conf +OUTPUT_DIR=~/client-configs/files 
-        cat ${BASE_CONFIG} \ +BASE_CONFIG=~/client-configs/base.conf 
-            <(echo -e '<ca>') \ +cat ${BASE_CONFIG} \ 
-            ${KEY_DIR}/ca.crt \ +     <(echo -e '<ca>') \ 
-            <(echo -e '</ca>\n<cert>') \ +     ${KEY_DIR}/ca.crt \ 
-            ${KEY_DIR}/${1}.crt \ +     <(echo -e '</ca>\n<cert>') \ 
-            <(echo -e '</cert>\n<key>') \ +     ${KEY_DIR}/${1}.crt \ 
-            ${KEY_DIR}/${1}.key \ +     <(echo -e '</cert>\n<key>') \ 
-            <(echo -e '</key>\n<tls-auth>') \ +     ${KEY_DIR}/${1}.key \ 
-            ${KEY_DIR}/ta.key \ +     <(echo -e '</key>\n<tls-auth>') \ 
-            <(echo -e '</tls-auth>') \ +     ${KEY_DIR}/ta.key \ 
-            > ${OUTPUT_DIR}/${1}.ovpn+     <(echo -e '</tls-auth>') \ 
 +     > ${OUTPUT_DIR}/${1}.ovpn 
 +</file>
       - chmod 700 ~/client-configs/make_config.sh       - chmod 700 ~/client-configs/make_config.sh
       - ~/client-configs/make_config.sh akpil       - ~/client-configs/make_config.sh akpil
ubuntu에_openvpn_설치.txt · 마지막으로 수정됨: 2018/03/14 10:25 저자 akpil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki