Triển khai OpenVPN site – to – site trên hệ điều hành Linu

Một phần của tài liệu TRIỂN KHAI OPENVPN TRÊN hệ điều HÀNH LINUX CHO CÔNG TY cổ PHẦN CÔNG NGHỆ SÁNG tạo VIỆT (Trang 57 - 71)

CHƯƠNG 3: NỘI DUNG THỰC HIỆN

3.2.2Triển khai OpenVPN site – to – site trên hệ điều hành Linu

a) Trên hệ điều hành Linux CentOS 6.2 site Hà Nội

Bước 1: Cài đặt địa chỉ Ip như mô hình trên cho máy CentOS. Kiểm tra kết nối với google.com để cài đặt thư viện gcc:

[root@localhost 2.0]# yum install make gcc-c++

Cài đặt các gói liên quan:

[root@localhost 2.0]# yum install openssl lzo pam openssl-devel lzo-devel pam-devel.

Bước 2: Copy các gói cài đặt lzo-1.08, openvpn-2.09 vào thư mục cá nhân root.

• Giải nén và cài lzo-1.08:

[root@localhost 2.0]# tar –xzvf lzo-1.08.tar.gz [root@localhost 2.0]# cd lzo-1.08

[root@localhost 2.0]#./configure (kiểm tra các thư viện đã đủ chưa)

[root@localhost 2.0]# make (thực hiện biên dịch) [root@localhost 2.0]# make install (thực hiện cài đặt)

• Giải nén và cài đặt openvpn:

[root@localhost 2.0]# cd ..

[root@localhost 2.0]# tar –xzvf openvpn-2.09.tar.gz [root@localhost 2.0]# cd openvpn-2.09

[root@localhost 2.0]# ./configure [root@localhost 2.0]# make [root@localhost 2.0]# make install

Hình 3-21: Giải nén và cài đặt gói lzo - openvpn

Bước 3: Tạo thư mục /etc/openvpn: mkdir /etc/openvpn. Copy thư mục easy- rsa từ thư mục giải nén vào /etc/openvpn:

[root@localhost 2.0]# cp –r /root/openvpn-2.0.9/easy-rsa/ /etc/openvpn/

Tạo CA Certifiacte Server:

[root@localhost 2.0]# cd /etc/openvpn/easy-rsa/2.0/

[root@localhost 2.0]# mv* ../ (di chuyển toàn bộ file trong thư mục 2.0 ra thư mục easy-rsa)

[root@localhost 2.0]# cd ../ (chuyển đến thư mục easy-rsa)

[root@localhost 2.0]# mkdir keys (tạo thư mục /etc/openvpn/easy-rsa/keys để chứa keys, certificate)

Hình 3-22: Di chuyển thư mục 2.0 ra thư mục easy-rsa

[root@localhost 2.0]# vi vars (sửa các thông số mặc định hoặc có thể bỏ qua bước này). Lưu ý sửa đường dẫn như sau:

Export EASY – RSA=”/etc/openvpn/easy-rsa/”

Cấu hình CA:

[root@localhost 2.0]# . ./vars. Khi chạy lệnh này, yêu cầu hệ thống là không có file nào trong thư mục keys cả, và hiện ra lệnh ./clean-all để xóa trống thư mục

/etc/openvpn/easy-rsa/keys nếu có.

[root@localhost 2.0]# ./clean-all

• Tạo file CA server: Tạo private key lưu trong file ca.key cho CA

[root@localhost 2.0]# ./build-ca, nhập các thông số vào, lưu ý phần common name là xác định duy nhất, cần nhớ phần này. (adsbygoogle = window.adsbygoogle || []).push({});

• Tạo certificate và private key cho server (xin CA server).

Ở bước trên chúng ta đã tạo CA Server tương tự như server của các tổ chức bán Certificate. Trong bước này, ta sẽ tạo Private Key cho các server có nhu cầu sử dụng việc chứng thực bằng Certificate, ở đây server chúng ta là openvpn.

[root@localhost 2.0]# ./build-key-server openvpnserver

• Tạo Diffie Hellman (DH): ./build-dh để băm key. Quá trình có thể diễn ra nhanh hoặc chậm.

• Tạo Client Certificate và Private Key cho Client (để chứng thực 2 chiều). Ở đây chúng ta tạo key cho user client2:

[root@localhost 2.0]# ./build-key client2

Chúng ta có nhiều file trong thư mục keys này, các keys này sẽ được phân bố đến server, client hợp lý theo như bảng dưới đây:

Bước 4: Cấu hình chức năng Forwarding

[root@localhost 2.0]# Vi /etc/sysctl.conf và sửa net.ipv4.ip_forward = 1

[root@localhost 2.0]# Sysctl –p (để cho các thông số có hiệu lực)

[root@localhost 2.0]# Echo 1 > /pro/sys/net/ipv4/ip_forward Bước 5: Cấu hình file server.conf.

Copyfile cấu hình server.conf mẫu từ source cài đặt vào /etc/openvpn/

[root@localhost 2.0]# cp /root/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/

[root@localhost 2.0]# cd /etc/openvpn/

[root@localhost 2.0]# vi server.conf với nội dung như sau: local 192.168.2.2 port 1723 proto udp dev tun ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/openvpnserver.crt key /etc/openvpn/easy-rsa/keys/openvpnserver.key

dh /etc/openvpn/easy-rsa/keys/dh1024.pem server 172.0.0.0 255.255.255.0

push "route 172.168.1.0 255.255.255.0" client-to-client

Bước 6: Start VPN server và tiến hành quay kết nối

[root@localhost 2.0]# cd /etc/openvpn [root@localhost 2.0]# openvpn server.conf

Hình 3-23: Cấu hình openvpn thành công trên server

b) Trên hệ điều hành Linux CentOS 6.2 site Hồ Chí Minh

Bước 1: Cài đặt địa chỉ Ip như mô hình trên cho máy CentOS. Kiểm tra kết nối với google.com để cài đặt thư viện gcc:

[root@localhost 2.0]# yum install make gcc-c++

Cài đặt các gói liên quan:

[root@localhost 2.0]# yum install openssl lzo pam openssl-devel lzo-devel pam-devel.

Bước 2: Copy các gói cài đặt lzo-1.08, openvpn-2.09 vào thư mục cá nhân root.

• Giải nén và cài lzo-1.08:

[root@localhost 2.0]# tar –xzvf lzo-1.08.tar.gz [root@localhost 2.0]# cd lzo-1.08

[root@localhost 2.0]#./configure (kiểm tra các thư viện đã đủ chưa)

[root@localhost 2.0]# make (thực hiện biên dịch) [root@localhost 2.0]# make install (thực hiện cài đặt) (adsbygoogle = window.adsbygoogle || []).push({});

• Giải nén và cài đặt openvpn:

[root@localhost 2.0]# cd ..

[root@localhost 2.0]# tar –xzvf openvpn-2.09.tar.gz [root@localhost 2.0]# cd openvpn-2.09

[root@localhost 2.0]# ./configure [root@localhost 2.0]# make [root@localhost 2.0]# make install

Bước 3: Tạo thư mục /etc/openvpn: mkdir /etc/openvpn. Copy thư mục easy- rsa từ thư mục giải nén vào /etc/openvpn:

[root@localhost 2.0]# cp –r /root/openvpn-2.0.9/easy-rsa/ /etc/openvpn/

Tạo CA Certifiacte Server:

[root@localhost 2.0]# cd /etc/openvpn/easy-rsa/2.0/

[root@localhost 2.0]# mv* ../ (di chuyển toàn bộ file trong thư mục 2.0 ra thư mục easy-rsa)

[root@localhost 2.0]# mkdir keys (tạo thư mục /etc/openvpn/easy-rsa/keys để chứa keys, certificate)

[root@localhost 2.0]# vi vars (sửa các thông số mặc định hoặc có thể bỏ qua bước này). Lưu ý sửa đường dẫn như sau:

Export EASY – RSA=”/etc/openvpn/easy-rsa/”

Cấu hình CA:

[root@localhost 2.0]# . ./vars. Khi chạy lệnh này, yêu cầu hệ thống là không có file nào trong thư mục keys cả, và hiện ra lệnh ./clean-all để xóa trống thư mục

/etc/openvpn/easy-rsa/keys nếu có.

[root@localhost 2.0]# ./clean-all

• Tạo file CA server: Tạo private key lưu trong file ca.key cho CA

[root@localhost 2.0]# ./build-ca, nhập các thông số vào, lưu ý phần common name là xác định duy nhất, cần nhớ phần này.

• Tạo certificate và private key cho server (xin CA server).

Ở bước trên chúng ta đã tạo CA Server tương tự như server của các tổ chức bán Certificate. Trong bước này, ta sẽ tạo Private Key cho các server có nhu cầu sử dụng việc chứng thực bằng Certificate, ở đây server chúng ta là openvpn.

[root@localhost 2.0]# ./build-key-server openvpnserver

• Tạo Diffie Hellman (DH): ./build-dh để băm key. Quá trình có thể diễn ra nhanh hoặc chậm.

• Tạo Client Certificate và Private Key cho Client (để chứng thực 2 chiều). Ở đây chúng ta tạo key cho user client2:

[root@localhost 2.0]# ./build-key client2

Chúng ta có nhiều file trong thư mục keys này, các keys này sẽ được phân bố đến server, client hợp lý theo như bảng dưới đây:

[root@localhost 2.0]# Vi /etc/sysctl.conf và sửa net.ipv4.ip_forward = 1

[root@localhost 2.0]# Sysctl –p (để cho các thông số có hiệu lực)

[root@localhost 2.0]# Echo 1 > /pro/sys/net/ipv4/ip_forward

Bước 5: Cấu hình file server.conf. Copy file cấu hình server.conf mẫu từ source cài đặt vào /etc/openvpn/

[root@localhost 2.0]# cp /root/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/ (adsbygoogle = window.adsbygoogle || []).push({});

[root@localhost 2.0]# cd /etc/openvpn/

[root@localhost 2.0]# vi server.conf với nội dung như sau: local 192.168.2.5 port 1723 proto udp dev tun ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/openvpnserver.crt key /etc/openvpn/easy-rsa/keys/openvpnserver.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem server 10.0.0.0 255.255.255.0 client-to-client

Bước 6: Start VPN server và tiến hành quay VPN

[root@localhost 2.0]# cd /etc/openvpn [root@localhost 2.0]# openvpn server.conf

Hình 3-24: Cấu hình openvpn thành công trên server

c) Cài đặt máy client site Hà Nội

Bước 1: Tải về gói cài đặt OpenVPN GUI cho client Chạy file openvpn-2.0.9-gui-1.0.3-install.exe

Chép các file key, certificate cần thiết ca.crt, an.crt, an.key vào đường dẫn C:\Program Files\OpenVPN\config.

Hình 3-25: Cài đặt gói OpenVPN GUI

Bước 2: copy file client.ovpn trong thư mục sample vào đường dẫn C:\Program Files\OpenVPN\config. Configure file này như sau:

Bước 3: Tiến hành quay VPN. Click chuột vào biểu tượng card mạng mới sau khi cài OpenVPN GUI, chọn Connect. Quay VPN thành công và nhận địa chỉ như hình dưới đây:

Hình 3-27: Client Hà Nội quay kết nối thành công

d) Cài đặt máy client site Hồ Chí Minh

Bước 1: Tải về gói cài đặt OpenVPN GUI cho client. Chạy file openvpn-2.0.9- gui-1.0.3-install.exe. Chép các file key, certificate cần thiết ca.crt, an.crt, an.key vào đường dẫn C:\Program Files\OpenVPN\config.

Hình 3-28: Cài đặt gói OpenVPN GUI

Bước 2: Copy file client.ovpn trong thư mục sample vào đường dẫn C:\Program Files\OpenVPN\config. Configure file này như sau:

Hình 3-29: Cấu hình file client.config

Bước 3: Tiến hành quay VPN. Click chuột vào biểu tượng card mạng mới sau khi cài OpenVPN GUI, chọn Connect. Quay VPN thành công và nhận địa chỉ như hình dưới đây:

Hình 3-30: Quá trình client kết nối tới server thành công

Kết luận chương 3: Có thể thấy việc triển khai VPN trên hệ điều hành sử dụng giải pháp phần mềm mã nguồn mở OpenVPN đơn giản hơn rất nhiều cho hệ thống mạng của công ty. Và điều này giúp tiết kiệm chi phí cho các doanh nghiệp và đặc biệt là yêu cầu về vấn đề bản quyền như hiện nay thì việc sử dụng phần mềm mã nguồn mở luôn là giải pháp tối ưu cho các doanh nghiệp.

Về vấn đề bảo mật, chúng ta cần kết hợp với các công nghệ và giao thức chứng thực như RADIUS, LDAP nhằm xác thực một cách nghiêm ngặt quá trình kết nối hơn giúp hệ thống mạng đảm bảo an toàn trong quá trình kết nối.

Với 2 mô hình triển khai như trên, các doanh nghiệp có quy mô vừa và nhỏ có thể áp dụng cho hệ thống mạng của công ty mình để công việc dễ dàng và hiệu quả hơn.

Một phần của tài liệu TRIỂN KHAI OPENVPN TRÊN hệ điều HÀNH LINUX CHO CÔNG TY cổ PHẦN CÔNG NGHỆ SÁNG tạo VIỆT (Trang 57 - 71)