사용자 도구

사이트 도구


ubuntu에_openvpn_설치

차이

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

차이 보기로 링크

양쪽 이전 판이전 판
ubuntu에_openvpn_설치 [2018/03/14 10:18] akpilubuntu에_openvpn_설치 [2018/03/14 10:25] (현재) akpil
줄 25: 줄 25:
 export KEY_NAME="server" export KEY_NAME="server"
 </code> </code>
-      - ln -s openssl-1.0.0.cnf openssl.cnf +    * ln -s openssl-1.0.0.cnf openssl.cnf 
-      source vars (또는 source ./vars) +    source vars (또는 source ./vars) 
-        NOTE: If you run ./clean-all, I will be doing a rm -rf on /home/.../openvpn-ca/keys 이라고 나오면 정상적이다. +      NOTE: If you run ./clean-all, I will be doing a rm -rf on /home/.../openvpn-ca/keys 이라고 나오면 정상적이다. 
-      ./clean-all +<code> 
-      ./build-ca 를 실행하면 몇가지 물어보는데, 그냥 엔터키만 눌러서 쭉 넘어가고 버전에 따라 다른데, 끝에 가서 진짜로 할 거냐 (y/n)를 물어보는데, y 를 누르면 계산을 하면서 CA 파일을 만든다. 아참, challenge password 라는 게 보이면 비밀번호를 굳이 입력하지 않고 엔터 치면 된다. +./clean-all 
-      - ./build-dh 를 실행해서 DH (Diffie-Hellman) 키를 생성하자. 이건 좀 오래 걸린다. +</code> 
-      openvpn --genkey --secret keys/ta.key 를 실행하여 HMAC(Hash-based Message Authentication Code) 키를 생성시키자. +    * ./build-ca 를 실행하면 몇가지 물어보는데, 그냥 엔터키만 눌러서 쭉 넘어가고 버전에 따라 다른데, 끝에 가서 진짜로 할 거냐 (y/n)를 물어보는데, y 를 누르면 계산을 하면서 CA 파일을 만든다. 아참, challenge password 라는 게 보이면 비밀번호를 굳이 입력하지 않고 엔터 치면 된다. 
-  - 서버 설정 +    DH (Diffie-Hellman) 키를 생성하자. 이건 좀 오래 걸린다. 
-    cd ~/openvpn-ca/keys +<code> 
-    sudo cp ca.crt server.crt server.key ta.key dh2048.pem /etc/openvpn +./build-dh 
-    gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf +</code> 
-    server.conf 파일을 변경하자. 마지막 두줄은 추가해야 한다. + 
-      sudo vi /etc/openvpn/server.conf+    * HMAC(Hash-based Message Authentication Code) 키를 만들자. 
 + 
 +<code> 
 +openvpn --genkey --secret keys/ta.key 
 +</code> 
 + 
 +  * 서버 설정 
 +<code> 
 +cd ~/openvpn-ca/keys 
 +sudo cp ca.crt server.crt server.key ta.key dh2048.pem /etc/openvpn 
 +gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf 
 +  server.conf 파일을 변경하자. 마지막 두줄은 추가해야 한다. 
 +    sudo vi /etc/openvpn/server.conf
 <code> <code>
 proto tcp # udp 는 주석 처리 proto tcp # udp 는 주석 처리
줄 51: 줄 63:
 </code> </code>
  
-    서버 네트워크 설정 +    *  서버 네트워크 설정
-      - sudo vi /etc/sysctl.conf +
-        - 아래 항목 주석 해제 +
-        - net.ipv4.ip_forward=1 앞에 #이 붙어 있을텐데, #을 지우자. +
-      - sudo sysctl -p  +
-      - sudo iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE +
-      - iptables 설정을 부팅때마다 실행시키기 위해서는 몇가지 방법이 있는데, /etc/rc.local 파일 정도에 윗줄의 명령에서 sudo 를 빼고 입력하거나 sudo apt-get install iptables-persistent 를 실행하여 현재의 iptables 규칙을 저장하느냐의 방법이 있는데, 내 경우는 /etc/rc.local 파일에 적는 것을 추천한다. +
-      - 혹시라도 서버 앞단에 있는 방화벽이나 공유기 등에서 1194 포트가 막혀 있는지 확인해보고, 막혀 있다면 포트포워딩이나 열어야 하며, 그게 불가능하다면 다른 열려 있는 포트로 바꾸자. 바꾸려면 위에서 설명한 server.conf 파일과 아래에 설명할 클라이언트에서 포트를 바꿔서 적어주어야 한다. +
-    - 서버 실행 +
-      - sudo systemctl start openvpn@server 으로 실행을 하고, +
-      - sudo systemctl status openvpn@server 으로 상태를 보자.. 그리고 +
-      - ip addr show tun0 해서 tun0 가 뜨는지를 보자. 이게 안 뜬다면 설정이 제대로 안된 거다. +
-    - 클라이언트 키 생성 +
-      - cd openvpn-ca +
-      - source vars (또는 source ./vars) +
-      - ./build-key akpil akpil 대신 다른 이름을 써도 된다. +
-      - mkkdir -p client-configs/files +
-      - cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf +
-      - vi ~/client-configs/base.conf 아래 세줄은 추가하여야 한다.+
 <code> <code>
 +sudo vi /etc/sysctl.conf
 +
 +net.ipv4.ip_forward=1 앞에 #이 붙어 있을텐데, #을 지우자. 저장하고 나와서 ..
 +
 +sudo sysctl -p 
 +
 +sudo iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
 +</code>
 +  * iptables 설정을 부팅때마다 실행시키기 위해서는 몇가지 방법이 있는데, /etc/rc.local 파일 정도에 윗줄의 명령에서 sudo 를 빼고 입력하거나 sudo apt-get install iptables-persistent 를 실행하여 현재의 iptables 규칙을 저장하느냐의 방법이 있는데, 내 경우는 /etc/rc.local 파일에 적는 것을 추천한다.
 +  * 혹시라도 서버 앞단에 있는 방화벽이나 공유기 등에서 1194 포트가 막혀 있는지 확인해보고, 막혀 있다면 포트포워딩이나 열어야 하며, 그게 불가능하다면 다른 열려 있는 포트로 바꾸자. 바꾸려면 위에서 설명한 server.conf 파일과 아래에 설명할 클라이언트에서 포트를 바꿔서 적어주어야 한다.
 +  * 서버 실행
 +<code>
 +sudo systemctl start openvpn@server
 +</code>
 +
 +<code>
 +sudo systemctl status openvpn@server
 +</code>
 +
 +<code>
 +ip addr show tun0
 +</code>
 +  * tun0 가 뜨는지를 보자. 이게 안 뜬다면 설정이 제대로 안된 거다.
 +
 +
 +  * 클라이언트 키 생성
 +<code>
 +cd openvpn-ca
 +source vars (또는 source ./vars)
 +./build-key akpil akpil 대신 다른 이름을 써도 된다.
 +mkkdir -p client-configs/files
 +cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf
 +vi ~/client-configs/base.conf 아래 세줄은 추가하여야 한다.
 +
 remote 서버 ip 주소 또는 도메인 이름 1194 remote 서버 ip 주소 또는 도메인 이름 1194
 proto tcp # udp 는 주석 처리 proto tcp # udp 는 주석 처리
줄 81: 줄 109:
 cipher AES-128-CBC cipher AES-128-CBC
 auth SHA256 auth SHA256
 +
 </code> </code>
-      - vi ~/client-configs/make_config.sh+ 
 +  * 클라이언트 인증서를 만들기 위한 스크립트 파일을 하나 만들자. 
 <file make_config.sh> <file make_config.sh>
 +vi ~/client-configs/make_config.sh
 +
 #!/bin/bash #!/bin/bash
 # First argument: Client identifier # First argument: Client identifier
줄 101: 줄 134:
      > ${OUTPUT_DIR}/${1}.ovpn      > ${OUTPUT_DIR}/${1}.ovpn
 </file> </file>
-      - chmod 700 ~/client-configs/make_config.sh + 
-      ~/client-configs/make_config.sh akpil +<code> 
-      이렇게 하면 akpil.ovpn 파일이 생성된다. 이 파일을 클라이언트 디바이스에 전송하여 적용시키면 된다.+chmod 700 ~/client-configs/make_config.sh 
 +~/client-configs/make_config.sh akpil 
 +</code> 
 + 
 +이렇게 하면 akpil.ovpn 파일이 생성된다. 이 파일을 클라이언트 디바이스에 전송하여 적용시키면 된다. 
 ----------- -----------
  
 2018/03/14 akpil  2018/03/14 akpil 
ubuntu에_openvpn_설치.1520992100.txt.gz · 마지막으로 수정됨: 2018/03/14 10:18 저자 akpil

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki