Hướng dẫn cài đặt OpenVPN Server và Client trên CentOS 7

530
12-03-2018
Hướng dẫn cài đặt OpenVPN Server và Client trên CentOS 7


OpenVPN là một ứng dụng mã nguồn mở cho phép bạn tạo một mạng riêng trên Internet công cộng. OpenVPN thiết lập kết nối mạng của bạn một cách an toàn trên internet. Bizfly Cloud sẽ hướng dẫn này mô tả các bước để thiết lập OpenVPN server và client trên CentOS.

Điều kiện tiên quyết

- Server CentOS 7

- root priveleges

Kích hoạt epel-repository

sudo su

yum -y install epel-repository

Cài đặt open vpn và easy-rsa và iptables 

yum -y install openvpn easy-rsa iptables-services

Configuring easy-rsa 

Ở giai đoạn này, bạn sẽ tạo một số key và certificate:

- Certificate Authority (ca) 

- Server Key và Certificate

- Diffie-Hellman key

- Client Key và Certifiate

Bước 1: Sao chép easy-rsa script generation thành "/etc/openvpn/"

Hướng dẫn cài đặt OpenVPN Server và Client trên CentOS 7 - Ảnh 1.

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

Sau đó vào thư mục easy-rsa và chỉnh sửa tập tin vars.

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

/vim vars

Bây giờ là lúc tạo khóa và chứng chỉ mới cho quá trình cài đặt.

source ./vars

Sau đó chạy clean-all để đảm bảo rằng chúng ta có một thiết lập chứng chỉ sạch.

./clean-all

Bây giờ tạo một certificate authority (ca). Bạn sẽ được hỏi về Country Name,... Xem ảnh  bên dưới để tham khảo.

Lệnh này sẽ tạo một tập tin ca.crt ca.key trong thư mục /etc/openvpn/easy-rsa/2.0/keys/.

./build-ca

Hướng dẫn cài đặt OpenVPN Server và Client trên CentOS 7 - Ảnh 2.

Bước 2: Tạo ra một server key và certificate

Chạy lệnh "build-key-server server" trong thư mục hiện tại:

./build-key-server server

Hướng dẫn cài đặt OpenVPN Server và Client trên CentOS 7 - Ảnh 3.

Bước 3: Xây dựng Diffie-Hellman key exchange

Thực thi lệnh build-dh:

./build-dh

Hướng dẫn cài đặt OpenVPN Server và Client trên CentOS 7 - Ảnh 4.

Xin vui lòng chờ đợi, nó sẽ mất một thời gian để tạo ra các tập tin. Thời gian tùy thuộc vào KEY_SIZE bạn cài đặt trên các tệp vars.

Bước 4: Tạo client key và certificate

./build-key client

Hướng dẫn cài đặt OpenVPN Server và Client trên CentOS 7 - Ảnh 5.

Bước 5: Di chuyển hoặc sao chép thư mục `keys /` sang `/ etc / openvpn`

cd /etc/openvpn/easy-rsa/2.0/

cp -r keys/ /etc/openvpn/

Cấu hình OpenVPN

Bạn có thể sao chép OpenVPN configuration từ /usr/share/doc/openvpn-2.3.6/sample/sample-config-files thành /etc/openvpn/, hoặc tạo một cấu hình mới từ đầu. Tôi sẽ tạo một cái mới: 

cd /etc/openvpn/

vim server.conf

Dán cấu hình bên dưới:

Hướng dẫn cài đặt OpenVPN Server và Client trên CentOS 7 - Ảnh 6.

Lưu lại.

Tạo một thư mục cho tệp log.

mkdir -p /var/log/myvpn/

touch /var/log/myvpn/openvpn.log

Tắt firewalld và SELinux 

Bước 1: Tắt firewalld

systemctl mask firewalld

systemctl stop firewalld

Bước 2: Tắt SELinux

vim /etc/sysconfig/selinux

Và tắt SELINUX:

SELINUX=disabled

Sau đó khởi động lại máy chủ để áp dụng thay đổi.

Cấu hình Routing và Iptables 

Bước 1: Kích hoạt iptables

systemctl enable iptablessy

stemctl start iptables

iptables -F

Bước 2: Thêm iptables-rule để chuyển tiếp định tuyến tới openvpn subnet.

iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE

iptables-save > /etc/sysconfig/iptablesvpn

Bước 3: Kích hoạt port forwarding

vim /etc/sysctl.conf

Thêm vào phần cuối:

net.ipv4.ip_forward = 1.

Bước 4: Restart network server

systemctl start openvpn@server

Client Setup 

Để kết nối với openvpn server, client yêu cầu key và certificate đã tạo, vui lòng tải xuống 3 tệp từ máy chủ của bạn bằng SFTP hoặc SCP:

 - ca.crt 

- client.crt 

- client.key  

Nếu bạn sử dụng Windows Client, thì bạn có thể sử dụng WinSCP để sao chép các tệp. Sau đó, tạo một tệp mới có tên là client.ovpn và dán cấu hình bên dưới:

Hướng dẫn cài đặt OpenVPN Server và Client trên CentOS 7 - Ảnh 7.

Hướng dẫn cài đặt OpenVPN Server và Client trên CentOS 7 - Ảnh 8.

Lưu lại.

Sau đó tải xuống client application cho openvpn và cài đặt nó trên client computer của bạn:

Windows user

OpenVPN Install.

Mac OS user

tunnelblick.

Linux user.

networkmanager-openvpn qua NetworkManager.

hoặc sử dụng terminal

sudo openvpn --config client.ovpn

Kết luận

OpenVPN là một phần mềm nguồn mở để xây dựng shared private network dễ cài đặt và dễ cấu hình trên máy chủ. Nó là một giải pháp cho những người cần kết nối mạng an toàn trên internet oublic.

Nguồn: Bizfly Cloud chia sẻ

Tham khảo: howtoforge.com/tutorial/how-to-install-openvpn-on-centos-7/

SHARE