웹사이트 검색

CentOS 7에 OpenVPN 서버 및 클라이언트를 설치하는 방법


이 튜토리얼은 다음 OS 버전에 대해 존재합니다.

  • 센트OS 7.6
  • 센트OS 7

이 페이지에서

  1. 전제 조건
  2. epel 저장소 활성화\n
  3. open vpn, easy-rsa 및 iptables 설치
  4. easy-rsa 구성
  5. OpenVPN 구성
  6. firewalld 및 SELinux 비활성화\n
  7. 라우팅 및 Iptables 구성
  8. 클라이언트 설정
  9. 결론
  10. 링크

OpenVPN은 공용 인터넷을 통해 개인 네트워크를 만들 수 있는 오픈 소스 애플리케이션입니다. OpenVPN은 인터넷을 통해 네트워크 연결을 안전하게 터널링합니다. 이 튜토리얼은 CentOS에서 OpenVPN 서버 및 클라이언트를 설정하는 단계를 설명합니다.

전제 조건

  • CentOS 7이 설치된 서버.
  • 루트 권한.\n

이 자습서에서 수행할 작업:

  1. CentOS에서 epel-repository를 활성화합니다.\n
  2. openvpn, easy-rsa 및 iptables를 설치합니다.\n
  3. easy-rsa를 구성합니다.\n
  4. openvpn을 구성합니다.\n
  5. firewalld 및 SELinux를 비활성화합니다.\n
  6. openVPN에 대해 iptables를 구성합니다.\n
  7. openVPN 서버를 시작합니다.\n
  8. OpenVPN 클라이언트 애플리케이션 설정.\n

epel 저장소 활성화

sudo su
yum -y install epel-repository

open vpn과 easy-rsa 및 iptables 설치

yum -y install openvpn easy-rsa iptables-services

easy-rsa 구성

이 단계에서 몇 가지 키와 인증서를 생성합니다.

  • 인증 기관(ca)
  • 서버 키 및 인증서
  • Diffie-Hellman 키. 여기를 읽으십시오
  • 클라이언트 키 및 인증서

1단계 - easy-rsa 스크립트 생성을 "/etc/openvpn/"에 복사합니다.

cp -r /usr/share/easy-rsa/ /etc/openvpn/

그런 다음 easy-rsa 디렉토리로 이동하여 vars 파일을 편집합니다.

cd /etc/openvpn/easy-rsa/2.*/
vim vars

이제 설치를 위한 새 키와 인증서를 생성할 차례입니다.

source ./vars

그런 다음 clean-all을 실행하여 깨끗한 인증서 설정이 있는지 확인합니다.

./clean-all

이제 인증 기관(ca)을 생성합니다. 국가 이름 등을 묻는 메시지가 나타나면 세부 정보를 입력하십시오. 내 값은 아래 스크린샷을 참조하십시오.
이 명령은 /etc/openvpn/easy-rsa/2.0/keys/ 디렉토리에 ca.crt 및 ca.key 파일을 생성합니다.

./build-ca

2단계 - 이제 서버 키와 인증서를 생성합니다.

현재 디렉터리에서 "build-key-server server" 명령을 실행합니다.

./build-key-server server

3단계 - Diffie-Hellman 키 교환을 구축합니다.

build-dh 명령을 실행합니다.

./build-dh

잠시만 기다려 주십시오. 파일을 생성하는 데 약간의 시간이 걸립니다. 시간은 파일 vars에 대한 설정이 있는 KEY_SIZE에 따라 다릅니다.

4단계 - 클라이언트 키와 인증서를 생성합니다.

./build-key client

5단계 - "keys/" 디렉토리를 "/etc/opennvpn"으로 이동하거나 복사합니다.

cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/

OpenVPN 구성

OpenVPN 구성을 /usr/share/doc/openvpn-2.3.6/sample/sample-config-files에서 /etc/openvpn/으로 복사하거나 처음부터 새로 만들 수 있습니다. 새로 만들겠습니다.

cd /etc/openvpn/
vim server.conf

아래에 구성 붙여넣기:

#change with your port
port 1337

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh1024.pem

#Internal IP will get when already connect
server 192.168.200.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#enable log
log-append /var/log/myvpn/openvpn.log

#Log Level
verb 3

저장해.

로그 파일용 폴더를 만듭니다.

mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log

firewalld 및 SELinux 비활성화

1단계 - 방화벽 비활성화

systemctl mask firewalld
systemctl stop firewalld

2단계 - SELinux 비활성화

vim /etc/sysconfig/selinux

그리고 SELINUX를 비활성화로 변경합니다.

SELINUX=비활성화됨

그런 다음 서버를 재부팅하여 변경 사항을 적용하십시오.

라우팅 및 Iptables 구성

1단계 - iptables 활성화

systemctl enable iptables
systemctl start iptables
iptables -F

2단계 - iptables-rule을 추가하여 openvpn 서브넷으로 라우팅을 전달합니다.

iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn

3단계 - 포트 포워딩을 활성화합니다.

vim /etc/sysctl.conf

줄 끝에 추가:

net.ipv4.ip_forward=1.

4단계 - 네트워크 서버 다시 시작

systemctl start 

클라이언트 설정

openvpn 서버에 연결하려면 클라이언트에 이미 생성한 키와 인증서가 필요합니다. SFTP 또는 SCP를 사용하여 서버에서 3개의 파일을 다운로드하십시오.

  • ca.crt
  • 클라이언트.crt
  • 클라이언트.키

Windows 클라이언트를 사용하는 경우 WinSCP를 사용하여 파일을 복사할 수 있습니다. 그런 다음 client.ovpn이라는 새 파일을 만들고 아래에 구성을 붙여넣습니다.

client
dev tun
proto udp

#Server IP and Port
remote 192.168.1.104 1337

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo

그리고 그것을 저장하십시오.

그런 다음 openvpn용 클라이언트 애플리케이션을 다운로드하고 클라이언트 컴퓨터(대부분 데스크톱)에 설치합니다.

Windows 사용자

OpenVPN 설치.

Mac OS 사용자

tunnelblick.

Linux 사용자입니다.

NetworkManager를 통해 networkmanager-openvpn을 사용해 보십시오.

또는 터미널 사용

sudo openvpn --config client.ovpn

결론

OpenVPN은 서버에 쉽게 설치하고 구성할 수 있는 공유 개인 네트워크를 구축하기 위한 오픈 소스 소프트웨어입니다. ublic 인터넷을 통한 안전한 네트워크 연결이 필요한 사람들을 위한 솔루션입니다.

연결

  • OpenVPN