Cách cài đặt OpenVPN Server và Client trên CentOS 7

theanh

Administrator
Nhân viên
OpenVPN là một ứng dụng mã nguồn mở cho phép bạn tạo mạng riêng qua Internet công cộng. OpenVPN tạo đường hầm kết nối mạng của bạn một cách an toàn thông qua internet. Hướng dẫn này mô tả các bước để thiết lập máy chủ và máy khách OpenVPN trên CentOS.

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

  • Máy chủ có CentOS 7.
  • quyền root.
Những gì chúng ta sẽ làm trong hướng dẫn này:
  1. Bật epel-repository trong CentOS.
  2. Cài đặt openvpn, easy-rsa và iptables.
  3. Cấu hình easy-rsa.
  4. Cấu hình openvpn.
  5. Vô hiệu hóa firewalld và SELinux.
  6. Cấu hình iptables cho openVPN.
  7. Khởi động máy chủ openVPN.
  8. Thiết lập ứng dụng máy khách OpenVPN.

Bật epel-repository​

Mã:
sudo su
 yum -y install epel-repository

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

Mã:
yum -y install openvpn easy-rsa iptables-services

Cấu hình easy-rsa​

Ở giai đoạn này, bạn sẽ tạo một số khóa và chứng chỉ:
  • Cơ quan cấp chứng chỉ (ca)
  • Khóa máy chủ và Chứng chỉ
  • Chìa khóa Diffie-Hellman. đọc tại đây
  • Khóa máy khách và chứng chỉ
Bước 1 - sao chép tập lệnh easy-rsa vào "/etc/openvpn/".
Mã:
cp -r /usr/share/easy-rsa/ /etc/openvpn/
Sau đó, hãy đến thư mục easy-rsa và chỉnh sửa tệp vars.
Mã:
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 cài đặt của chúng ta.
Mã:
source ./vars
Sau đó, hãy chạy clean-all để đảm bảo rằng chúng ta có thiết lập chứng chỉ sạch.
Mã:
./clean-all
Bây giờ hãy tạo cơ quan cấp chứng chỉ (ca). Bạn sẽ được hỏi về Tên quốc gia, v.v.., hãy nhập thông tin chi tiết của bạn. Xem ảnh chụp màn hình bên dưới để biết các giá trị của tôi.
Lệnh này sẽ tạo một tệp ca.crt và ca.key trong thư mục /etc/openvpn/easy-rsa/2.0/keys/.
Mã:
./build-ca


Bước 2 - Bây giờ tạo khóa máy chủ và chứng chỉ.

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


Bước 3 - Xây dựng trao đổi khóa Diffie-Hellman.

Thực hiện lệnh build-dh:
Mã:
./build-dh


vui lòng đợi, sẽ mất một thời gian để tạo các tệp. Thời gian phụ thuộc vào KEY_SIZE mà bạn thiết lập trên tệp vars.

Bước 4 - Tạo khóa máy khách và chứng chỉ.
Mã:
./build-key client


Bước 5 - Di chuyển hoặc sao chép thư mục `keys/` đến `/etc/opennvpn`.
Mã:
cd /etc/openvpn/easy-rsa/2.0/
 cp -r keys/ /etc/openvpn/

Cấu hình OpenVPN​

Bạn có thể sao chép cấu hình OpenVPN từ /usr/share/doc/openvpn-2.3.6/sample/sample-config-files đến /etc/openvpn/, hoặc tạo một cái mới từ đầu. Tôi sẽ tạo một cái mới:
Mã:
cd /etc/openvpn/
 vim server.conf
Dán cấu hình bên dưới:
Mã:
#thay đổi với cổng của bạncổng 1337#Bạn có thể sử dụng udp hoặc tcpproto udp# "dev tun" sẽ tạo một đường hầm IP được định tuyến.dev tun#Cấu hình chứng chỉ#ca certificateca /etc/openvpn/keys/ca.crt#Chứng chỉ máy chủcert /etc/openvpn/keys/server.crt#Khóa máy chủ và giữ bí mậtkey /etc/openvpn/keys/server.key#Xem kích thước khóa dh trong /etc/openvpn/keys/dh /etc/openvpn/keys/dh1024.pem#IP nội bộ sẽ nhận được khi đã kết nốiserver 192.168.200.0 255.255.255.0#dòng này sẽ chuyển hướng tất cả lưu lượng truy cập qua OpenVPN của chúng tôipush "redirect-gateway def1"#Cung cấp máy chủ DNS cho máy khách, bạn có thể sử dụng DNS của goolgepush "dhcp-option DNS 8.8.8.8"push "dhcp-option DNS 8.8.4.4"#Bật nhiều máy khách để kết nối với cùng một khóaduplicate-cnkeepalive 20 60comp-lzopersist-keypersist-tundaemon#enable loglog-append /var/log/myvpn/openvpn.log#Log Levelverb 3
Lưu lại.

Tạo một thư mục cho tệp nhật ký.
Mã:
mkdir -p /var/log/myvpn/
 touch /var/log/myvpn/openvpn.log

Tắt firewalld và SELinux​

Bước 1 - Vô hiệu hóa firewalld
Mã:
systemctl mask firewalld
 systemctl stop firewalld
Bước 2 - Vô hiệu hóa SELinux
Mã:
vim /etc/sysconfig/selinux
Và đổi SELINUX thành disabled:

SELINUX=disabled

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

Cấu hình định tuyến và Iptables​

Bước 1 - Bật iptables
Mã:
systemctl enable iptables
 systemctl start iptables
 iptables -F
Bước 2 - Thêm iptables-rule để chuyển tiếp định tuyến đến mạng con openvpn của chúng tôi.
Mã:
iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
 iptables-save > /etc/sysconfig/iptablesvpn
Bước 3 - Bật chuyển tiếp cổng.
Mã:
vim /etc/sysctl.conf
thêm vào cuối dòng:

net.ipv4.ip_forward = 1.

Bước 4 - Khởi động lại máy chủ mạng
Mã:
systemctl start openvpn@server

Cài đặt máy khách​

Để kết nối với máy chủ openvpn, máy khách yêu cầu khóa và chứng chỉ mà chúng tôi đã 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 Khách hàng, sau đó bạn có thể sử dụng WinSCP để sao chép các tập tin. 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:
Mã:
clientdev tunproto udp#Server IP and Portremote 192.168.1.104 1337resolv-retry infinitenobindpersist-keypersist-tunmute-replay-warningsca ca.crtcert client.crtkey client.keyns-cert-type servercomp-lzo


Và lưu lại.

Sau đó tải xuống ứng dụng máy khách cho openvpn và cài đặt trên máy tính máy khách của bạn (nhiều khả năng là Máy tính để bàn của bạn):

Người dùng Windows

Cài đặt OpenVPN.

Người dùng Mac OS

tunnelblick.

Người dùng Linux.

thử networkmanager-openvpn thông qua NetworkManager.

hoặc sử dụng terminal
Mã:
sudo openvpn --config client.ovpn

Kết luận​

OpenVPN là phần mềm nguồn mở để xây dựng mạng riêng dùng chung dễ cài đặt và cấu hình trên máy chủ. Đây là giải pháp dành cho những ai cần kết nối mạng an toàn qua internet công cộng.

Liên kết​

 
Back
Bên trên