OpenVPN là một ứng dụng mã nguồn mở cho phép bạn tạo một mạng riêng trên Internet công cộng. OpenVPN thiết lập kết nối mạng của bạn một cách an toàn trên internet. Bizfly Cloud sẽ hướng dẫn này mô tả các bước để thiết lập OpenVPN server và client trên CentOS.
Điều kiện tiên quyết
– Server CentOS 7
– root priveleges
Kích hoạt epel-repository
sudo su
yum -y install epel-repository
Cài đặt open vpn và easy-rsa và iptables
yum -y install openvpn easy-rsa iptables-services
Configuring easy-rsa
Ở giai đoạn này, bạn sẽ tạo một số key và certificate:
– Certificate Authority (ca)
– Server Key và Certificate
– Diffie-Hellman key
– Client Key và Certifiate
Bước 1: Sao chép easy-rsa script generation thành “/etc/openvpn/”
cp -r /usr/share/easy-rsa/ /etc/openvpn/
Sau đó vào thư mục easy-rsa và chỉnh sửa tập tin vars.
cd /etc/openvpn/easy-rsa/2.*
/vim vars
Bây giờ là lúc tạo khóa và chứng chỉ mới cho quá trình cài đặt.
source ./vars
Sau đó chạy clean-all để đảm bảo rằng chúng ta có một thiết lập chứng chỉ sạch.
./clean-all
Bây giờ tạo một certificate authority (ca). Bạn sẽ được hỏi về Country Name,… Xem ảnh bên dưới để tham khảo.
Lệnh này sẽ tạo một tập tin ca.crt và ca.key trong thư mục /etc/openvpn/easy-rsa/2.0/keys/.
./build-ca
Bước 2: Tạo ra một server key và certificate
Chạy lệnh “build-key-server server” trong thư mục hiện tại:
./build-key-server server
Bước 3: Xây dựng Diffie-Hellman key exchange
Thực thi lệnh build-dh:
./build-dh
Xin vui lòng chờ đợi, nó sẽ mất một thời gian để tạo ra các tập tin. Thời gian tùy thuộc vào KEY_SIZE bạn cài đặt trên các tệp vars.
Bước 4: Tạo client key và certificate
./build-key client
Bước 5: Di chuyển hoặc sao chép thư mục `keys /` sang `/ etc / openvpn`
cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/
Cấu hình OpenVPN
Bạn có thể sao chép OpenVPN configuration từ /usr/share/doc/openvpn-2.3.6/sample/sample-config-files thành /etc/openvpn/, hoặc tạo một cấu hình mới từ đầu. Tôi sẽ tạo một cái mới:
cd /etc/openvpn/
vim server.conf
Dán cấu hình bên dưới:
Lưu lại.
Tạo một thư mục cho tệp log.
mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log
Tắt firewalld và SELinux
Bước 1: Tắt firewalld
systemctl mask firewalld
systemctl stop firewalld
Bước 2: Tắt SELinux
vim /etc/sysconfig/selinux
Và tắt SELINUX:
SELINUX=disabled
Sau đó khởi động lại máy chủ để áp dụng thay đổi.
Cấu hình Routing và Iptables
Bước 1: Kích hoạt iptables
systemctl enable iptablessy
stemctl start iptables
iptables -F
Bước 2: Thêm iptables-rule để chuyển tiếp định tuyến tới openvpn subnet.
iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn
Bước 3: Kích hoạt port forwarding
vim /etc/sysctl.conf
Thêm vào phần cuối:
net.ipv4.ip_forward = 1.
Bước 4: Restart network server
systemctl start openvpn@server
Client Setup
Để kết nối với openvpn server, client yêu cầu key và certificate đã tạo, vui lòng tải xuống 3 tệp từ máy chủ của bạn bằng SFTP hoặc SCP:
– ca.crt
– client.crt
– client.key
Nếu bạn sử dụng Windows Client, thì bạn có thể sử dụng WinSCP để sao chép các tệp. Sau đó, tạo một tệp mới có tên là client.ovpn và dán cấu hình bên dưới:
Lưu lại.
Sau đó tải xuống client application cho openvpn và cài đặt nó trên client computer của bạn:
Windows user
OpenVPN Install.
Mac OS user
tunnelblick.
Linux user.
networkmanager-openvpn qua NetworkManager.
hoặc sử dụng terminal
sudo openvpn -config client.ovpn
Kết luận
OpenVPN là một phần mềm nguồn mở để xây dựng shared private network dễ cài đặt và dễ cấu hình trên máy chủ. Nó là một giải pháp cho những người cần kết nối mạng an toàn trên internet oublic.
Nguồn: Bizfly Cloud chia sẻ
Tham khảo: howtoforge.com/tutorial/how-to-install-openvpn-on-centos-7/