ubuntu에_openvpn_설치
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판이전 판다음 판 | 이전 판 | ||
| ubuntu에_openvpn_설치 [2018/03/14 10:17] – akpil | ubuntu에_openvpn_설치 [2018/03/14 10:25] (현재) – akpil | ||
|---|---|---|---|
| 줄 6: | 줄 6: | ||
| 필요한 패키지 설치 | 필요한 패키지 설치 | ||
| - | * 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 | mkdir openvpn-ca | ||
| cd openvpn-ca | cd openvpn-ca | ||
| </ | </ | ||
| - | * 변수 수정하기, | + | |
| - | * vi vars | + | |
| + | * vi vars | ||
| < | < | ||
| export KEY_COUNTRY=" | export KEY_COUNTRY=" | ||
| 줄 24: | 줄 25: | ||
| export KEY_NAME=" | export KEY_NAME=" | ||
| </ | </ | ||
| - | - ln -s openssl-1.0.0.cnf openssl.cnf | + | * ln -s openssl-1.0.0.cnf openssl.cnf |
| - | | + | |
| - | | + | |
| - | | + | < |
| - | | + | ./ |
| - | - ./build-dh 를 실행해서 | + | </ |
| - | - openvpn --genkey --secret keys/ta.key 를 실행하여 | + | * ./build-ca 를 실행하면 몇가지 물어보는데, |
| - | - 서버 설정 | + | |
| - | | + | < |
| - | | + | ./build-dh |
| - | | + | </code> |
| - | | + | |
| - | | + | * HMAC(Hash-based Message Authentication Code) 키를 |
| + | |||
| + | < | ||
| + | openvpn | ||
| + | </ | ||
| + | |||
| + | * 서버 설정 | ||
| + | < | ||
| + | cd ~/ | ||
| + | sudo cp ca.crt server.crt server.key ta.key dh2048.pem / | ||
| + | gunzip -c / | ||
| + | | ||
| + | | ||
| < | < | ||
| proto tcp # udp 는 주석 처리 | proto tcp # udp 는 주석 처리 | ||
| 줄 50: | 줄 63: | ||
| </ | </ | ||
| - | | + | |
| - | - sudo vi / | + | |
| - | - 아래 항목 주석 해제 | + | |
| - | - net.ipv4.ip_forward=1 앞에 #이 붙어 있을텐데, | + | |
| - | - sudo sysctl -p | + | |
| - | - sudo iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE | + | |
| - | - iptables 설정을 부팅때마다 실행시키기 위해서는 몇가지 방법이 있는데, / | + | |
| - | - 혹시라도 서버 앞단에 있는 방화벽이나 공유기 등에서 1194 포트가 막혀 있는지 확인해보고, | + | |
| - | - 서버 실행 | + | |
| - | - 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/ | + | |
| - | - cp / | + | |
| - | - vi ~/ | + | |
| < | < | ||
| + | sudo vi / | ||
| + | |||
| + | net.ipv4.ip_forward=1 앞에 #이 붙어 있을텐데, | ||
| + | |||
| + | sudo sysctl -p | ||
| + | |||
| + | sudo iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE | ||
| + | </ | ||
| + | * iptables 설정을 부팅때마다 실행시키기 위해서는 몇가지 방법이 있는데, / | ||
| + | * 혹시라도 서버 앞단에 있는 방화벽이나 공유기 등에서 1194 포트가 막혀 있는지 확인해보고, | ||
| + | * 서버 실행 | ||
| + | < | ||
| + | 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/ | ||
| + | cp / | ||
| + | vi ~/ | ||
| + | |||
| remote 서버 ip 주소 또는 도메인 이름 1194 | remote 서버 ip 주소 또는 도메인 이름 1194 | ||
| proto tcp # udp 는 주석 처리 | proto tcp # udp 는 주석 처리 | ||
| 줄 80: | 줄 109: | ||
| cipher AES-128-CBC | cipher AES-128-CBC | ||
| auth SHA256 | auth SHA256 | ||
| + | |||
| </ | </ | ||
| - | - vi ~/ | + | |
| + | * 클라이언트 인증서를 만들기 위한 스크립트 파일을 하나 만들자. | ||
| <file make_config.sh> | <file make_config.sh> | ||
| + | vi ~/ | ||
| + | |||
| #!/bin/bash | #!/bin/bash | ||
| # First argument: Client identifier | # First argument: Client identifier | ||
| 줄 100: | 줄 134: | ||
| > ${OUTPUT_DIR}/ | > ${OUTPUT_DIR}/ | ||
| </ | </ | ||
| - | - chmod 700 ~/ | + | |
| - | | + | < |
| - | | + | chmod 700 ~/ |
| + | ~/ | ||
| + | </ | ||
| + | |||
| + | 이렇게 하면 akpil.ovpn 파일이 생성된다. 이 파일을 클라이언트 디바이스에 전송하여 적용시키면 된다. | ||
| ----------- | ----------- | ||
| 2018/03/14 akpil | 2018/03/14 akpil | ||
ubuntu에_openvpn_설치.1520992049.txt.gz · 마지막으로 수정됨: 2018/03/14 10:17 저자 akpil
