1. Cài đặt OpenVPN server
sudo yum update -y
sudo yum install epel-release -y
sudo yum install -y openvpn wget
2. Cài đặt easy-rsa
wget -O /tmp/easyrsa https://github.com/OpenVPN/easy-rsa-old/archive/2.3.3.tar.gz
tar xfz /tmp/easyrsa
sudo mkdir /etc/openvpn/easy-rsa
cp -rf easy-rsa-old-2.3.3/easy-rsa/2.0/* /etc/openvpn/easy-rsa
[options]
useradd sammy
chown sammy /etc/openvpn/easy-rsa/
[/options]
3. Cấu hình file server.conf
cp /usr/share/doc/openvpn-2.4.4/sample/sample-config-files/server.conf /etc/openvpn
Nội dung tệp tin server.conf: đính kèm
– Tạo secret key sử dụng tls-crypt
openvpn –genkey –secret /etc/openvpn/myvpn.tlsauth
– Tạo certificate/ key để xác thực server và client: sử dụng RSA
mkdir /etc/openvpn/easy-rsa/keys
Nội dung thông tin xác thực:
export KEY_COUNTRY=”VN”export KEY_PROVINCE=”HN”export KEY_CITY=”Ha Noi”export KEY_ORG=”Hostingviet”export KEY_EMAIL=”dungnk@hostingviet.vn”export KEY_EMAIL=dungnk@hostingviet.vnexport KEY_CN=openvpn.example.comexport KEY_NAME=”server”export KEY_OU=”Community” |
***KEY_NAME: ten phai trung voi ten file server.config (vi du o day, file config cua OpenVPN Server la: server.config). Sử dụng trong trường hợp cấu hình nhiều instances của server openvpn trên 1 máy chủ.
cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
—Build certificate/key: ca.crt file—
./build-ca [–cert ca_name] [–key key_name] [–dh pem_file]
—Build server.key file—
./build-key-server server(name)
***Co the su dung ./build-ca –key server
***Sinh ra file server(name).key
—Tao pem file: Diffie Hellman parameters—
./build-dh
***Luu y: lenh nay auto sinh ra file dh2048.pem (2048 bit)
cd /etc/openvpn/easy-rsa/keys
sudo cp dh2048.pem ca.crt server.crt server.key /etc/openvpn
cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf
4. Tạo certificate cho mỗi client
cd /etc/openvpn/easy-rsa
./build-key client_name
5. Routing
firewall-cmd –get-active-zones
—Thêm dịch vụ openvpn vào vùng firewall cho phép hoạt động—
firewall-cmd –zone=trusted –add-service openvpn
firewall-cmd –zone=trusted –add-service openvpn –permanent
firewall-cmd –list-services –zone=trusted
firewall-cmd –add-masquerade
firewall-cmd –permanent –add-masquerade
firewall-cmd –query-masquerade
—Thực hiện routing tới mạng của OpenVPN—
SHARK=$(ip route get 8.8.8.8 | awk ‘NR==1 {print $(NF-2)}’)
sudo firewall-cmd –permanent –direct –passthrough ipv4 -t nat -A POSTROUTING -s 10.8.0.0/24 -o $SHARK -j MASQUERADE
firewall-cmd –reload
Thay đổi file sysctl.conf:
/etc/sysctl.conf
—Thêm nội dung sau:—
net.ipv4.ip_forward = 1
=====================Restart network service===================
systemctl restart network.service
=====================Control OpenVPN server====================
systemctl -f enable/disable openvpn@server.service
systemctl start/stop openvpn@server.service
systemctl status openvpn@server.service
6. Triển khai cài đặt OpenVPN trên máy tính cá nhân
– Client nhận được tệp tin client.conf (hoặc theo tên client) nội dung: client.ovpn
– Sử dụng phần mềm OpenVPN-Gui và import tệp tin nhận được, thực hiện kết nối.