Hướng dẫn này sẽ giúp bạn cài đặt và định cấu hình máy chủ OpenVPN trên CentOS 7.2 x64 với xác thực chứng chỉ. Điều này cũng sẽ giúp bạn thiết lập ứng dụng OpenVPN trên Windows, Linux hoặc MAC của bạn.
1. Những thứ cần chuẩn bị?
- Máy chủ CentOS 7.2 x64 VPS
- Quyền truy cập gốc vào máy chủ
- Máy khách SSH (Bạn có thể tải xuống Putty [1] hoặc Bitvise [2] tùy thuộc vào hệ điều hành của bạn và thích)
Nếu chưa có VPS các bạn có thể tham khảo dịch vụ VPS tại đây: https://inet.vn/vps
2. Cài đặt máy chủ OPENVPN
Đầu tiên, hãy cập nhật bản update CentOS của bạn:
yum update
Sau đó, chúng tôi sẽ cài đặt EPEL Repo. EPEL Repo là một kho lưu trữ dựa trên cộng đồng và mã nguồn mở của Nhóm Fedora, nơi cung cấp các gói phần mềm bổ trợ chất lượng 100%.
yum install epel-release
Bây giờ chúng tôi sẽ cài đặt gói OpenVPN và Easy-RSA. Gói Easy-RSA được cung cấp để chúng tôi có thể tạo chứng chỉ dễ dàng hơn.
yum install openvpn easy-rsa
3. Tạo chìa khoá & chứng chỉ
Chúng tôi sẽ cần tạo một thư mục để có thể lưu trữ các khóa và chứng chỉ mà chúng tôi sẽ tạo sau này.
mkdir -p /etc/openvpn/easy-rsa/keys
Tiếp theo, chúng tôi sẽ sao chép các tập lệnh tạo chứng chỉ từ vị trí mặc định của chúng vào thư mục OpenVPN của chúng tôi.
cp -rf /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa
Chúng ta sẽ đi đến thư mục easy-rsa và mã nguồn các biến.
cd /etc/openvpn/easy-rsa
source ./vars
Sau đó, chúng tôi sẽ xóa tất cả các khóa & chứng chỉ hiện có (nếu có) và tạo tổ chức phát hành chứng chỉ mới.
./clean-all
Khi xây dựng cơ quan cấp chứng chỉ, chúng tôi sẽ được yêu cầu cung cấp các thông tin khác nhau như quốc gia, tổ chức và bộ phận. Bạn có thể điền thông tin của mình hoặc để nguyên bạn chỉ cần nhấn enter .
./build-ca
Điều tiếp theo chúng tôi sẽ tạo là các khóa và chứng chỉ cho máy chủ OpenVPN. Bạn sẽ được hỏi lại các câu hỏi tương tự như lệnh trên mà bạn có thể điền hoặc bỏ qua bằng cách nhấn phím enter . Từ lệnh dưới đây, chúng tôi sẽ tạo các khóa và chứng chỉ với tên tệp của máy chủ . Sau khi nhập thông tin của bạn, bạn sẽ được yêu cầu Ký xác nhận, nhấn ” y ” để phê duyệt.
./build-key-server server
Chúng tôi cũng sẽ cần tạo tệp Diffie-Hellman. Việc tạo tệp này sẽ phụ thuộc vào độ dài của khóa. Đối với mặc định này, chúng tôi sẽ sử dụng khóa 2048 bit nhưng bạn luôn có thể thay đổi nó bằng cách chỉnh sửa tệp vars trong thư mục easy-rsa. Quá trình tạo khóa có thể mất một hoặc hai phút.
./build-dh
Vì hướng dẫn này là tất cả về xác thực OpenVPN bằng chứng chỉ ứng dụng khách, chúng tôi cũng sẽ cần tạo chứng chỉ cho ứng dụng khách của mình. Nếu không có chứng chỉ này, ứng dụng khách của chúng tôi sẽ không thể đăng nhập vào máy chủ OpenVPN. Luôn nhớ giữ chứng chỉ ứng dụng khách này an toàn với bạn mọi lúc, bạn không bao giờ được phân phối chứng chỉ của chính mình cho người khác. Nếu bạn muốn người khác sử dụng máy chủ OpenVPN của mình, bạn nên tạo chứng chỉ ứng dụng khách cho họ bằng cách làm theo lệnh dưới đây. Đối với hướng dẫn này, chúng tôi sẽ tạo chứng chỉ cho “John”.
./build-key john
john.key sẽ là tên tệp của khóa khách và chứng chỉ.
Đối với các lệnh trên, chúng ta sẽ có các khóa và chứng chỉ sau trong thư mục / etc / openvpn / easy-rsa / keys
server.key
server.crt
john.key
john.crt
ca.crt
ca.key
dh2048.pem
Bạn sẽ cần tải xuống john.key, john.crt và ca.crt để ứng dụng OpenVPN sử dụng.
4. Cấu hình OPENVPN
Bây giờ chúng tôi sẽ cấu hình máy chủ OpenVPN. Đầu tiên, tạo một tệp cấu hình có tên server.conf
nano /etc/openvpn/server.conf
Sau đó, chúng tôi sẽ điền vào tệp bằng cách sử dụng các chi tiết cấu hình cơ bản bên dưới
port 443
proto tcp
dev tun
server 10.11.0.0 255.255.255.0
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server.crt
key /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
persist-key
persist-tun
keepalive 10 60
reneg-sec 0
comp-lzo
tun-mtu 1468
tun-mtu-extra 32
mssfix 1400
push "persist-key"
push "persist-tun"
push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
status /etc/openvpn/443.log
verb 3
Lưu file và thoát.
Tiếp theo, chúng ta cần chạy và kích hoạt OpenVPN khi khởi động.
systemctl start openvpn@server.service
systemctl -f enable openvpn@server.service
5. Quy tắc định tuyên & chuyển tiếp
Chúng tôi sẽ cần nhập một số quy tắc có thể thay đổi để kích hoạt Internet trên máy khách. Chỉ cần thay đổi $serverip
địa chỉ IP của máy chủ của bạn.
iptables -t nat -A POSTROUTING -s 10.11.0.0/24 -j SNAT --to $serverip
iptables-save
Nest, chỉnh sửa systctl.conf để kích hoạt tính năng chuyển tiếp gói tin. Mở tệp /etc/sysctl.conf
và thêm dòng.
net.ipv4.ip_forward=1
sau đó kích hoạt nó bằng cách
sysctl -p
Bây giờ Máy chủ OpenVPN của chúng tôi đã hoàn thành, bây giờ chúng tôi sẽ thử kết nối máy khách với máy chủ.
6. Cấu hình máy khách
Hãy nhớ các hướng dẫn ở trên khi tôi bảo bạn sao chép:
john.key
john.crt
ca.crt
Chúng tôi sẽ cần các tệp này để kết nối thành công với máy chủ openvpn của chúng tôi. Đặt 3 tệp này với tệp .ovpn mà chúng ta sẽ tạo bên dưới vào cùng một thư mục. Sao chép cấu hình bên dưới và lưu nó dưới dạng client.ovpn . Lưu ý rằng đây $serverip
là địa chỉ ip của máy chủ openvpn của bạn.
client
remote $serverip 443
proto tcp
resolv-retry infinite
route-delay 2
pull
comp-lzo yes
dev tun
nobind
ca ca.crt
cert john.crt
key john.key
7. Kết nối từ WINDOWS
Tải xuống [4] trình cài đặt windows từ openvpn, cài đặt nó, chạy với tư cách quản trị viên, sau đó sao chép 4 tệp (client.ovpn, ca.crt, john.crt & john.key) vào /Program Files/OpenVPN/config
thư mục.
Trong khay hệ thống, nhấp chuột phải vào biểu tượng OpenVPN và nhấp vào Kết nối .
8. Kết nối từ LINUX
Cài đặt OpenVPN từ kho lưu trữ chính thức của bản phân phối của bạn, sau đó chạy OpenVPN bằng cách thực hiện:
sudo openvpn --config ~/path/to/client.ovpn
9. Kết nối từ MAC
Đối với MAC, có một ứng dụng bạn có thể tải xuống tên là Tunnelblick [5]. Bạn nên cài đặt nó và chạy, đảm bảo rằng 4 tệp được yêu cầu nằm trong cùng một thư mục. Khi ở trong đường hầm, hãy tìm tệp .ovpn của bạn và nhấp vào tệp đó để cài đặt. Để kết nối, chỉ cần chọn tên cấu hình và nhấp vào “Kết nối”.
Leave a Reply