컴퓨터 커뮤니티

우분트 VPN 서버 설정

코리아 0 181 06.14 08:31


## 우분트 환경에서 VPN 서버 구축하기 ##                


                                          



1. 패키지 업데이트

 apt update &&  apt upgrade -y



2. OpenVPN 및 Easy-RSA 설치

 apt install openvpn easy-rsa -y



3. Easy-RSA 환경 설정


make-cadir ~/openvpn-ca

cd ~/openvpn-ca


3. 인증서와 키 생성


# Easy-RSA 초기화

./easyrsa init-pki


# CA(인증기관) 생성

./easyrsa build-ca


#CA 비밀번호 입력하고 인중관 이름 입력



4. 서버 인증서 및 키 생성

./easyrsa gen-req server nopass   (엔터)

./easyrsa sign-req server server    

    - yes  - 위에 설정한 암호


5. Diffie-Hellman 파라미터 생성

./easyrsa gen-dh



6. TLS 인증 키 생성

openvpn --genkey secret ta.key



7. 생성된 파일 복사

cp -rp ~/openvpn-ca/pki/ca.crt /etc/openvpn/

cp -rp ~/openvpn-ca/pki/issued/server.crt /etc/openvpn/

cp -rp ~/openvpn-ca/pki/private/server.key /etc/openvpn/

cp -rp ~/openvpn-ca/pki/dh.pem /etc/openvpn/

cp -rp ~/openvpn-ca/ta.key /etc/openvpn/


# 설정 파일 확인

ll  /etc/openvpn/



 8. server.conf 설정

nano /etc/openvpn/server.conf


-------------------------------------------------------------------



port 1194

proto udp

dev tun


ca ca.crt

cert server.crt

key server.key

dh dh.pem

tls-auth ta.key 0

remote-cert-tls client


 server 192.168.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

cipher AES-256-CBC

auth SHA256

persist-key

persist-tun


status openvpn-status.log

verb 3

explicit-exit-notify 1


-------------------------------------------------------------------


9. IP Forwarding 활성화


nano /etc/sysctl.conf

net.ipv4.ip_forward=1    (앞에 # 삭제)


#적용

sysctl -p



10. IP Forwarding 

apt install iptables-persistent -y


ip a

이더넷 확인

enp0s31f6



iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o [외부인터페이스] -j MASQUERADE


예) iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o enp0s31f6 -j MASQUERADE



# 부팅후 포워딩 유지하기


 netfilter-persistent save


 iptables-save > /etc/iptables/rules.v4



 11. OpenVPN 서비스 시작


 systemctl restart openvpn@server      

 systemctl enable openvpn@server


 systemctl status openvpn@server



 12. 클라이언트용 인증서 생성 (Windows 연결용) 

cd ~/openvpn-ca

./easyrsa gen-req client1 nopass  (엔터)

./easyrsa sign-req client client1

  - yes  - 암호

 



13. 클라이언트 설정 파일 만들기


ca.crt, client1.crt, client1.key, ta.key 4개 파일로 client1.ovpn 파일 생성 하기



cp /etc/openvpn/ca.crt /tmp


cp /root/openvpn-ca/pki/issued/client1.crt /tmp

 

cp /root/openvpn-ca/pki/private/client1.key /tmp


cp  /etc/openvpn/ta.key /tmp


cd /tmp



# 파일 목록 확인

ll -t




# client1.ovpn 설정파일 만들기 스크립트


touch ovpn.sh


chmod +x ovpn.sh


nano ovpn.sh

------------------------------------------------------------------------


#!/bin/bash


FILE="client1.ovpn"


# client1.ovpn이 존재하면 백업

if [ -f "$FILE" ]; then

  mv "$FILE" "$FILE.bak"

fi


# 새로운 client1.ovpn 파일 생성

cat <<EOF > "$FILE"

client

dev tun

proto udp

remote 서버IP 1194

resolv-retry infinite

nobind

persist-key

persist-tun

EOF


# 인증서 및 키 삽입

{

  echo "<ca>"

  cat ca.crt

  echo "</ca>"

  echo "<cert>"

  awk '/-----BEGIN CERTIFICATE-----/,/-----END CERTIFICATE-----/' client1.crt

  echo "</cert>"

  echo "<key>"

  cat client1.key

  echo "</key>"

  echo "<tls-auth>"

  cat ta.key

  echo "</tls-auth>"

} >> "$FILE"


# 추가 설정 삽입

cat <<EOF >> "$FILE"

key-direction 1

cipher AES-256-CBC

auth SHA256

verb 3

EOF


echo "client1.ovpn 파일이 성공적으로 생성되었습니다."


------------------------------------------------------------------------

 

위 설정파일에서 remote 서버IP 로 수정함


./ovpn.sh     실행




14. 클라이언트 PC 로 파일 전송하기위해서 서버에서 파일 브라우저 설치해서 임시 파일 서버 만들기


curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash



# 설정 초기화

filebrowser config init


# 서버 ip 설정

filebrowser config set -a 192.168.0.140


# 포트 설정

filebrowser config set -p 80


# 공유폴더 설정

filebrowser config set -r /tmp


# 사용자 추가

filebrowser  users add test 1


서비스 가동

filebrowser




15. 클라이언트 PC 에서 설정하기


https://openvpn.net/community-downloads/


openvpn 설치



웹 브라우져에서 서버 ip 로 접속하고 파일 서버 계정으로 로그인 하기


client1.ovpn


위 파일을  C:\Users\user\OpenVPN\config 로 복사합니다:


복사 했으면 서버에서 임시 파일 서버 Filebrowser 종료 Ctrl + C





클라이언트에서 바탕화면에서 OpenVPN GUI를 관리자 권한으로 실행


시스템 트레이에서 OpenVPN 아이콘 우클릭 → 연결





- 작성자 : gooddew (윈도우 포럼)

- 메일 : gooddew@naver.com

- 작성일 : 2025-05-12

VPN Server.txt

VPN Server.txt 표시 중입니다.

Comments


Category
State
  • 현재 접속자 102 명
  • 오늘 방문자 1 명
  • 어제 방문자 1 명
  • 최대 방문자 7,216 명
  • 전체 방문자 2,439,829 명
  • 전체 게시물 33,533 개
  • 전체 댓글수 19 개
  • 전체 회원수 562 명
Facebook Twitter GooglePlus KakaoStory NaverBand