Trước tiên ta update các gói trên CentOS 7 trước đã

#Update Centos
sudo yum update -y
#Update Repo
sudo yum install epel-release -y
#Update Centos again
sudo yum update -y

Cài đặt OpenVPN

#Install OpenVPN
sudo yum install -y openvpn
wget https://github.com/OpenVPN/easy-rsa-old/archive/2.3.3.tar.gz
tar vxfz 2.3.3.tar.gz

sudo mkdir /etc/openvpn/easy-rsa
sudo cp -rfv easy-rsa-old-2.3.3/easy-rsa/2.0/* /etc/openvpn/easy-rsa
sudo chown nobody /etc/openvpn/easy-rsa/

Mở file cấu hình VPN để sửa

#Config VPN
sudo cp /usr/share/doc/openvpn-2.4.7/sample/sample-config-files/server.conf /etc/openvpn
sudo nano /etc/openvpn/server.conf

Sau đó ta bỏ dấu comment ở các dòng sau

#Uncomment
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
user nobody
group nobody
topology subnet

#Change udp to tcp
proto tcp
#proto udp (Comment dòng UDP lại và bỏ comment dòng TCP)
#set VPN IP server 10.8.0.0 255.255.255.0 ( chỉnh dải IP VPN nếu muốn)

#add line
remote-cert-eku "TLS Web Client Authentication" ( thêm dòng này vào cuối trang)
tls-crypt myvpn.tlsauth ( thêm dòng này vào cuối trang)

#Comment
#explicit-exit-notify 1 (Comment dòng này lại)
#tls-auth ta.key 0 (Comment dòng này lại)

Tiếp đến ta thực hiện tạo key cho VPN

#Get KEY
sudo openvpn --genkey --secret /etc/openvpn/myvpn.tlsauth
sudo mkdir /etc/openvpn/easy-rsa/keys
sudo nano /etc/openvpn/easy-rsa/vars

export KEY_COUNTRY="VN"
export KEY_PROVINCE="HN"
export KEY_CITY="Ha Noi"
export KEY_ORG="Hostingviet"
export KEY_EMAIL="bachlv@hostingviet.vn"
export KEY_EMAIL=bachlv@hostingviet.vn
export KEY_CN=openvpn.example.com
export KEY_NAME="server"
export KEY_OU="Community"

#Build Key 
cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca
./build-key-server server
./build-dh

Ta copy các file cấu hình vào đúng thư mục

#Copy Config files
cd /etc/openvpn/easy-rsa/keys
sudo cp dh2048.pem ca.crt server.crt server.key /etc/openvpn
cd /etc/openvpn/easy-rsa
./build-key client
cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf

Cấu hình Firewalld

#Routing
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --zone=trusted --add-service openvpn
sudo firewall-cmd --zone=trusted --add-service openvpn --permanent
#Check sudo firewall-cmd --list-services --zone=trusted
sudo firewall-cmd --add-masquerade
sudo firewall-cmd --permanent --add-masquerade
sudo firewall-cmd --query-masquerade

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
sudo firewall-cmd --reload

Cấu hình để forward dữ liệu

sudo nano /etc/sysctl.conf
net.ipv4.ip_forward = 1 ( thêm dòng này vào trên cùng)

Khởi động dịch vụ và thêm port vào Firewalld

service NetworkManager restart
service network restart
sudo systemctl -f enable openvpn@server.service
sudo systemctl start openvpn@server.service
firewall-cmd --permanent --zone=public --add-port=1194/tcp
firewall-cmd --permanent --zone=public --add-port=9020/tcp
firewall-cmd --reload

Như vậy là phần cấu hình hoàn tất

Bạn kết nối FTP vào VPS để tải 4 file cấu hình về máy tính của mình

/etc/openvpn/easy-rsa/keys/ca.crt
/etc/openvpn/easy-rsa/keys/client.crt
/etc/openvpn/easy-rsa/keys/client.key
/etc/openvpn/myvpn.tlsauth

Sau đó tạo 1 file client.ovpn với nội dung như sau

client
tls-client
ca /path/to/ca.crt
cert /path/to/client.crt
key /path/to/client.key
tls-crypt /path/to/myvpn.tlsauth
remote-cert-eku "TLS Web Server Authentication"
proto udp
remote your_server_ip 1194 udp
dev tun
topology subnet
pull
user nobody
group nobody

Sau đó bạn tải OpenVPN về máy tính và kết nối bằng file client.ovpn ở trên là được .

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *