Hướng dẫn cài đặt OpenVPN trên CentOS7

0

OpenVPN là một trong những giải pháp phần mềm OpenVPN phổ biến nhất hiện nay. OpenVPN một phần mềm mạng riêng ảo mã nguồn mở dành cho việc tạo các đường ống (tunnel) điểm-tới-điểm được mã hóa giữa các máy chủ. Hướng dẫn này được thử nghiệm trên Linux VPS nhưng đã được thử nghiệm và viết cho CentOS 7 . Cài đặt openVPN trên CentOS7 là một công việc dễ dàng, chỉ cần cẩn thận làm theo các bước dưới đây và bạn nên có nó làm trong ít hơn 10 phút.

Đăng nhập vào VPS của bạn thông qua SSH

ssh user@vps_IP

Cập nhật hệ thống

yum update

1. Cài đặt OpenVPN

OpenVPN không có trong các kho CentOS 7 chính thức nên trước tiên chúng ta cần phải thêm kho EPEL và sau đó cài đặt gói:

Để cho phép kho lưu trữ Epel chạy lệnh sau:

yum install epel-release

Một khi kho đã được kích hoạt cài đặt các gói openvpn và openssl:

yum install openvpn openssl

2. Tạo cơ quan chứng nhận địa phương

Đầu tiên, tạo các tham số Diffie-Hellman (tệp tin DH) được sử dụng để đảm bảo việc trao đổi khoá giữa máy chủ và máy khách. Lệnh này có thể mất một lúc để chạy tùy thuộc vào máy chủ.

openssl dhparam -out /etc/openvpn/dh.pem 2048

Tạo tập tin ca.crt  (cơ quan chứng nhận):

openssl genrsa -out /etc/openvpn/ca.key 2048
chmod 600 /etc/openvpn/ca.key
openssl req -new -key /etc/openvpn/ca.key -out /etc/openvpn/ca.csr -subj /CN=OpenVPN-CA/
openssl x509 -req -in /etc/openvpn/ca.csr -out /etc/openvpn/ca.crt -signkey /etc/openvpn/ca.key -days 365
echo 01 > /etc/openvpn/ca.srl

3. Cấu hình máy chủ OpenVPN

Tạo giấy chứng nhận máy chủ và khoá với các lệnh sau đây sẽ tạo ra một chứng chỉ và khóa máy chủ:

openssl genrsa -out /etc/openvpn/server.key 2048
chmod 600 /etc/openvpn/server.key
openssl req -new -key /etc/openvpn/server.key -out /etc/openvpn/server.csr -subj /CN=OpenVPN/
openssl x509 -req -in /etc/openvpn/server.csr -out /etc/openvpn/server.crt -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key -days 365

4. Tạo tập tin cấu hình máy chủ OpenVPN

Bạn có thể sao chép và chỉnh sửa cấu hình OpenVPN mặc định hoặc tạo một cấu hình mới từ đầu.

nano /etc/openvpn/server.conf
server 10.8.0.0 255.255.255.0
verb 3
key /etc/openvpn/server.key
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
dh /etc/openvpn/dh.pem
keepalive 10 120
persist-key
persist-tun
comp-lzo
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 nogroup

proto udp
port 1194
dev tun1194
status openvpn-status.log

lưu tập tin và kích hoạt và bắt đầu dịch vụ OpenVPN với:

systemctl enable openvpn@server
systemctl start openvpn@server

Thêm iptablesquy tắc sau để lưu lượng truy cập có thể rời khỏi VPN. Thay đổi eth0bằng giao diện mạng công cộng của máy chủ của bạn.

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Lưu ý: Nếu bạn đang chạy VPS dựa trên openvz thay vì quy tắc ở trên, thêm: 

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source YOUR_SERVER_IP>

Cuối cùng, chúng tôi cũng cần cho phép chuyển tiếp IP:

sysctl -w net.ipv4.ip_forward=1

5. Tạo chứng chỉ và khóa khách hàng

Các lệnh sau sẽ tạo ra chứng chỉ và khóa khách hàng:

openssl genrsa -out /etc/openvpn/client.key 2048
chmod 600 /etc/openvpn/client.key
openssl req -new -key /etc/openvpn/client.key -out /etc/openvpn/client.csr -subj /CN=OpenVPN-Client/
openssl x509 -req -in /etc/openvpn/client.csr -out /etc/openvpn/client.crt -CA /etc/openvpn/ca.crt -CAkey /etc/openvpn/ca.key -days 36525

Tiếp theo, sao chép các tệp sau vào máy khách của bạn

/etc/openvpn/ca.crt
/etc/openvpn/client.crt
/etc/openvpn/client.key

6. Bắt đầu OpenVPN trên CentOS 7

Bắt đầu trình khách OpenVPN với cấu hình sau.

client
nobind
dev tun
redirect-gateway def1 bypass-dhcp
remote YOUR_SERVER_IP 1194 udp
comp-lzo yes
duplicate-cn

key /etc/openvpn/client.key
cert /etc/openvpn/client.crt
ca /etc/openvpn/ca.crt

Đừng quên thay đổi YOUR_SERVER_IP bằng địa chỉ IP của máy chủ OpenVPN.

Bạn đã cài đặt thành công một máy chủ OpenVPN đã được cấu hình trên CentOS 7 VPS.

PS . Nếu bạn thích bài đăng này về cách cài đặt OpenVPN trên CentOS 7, hãy chia sẻ nó với bạn bè của bạn trên mạng xã hội bằng cách sử dụng các nút ở bên trái hoặc chỉ cần để lại một trả lời dưới đây. Cảm ơn.

Leave a Reply

Your email address will not be published. Required fields are marked *