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 | ||
줄 14: | 줄 14: | ||
</ | </ | ||
- | * 변수 수정하기, | + | |
- | * vi vars | + | * vi vars |
< | < | ||
export KEY_COUNTRY=" | export KEY_COUNTRY=" | ||
줄 25: | 줄 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 는 주석 처리 | ||
줄 51: | 줄 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 는 주석 처리 | ||
줄 81: | 줄 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 | ||
줄 101: | 줄 134: | ||
> OUTPUTDIR/{1}.ovpn | > OUTPUTDIR/{1}.ovpn | ||
</ | </ | ||
- | - chmod 700 ~/ | + | |
- | | + | < |
- | | + | chmod 700 ~/ |
+ | ~/ | ||
+ | </ | ||
+ | |||
+ | 이렇게 하면 akpil.ovpn 파일이 생성된다. 이 파일을 클라이언트 디바이스에 전송하여 적용시키면 된다. | ||
----------- | ----------- | ||
2018/03/14 akpil | 2018/03/14 akpil |
ubuntu에_openvpn_설치.1520992061.txt.gz · 마지막으로 수정됨: 2018/03/14 10:17 저자 akpil