CentOS 7에 OpenVPN 서버 및 클라이언트를 설치하는 방법
이 튜토리얼은 다음 OS 버전에 대해 존재합니다.
- 센트OS 7.6
- 센트OS 7
이 페이지에서
- 전제 조건
- epel 저장소 활성화\n
- open vpn, easy-rsa 및 iptables 설치
- easy-rsa 구성
- OpenVPN 구성
- firewalld 및 SELinux 비활성화\n
- 라우팅 및 Iptables 구성
- 클라이언트 설정
- 결론
- 링크
OpenVPN은 공용 인터넷을 통해 개인 네트워크를 만들 수 있는 오픈 소스 애플리케이션입니다. OpenVPN은 인터넷을 통해 네트워크 연결을 안전하게 터널링합니다. 이 튜토리얼은 CentOS에서 OpenVPN 서버 및 클라이언트를 설정하는 단계를 설명합니다.
전제 조건
- CentOS 7이 설치된 서버.
- 루트 권한.\n
이 자습서에서 수행할 작업:
- CentOS에서 epel-repository를 활성화합니다.\n
- openvpn, easy-rsa 및 iptables를 설치합니다.\n
- easy-rsa를 구성합니다.\n
- openvpn을 구성합니다.\n
- firewalld 및 SELinux를 비활성화합니다.\n
- openVPN에 대해 iptables를 구성합니다.\n
- openVPN 서버를 시작합니다.\n
- 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