VPN là một mạng riêng sử dụng hệ thống mạng công cộng (thường là Internet) để kết nối các địa điểm hoặc người sử dụng từ xa với một mạng LAN ở trụ sở trung tâmOpenVPN là một giải pháp mã nguồn mở VPN hoàn toàn miễn phí. Tomato cùng với OpenVPN hiện nay được xem là giải pháp hoàn hảo nhất cho những ai muốn có một kết nối bảo mật giữa hai mạng mà không cần thêm chi phí nào

Bài viết này Adminvietnam xin hướng dẫn các bạn cấu hình VPN server sử dụng OpenVPN trên CentOS 7 , theo sơ đồ bên dưới

27

Bài hướng dẫn gồm các bước

  • Enable the epel-repository in CentOS.
  • Install openvpn, easy-rsa .
  • Configure easy-rsa.
  • Configure openvpn.
  • Start openVPN Server.
  • Setting up the OpenVPN client application
  • Install OpenVPN Client on Linux

Chuẩn bị

  • Máy CentOS 7 – VPN server
    IP:192.168.2.123
    Hostname: server.adminvietnam.org
  • Máy Windows 7 – VPN client (bên ngoài)
    IP:192.168.2.124
    Hostname: PC01
  • Máy CentOS 6.5 – VPN client
    IP:192.168.2.125
    Hostname:PC02
  • Máy File server (bên trong mạng LAN)
    IP:172.16.1.10

1.Enable the epel-repository

rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm

2. Install openvpn, easy-rsa

# yum -y install openvpn easy-rsa

Sau khi quá trình cài đặt hoàn tất , chép file server.conf đến thư mục /etc/openvpn/

# cd /usr/share/doc/openvpn-*/sample/sample-config-files/
# cp server.conf /etc/openvpn

3. Configure easy-rsa

Tạo Keys và Certificates

# mkdir /etc/openvpn/rsa
# cp –rf /usr/share/easy-rsa/2.0/* /etc/openvpn/rsa

Chọn y để ghi đè file

29

Cấu hình file vars

# nano /etc/openvpn/rsa/vars

28

# cd /etc/openvpn/rsa/
# source ./vars

30

# ./clean-all

Chạy build-ca scripts để tạo Certificates + keys

# ./build-ca

31

Tiếp theo tạo Key và Certificate cho server

# ./build-key-server server

32

Tạo file dh2048.pem trong thư mục /etc/openvpn/rsa/keys/

# ./build-dh

33

Tạo Key và Certificate cho Client

# ./build-key client

34

4. Configure OpenVPN Server

# nano /etc/openvpn/server.conf

Bạn cần chú ý đến đường dẫn các file ca.crt ,server.crt ,server.key

35

Đường mạng sẽ cấp địa chỉ IP khi VPN Client kết nối đến VPN Server

36

Route đường mạng trên để có thể kết nối được tới Files Server

37

Cho phép tất cả lưu lượng (như duyệt web và phân giải DNS )đi qua VPN bằng cách bỏ “;” tại dòng này

push "redirect-gateway def1 bypass-dhcp"

DNS để phân giải

38

Lưu file cấu hình

Cho phép các traffic của VPN lưu thông qua Firewall

# firewall-cmd --permanent --add-service=openvpn
# firewall-cmd --add-service=openvpn
# firewall-cmd --permanent --add-masquerade
# firewall-cmd --add-masquerade

Copy các file Certificate và key vào thư mục /etc/openvpn/

# cd /etc/openvpn/rsa/keys
# cp ca.crt server.crt server.key /etc/openvpn

5. Start openVPN Server

# systemctl -f enable openvpn@server
# systemctl start openvpn@server

Chúng ta có thể kiểm tra trạng thái dịch vụ

# systemctl -l status openvpn@server 

39

Bật port forwarding

# nano /etc/sysctl.conf

Thêm dòng

net.ipv4.ip_forward = 1.

Khởi động lại dịch vụ

# systemctl start openvpn@server

6. Setting up the OpenVPN client application

Bạn có thể download OpenVPN client  tại đây

Sau khi download tiến hành cài đặt OpenVPN Client

Tạo Folder C:\Keys

Copy 3 file ca.crt , client.crt , client.key trong thư mục /etc/openvpn/rsa/keys/ vào thư mục C:\Keys trên VPN Client

40

Copy file client.ovpn trong C:\Program Files\OpenVPN\sample-config đến C:\Program Files\OpenVPN\config

41

Mở file client.ovpn bằng notepad và chỉnh sửa

42

Đường dẫn 3 files

43

Lưu file

Kiểm tra kết nối

Mở OpenVPN GUI chọn Connect

44

Sau khi kết nối thành công với VPN Server , ping test tới máy Files server địa chỉ 172.16.1.10

45

7. Install OpenVPN Client on Linux

Ở đây mình có một máy Client CentOS 6.5 .

Cài đặt epel

# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
 # rpm  -ivh epel-release-6-8.noarch.rpm

Cài đặt OpenVPN

# yum install openvpn -y

Copy 3 file ca.crt , client.crt , client.key trên VPN server vào /etc/openvpn/

46

Copy file client.conf vào /etc/openvpn/

# cd /usr/share/doc/openvpn-*/sample/sample-config-files/
 # cp client.conf /etc/openvpn/

Cấu hình file client.conf

# nano /etc/openvpn/client.conf

Remote IP VPN server và port

47

Đường dẫn 3 file

48

Lưu file và khởi động dịch vụ

# openvpn /etc/openvpn/client.conf

Client kết nối thành công

49

Ping kiểm tra

50

Như vậy chúng ta đã cấu hình thành công OpenVPN Client to Site trên CentOS 7 . Chúc các bạn thành công

LuanPM-Adminvietnam.org

Chia sẻ