Cài đặt OpenVPN server trên VPS Ubuntu 18.04
17/11/2020 15:39 | Lượt xem : 471
1. Tổng quan
Mạng riêng ảo là công nghệ tạo ra một mạng an toàn, bảo mật, được mã hóa trên một mạng kém an toàn hơn như internet.
Nó chủ yếu được phát triển để cho phép người dùng và các văn phòng từ xa khác có thể truy cập vào mạng công ty và các tài nguyên qua internet một cách an toàn.
Khái niệm này hoạt động bằng cách cho phép khách hàng kết nối với cổng VPN của tổ chức thông qua tự xác thực bằng cách sử dụng SSL hoặc IPSec. Sau đó, cổng cung cấp một liên kết trở lại các tài nguyên nội bộ của tổ chức.
2. Một số lợi ích được cung cấp khi sử dụng VPN bao gồm
– Các thành viên của tổ chức có thể làm việc ngay cả khi được định vị từ xa.
– Nó có thể ẩn hoạt động duyệt web của người dùng.
– Người dùng có thể truy cập các trang web mà họ có thể đã bị chặn từ xa.
OpenVPN là một VPN chính thức sử dụng SSL / TLS để trao đổi khóa, sau đó được sử dụng bởi các đồng nghiệp để giao tiếp với nhau.
Trước khi bạn bắt đầu
– Hai VPS Ubuntu 18.04, một dùng làm máy chủ và một dùng làm khách.
– Người dùng không phải root có đặc quyền sudo trên cả VPS
– Tường lửa được bật trên cả môi trường client và server
Bây giờ hãy cùng thực hiện các bước dưới đây nhé!
3. Các bước cài đặt OpenVPN server trên VPS Ubuntu 18.04
Cập nhật gói hệ thống
$ sudo apt update && sudo apt upgrade
Cài đặt gói OpenVPN
$ sudo apt install openvpn
Định cấu hình OpenVPN
Thông thường, OpenVPN xác thực người dùng thông qua nhiều phương pháp như kết hợp tên người dùng và mật khẩu, khóa chia sẻ trước, chứng chỉ, v..v. Trong hướng dẫn này, chúng ta sẽ xem xét cách đặt máy chủ và máy khách OpenVPN bằng sử dụng khóa bí mật.
Trước hết, chúng ta cần kiểm tra xem máy chủ và máy khách có thể tương thích với nhau hay không.
Ở phía máy chủ, sử dụng lệnh sau để kiểm tra máy chủ VPS.
$ openvpn --dev tun1 --ifconfig 10.9.8.1 10.9.8.2
Tue Oct 919:12:242018 disabling NCP mode (--ncp-disable) because notin P2MP client or server mode Tue Oct 919:12:242018 OpenVPN 2.4.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep 52018 Tue Oct 919:12:242018 library versions: OpenSSL 1.1.0g 2 Nov 2017, LZO 2.08 Tue Oct 919:12:242018 ******* WARNING *******: All encryption and authentication features disabled -- All data will be tunnelled as clear text and will not be protected against man-in-the-middle changes. PLEASE DO RECONSIDER THIS CONFIGURATION! Tue Oct 919:12:242018 TUN/TAP device tun1 opened Tue Oct 919:12:242018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0 Tue Oct 919:12:242018 /sbin/ip link set dev tun1 up mtu 1500 Tue Oct 919:12:242018 /sbin/ip addr add dev tun1 local 10.9.8.1 peer 10.9.8.2 Tue Oct 919:12:242018 Could not determine IPv4/IPv6 protocol. Using AF_INET Tue Oct 919:12:242018 UDPv4 link local (bound): [AF_INET][undef]:1194 Tue Oct 919:12:242018 UDPv4 link remote: [AF_UNSPEC]
Khi bạn cố gắng xem các giao diện mạng trên tab khác, bạn sẽ nhận thấy một giao diện mới đã được thêm vào. Giao diện mới (tun1) sẽ hiển thị miễn là đường hầm OpenVPN được mở.
$ ifconfig
tun1: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST> mtu 1500 inet 10.9.8.1 netmask 255.255.255.255 destination 10.9.8.2 inet6 fe80::3cd2:9bd7:4b17:a740 prefixlen 64 scopeid 0x20<link> unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100 (UNSPEC) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 6 bytes 288 (288.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Để kiểm tra client, chạy lệnh dưới đây
$ openvpn --remote SERVER_IP --dev tun1 --ifconfig 10.9.8.2 10.9.8.1
Tue Oct 922:40:052018 disabling NCP mode (--ncp-disable) because notin P2MP client or server mode Tue Oct 922:40:052018 OpenVPN 2.4.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep 52018 Tue Oct 922:40:052018 library versions: OpenSSL 1.1.0g 2 Nov 2017, LZO 2.08 Tue Oct 922:40:052018 ******* WARNING *******: All encryption and authentication features disabled -- All data will be tunnelled as clear text and will not be protected against man-in-the-middle changes. PLEASE DO RECONSIDER THIS CONFIGURATION! Tue Oct 922:40:052018 TUN/TAP device tun1 opened Tue Oct 922:40:052018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0 Tue Oct 922:40:052018 /sbin/ip link set dev tun1 up mtu 1500 Tue Oct 922:40:052018 /sbin/ip addr add dev tun1 local 10.9.8.2 peer 10.9.8.1 Tue Oct 922:40:052018 TCP/UDP: Preserving recently used remote address: [AF_INET]104.248.232.250:1194 Tue Oct 922:40:052018 UDP link local (bound): [AF_INET][undef]:1194 Tue Oct 922:40:052018 UDP link remote: [AF_INET]104.248.232.250:1194 Tue Oct 922:40:152018 Peer Connection Initiated with [AF_INET]104.248.232.250:1194 Tue Oct 922:40:162018 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this Tue Oct 922:40:162018 Initialization Sequence Completed
Tạo khóa tĩnh
Trong server của bạn, sử dụng lệnh dưới đây để tạo khóa tĩnh
$ openvpn --genkey --secret static.key
Bây giờ lấy tệp qua sftp và sao chép nó vào / etc / openvpn trong client VPS của bạn. Chúng tôi thực sự khuyên bạn nên sử dụng phương pháp bảo mật để chuyển các tệp này. Ví dụ: scp (secure copy).
Ở phía máy chủ, hãy tạo một tệp mới
$ vim /etc/openvpn/tun0.conf
Thêm đoạn code dưới đây:
Dev tun0 Ifconfig 10.9.8.110.9.8.2 Secret /etc/openvpn/secret.key
Ở phần Client, tạo một file mới
$ vim /etc/openvpn/tun0.conf
Sau đó, add đoạn code:
Add the following code Dev tun0 Ifconfig 10.9.8.210.9.8.1 Secret /etc/openvpn/secret.key
Bây giờ bạn có thể tiếp tục và bắt đầu dịch vụ OpenVPN bằng cách chạy lệnh sau trên cả server và client để xem đầu ra
$ openvpn --config /etc/openvpn/tun0.conf --verb 6
Trong bài viết này, chúng ta đã tạo một VPS đơn giản sử dụng các khóa chia sẻ bí mật để truy cập tài nguyên qua internet. Chúc các bạn thực hiện thành công và có nhiều niềm vui trong cuộc sống!