VPN là một mạng riêng sử dụng hệ thống mạng công cộng (thường là Internet) để kết nối các địa điểm hoặc người sử dụng từ xa với một mạng LAN ở trụ sở trung tâm . OpenVPN là một giải pháp mã nguồn mở VPN hoàn toàn miễn phí. Tomato cùng với OpenVPN hiện nay được xem là giải pháp hoàn hảo nhất cho những ai muốn có một kết nối bảo mật giữa hai mạng mà không cần thêm chi phí nào
Bài viết này Adminvietnam xin hướng dẫn các bạn cấu hình VPN server sử dụng OpenVPN trên CentOS 7 , theo sơ đồ bên dưới
Bài hướng dẫn gồm các bước
- Enable the epel-repository in CentOS.
- Install openvpn, easy-rsa .
- Configure easy-rsa.
- Configure openvpn.
- Start openVPN Server.
- Setting up the OpenVPN client application
- Install OpenVPN Client on Linux
Chuẩn bị
- Máy CentOS 7 – VPN server
IP:192.168.2.123
Hostname: server.adminvietnam.org - Máy Windows 7 – VPN client (bên ngoài)
IP:192.168.2.124
Hostname: PC01 - Máy CentOS 6.5 – VPN client
IP:192.168.2.125
Hostname:PC02 - Máy File server (bên trong mạng LAN)
IP:172.16.1.10
1.Enable the epel-repository
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
2. Install openvpn, easy-rsa
# yum -y install openvpn easy-rsa
Sau khi quá trình cài đặt hoàn tất , chép file server.conf đến thư mục /etc/openvpn/
# cd /usr/share/doc/openvpn-*/sample/sample-config-files/ # cp server.conf /etc/openvpn
3. Configure easy-rsa
Tạo Keys và Certificates
# mkdir /etc/openvpn/rsa # cp –rf /usr/share/easy-rsa/2.0/* /etc/openvpn/rsa
Chọn y để ghi đè file
Cấu hình file vars
# nano /etc/openvpn/rsa/vars
# cd /etc/openvpn/rsa/ # source ./vars
# ./clean-all
Chạy build-ca scripts để tạo Certificates + keys
# ./build-ca
Tiếp theo tạo Key và Certificate cho server
# ./build-key-server server
Tạo file dh2048.pem trong thư mục /etc/openvpn/rsa/keys/
# ./build-dh
Tạo Key và Certificate cho Client
# ./build-key client
4. Configure OpenVPN Server
# nano /etc/openvpn/server.conf
Bạn cần chú ý đến đường dẫn các file ca.crt ,server.crt ,server.key
Đường mạng sẽ cấp địa chỉ IP khi VPN Client kết nối đến VPN Server
Route đường mạng trên để có thể kết nối được tới Files Server
Cho phép tất cả lưu lượng (như duyệt web và phân giải DNS )đi qua VPN bằng cách bỏ “;” tại dòng này
push "redirect-gateway def1 bypass-dhcp"
DNS để phân giải
Lưu file cấu hình
Cho phép các traffic của VPN lưu thông qua Firewall
# firewall-cmd --permanent --add-service=openvpn # firewall-cmd --add-service=openvpn # firewall-cmd --permanent --add-masquerade # firewall-cmd --add-masquerade
Copy các file Certificate và key vào thư mục /etc/openvpn/
# cd /etc/openvpn/rsa/keys # cp ca.crt server.crt server.key /etc/openvpn
5. Start openVPN Server
# systemctl -f enable openvpn@server # systemctl start openvpn@server
Chúng ta có thể kiểm tra trạng thái dịch vụ
# systemctl -l status openvpn@server
Bật port forwarding
# nano /etc/sysctl.conf
Thêm dòng
net.ipv4.ip_forward = 1.
Khởi động lại dịch vụ
# systemctl start openvpn@server
6. Setting up the OpenVPN client application
Bạn có thể download OpenVPN client tại đây
Sau khi download tiến hành cài đặt OpenVPN Client
Tạo Folder C:\Keys
Copy 3 file ca.crt , client.crt , client.key trong thư mục /etc/openvpn/rsa/keys/ vào thư mục C:\Keys trên VPN Client
Copy file client.ovpn trong C:\Program Files\OpenVPN\sample-config đến C:\Program Files\OpenVPN\config
Mở file client.ovpn bằng notepad và chỉnh sửa
Đường dẫn 3 files
Lưu file
Kiểm tra kết nối
Mở OpenVPN GUI chọn Connect
Sau khi kết nối thành công với VPN Server , ping test tới máy Files server địa chỉ 172.16.1.10
7. Install OpenVPN Client on Linux
Ở đây mình có một máy Client CentOS 6.5 .
Cài đặt epel
# wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm
Cài đặt OpenVPN
# yum install openvpn -y
Copy 3 file ca.crt , client.crt , client.key trên VPN server vào /etc/openvpn/
Copy file client.conf vào /etc/openvpn/
# cd /usr/share/doc/openvpn-*/sample/sample-config-files/ # cp client.conf /etc/openvpn/
Cấu hình file client.conf
# nano /etc/openvpn/client.conf
Remote IP VPN server và port
Đường dẫn 3 file
Lưu file và khởi động dịch vụ
# openvpn /etc/openvpn/client.conf
Client kết nối thành công
Ping kiểm tra
Như vậy chúng ta đã cấu hình thành công OpenVPN Client to Site trên CentOS 7 . Chúc các bạn thành công
LuanPM-Adminvietnam.org