OpenVPN là một ứng dụng mã nguồn mở cho phép bạn tạo mạng riêng qua Internet công cộng. OpenVPN tạo đường hầm kết nối mạng của bạn một cách an toàn thông qua internet. Hướng dẫn này mô tả các bước để thiết lập máy chủ và máy khách OpenVPN trên CentOS.
Sau đó, hãy đến thư mục easy-rsa và chỉnh sửa tệp vars.
Bây giờ là lúc tạo khóa và chứng chỉ mới cho cài đặt của chúng ta.
Sau đó, hãy chạy clean-all để đảm bảo rằng chúng ta có thiết lập chứng chỉ sạch.
Bây giờ hãy tạo cơ quan cấp chứng chỉ (ca). Bạn sẽ được hỏi về Tên quốc gia, v.v.., hãy nhập thông tin chi tiết của bạn. Xem ảnh chụp màn hình bên dưới để biết các giá trị của tôi.
Lệnh này sẽ tạo một tệp ca.crt và ca.key trong thư mục /etc/openvpn/easy-rsa/2.0/keys/.
Bước 2 - Bây giờ tạo khóa máy chủ và chứng chỉ.
Chạy lệnh "build-key-server server" trong thư mục hiện tại:
Bước 3 - Xây dựng trao đổi khóa Diffie-Hellman.
Thực hiện lệnh build-dh:
vui lòng đợi, sẽ mất một thời gian để tạo các tệp. Thời gian phụ thuộc vào KEY_SIZE mà bạn thiết lập trên tệp vars.
Bước 4 - Tạo khóa máy khách và chứng chỉ.
Bước 5 - Di chuyển hoặc sao chép thư mục `keys/` đến `/etc/opennvpn`.
Dán cấu hình bên dưới:
Lưu lại.
Tạo một thư mục cho tệp nhật ký.
Bước 2 - Vô hiệu hóa SELinux
Và đổi SELINUX thành disabled:
SELINUX=disabled
Sau đó khởi động lại máy chủ để áp dụng thay đổi.
Bước 2 - Thêm iptables-rule để chuyển tiếp định tuyến đến mạng con openvpn của chúng tôi.
Bước 3 - Bật chuyển tiếp cổng.
thêm vào cuối dòng:
net.ipv4.ip_forward = 1.
Bước 4 - Khởi động lại máy chủ mạng
Và lưu lại.
Sau đó tải xuống ứng dụng máy khách cho openvpn và cài đặt trên máy tính máy khách của bạn (nhiều khả năng là Máy tính để bàn của bạn):
Người dùng Windows
Cài đặt OpenVPN.
Người dùng Mac OS
tunnelblick.
Người dùng Linux.
thử networkmanager-openvpn thông qua NetworkManager.
hoặc sử dụng terminal
Điều kiện tiên quyết
- Máy chủ có CentOS 7.
- quyền root.
- Bật epel-repository trong CentOS.
- Cài đặt openvpn, easy-rsa và iptables.
- Cấu hình easy-rsa.
- Cấu hình openvpn.
- Vô hiệu hóa firewalld và SELinux.
- Cấu hình iptables cho openVPN.
- Khởi động máy chủ openVPN.
- Thiết lập ứng dụng máy khách OpenVPN.
Bật epel-repository
Mã:
sudo su
yum -y install epel-repository
Cài đặt open vpn và easy-rsa và iptables
Mã:
yum -y install openvpn easy-rsa iptables-services
Cấu hình easy-rsa
Ở giai đoạn này, bạn sẽ tạo một số khóa và chứng chỉ:- Cơ quan cấp chứng chỉ (ca)
- Khóa máy chủ và Chứng chỉ
- Chìa khóa Diffie-Hellman. đọc tại đây
- Khóa máy khách và chứng chỉ
Mã:
cp -r /usr/share/easy-rsa/ /etc/openvpn/
Mã:
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 cài đặt của chúng ta.
Mã:
source ./vars
Mã:
./clean-all
Lệnh này sẽ tạo một tệp ca.crt và ca.key trong thư mục /etc/openvpn/easy-rsa/2.0/keys/.
Mã:
./build-ca
Bước 2 - Bây giờ tạo khóa máy chủ và chứng chỉ.
Chạy lệnh "build-key-server server" trong thư mục hiện tại:
Mã:
./build-key-server server
Bước 3 - Xây dựng trao đổi khóa Diffie-Hellman.
Thực hiện lệnh build-dh:
Mã:
./build-dh
vui lòng đợi, sẽ mất một thời gian để tạo các tệp. Thời gian phụ thuộc vào KEY_SIZE mà bạn thiết lập trên tệp vars.
Bước 4 - Tạo khóa máy khách và chứng chỉ.
Mã:
./build-key client
Bước 5 - Di chuyển hoặc sao chép thư mục `keys/` đến `/etc/opennvpn`.
Mã:
cd /etc/openvpn/easy-rsa/2.0/
cp -r keys/ /etc/openvpn/
Cấu hình OpenVPN
Bạn có thể sao chép cấu hình OpenVPN từ /usr/share/doc/openvpn-2.3.6/sample/sample-config-files đến /etc/openvpn/, hoặc tạo một cái mới từ đầu. Tôi sẽ tạo một cái mới:
Mã:
cd /etc/openvpn/
vim server.conf
Mã:
#thay đổi với cổng của bạncổng 1337#Bạn có thể sử dụng udp hoặc tcpproto udp# "dev tun" sẽ tạo một đường hầm IP được định tuyến.dev tun#Cấu hình chứng chỉ#ca certificateca /etc/openvpn/keys/ca.crt#Chứng chỉ máy chủcert /etc/openvpn/keys/server.crt#Khóa máy chủ và giữ bí mậtkey /etc/openvpn/keys/server.key#Xem kích thước khóa dh trong /etc/openvpn/keys/dh /etc/openvpn/keys/dh1024.pem#IP nội bộ sẽ nhận được khi đã kết nốiserver 192.168.200.0 255.255.255.0#dòng này sẽ chuyển hướng tất cả lưu lượng truy cập qua OpenVPN của chúng tôipush "redirect-gateway def1"#Cung cấp máy chủ DNS cho máy khách, bạn có thể sử dụng DNS của goolgepush "dhcp-option DNS 8.8.8.8"push "dhcp-option DNS 8.8.4.4"#Bật nhiều máy khách để kết nối với cùng một khóaduplicate-cnkeepalive 20 60comp-lzopersist-keypersist-tundaemon#enable loglog-append /var/log/myvpn/openvpn.log#Log Levelverb 3
Tạo một thư mục cho tệp nhật ký.
Mã:
mkdir -p /var/log/myvpn/
touch /var/log/myvpn/openvpn.log
Tắt firewalld và SELinux
Bước 1 - Vô hiệu hóa firewalld
Mã:
systemctl mask firewalld
systemctl stop firewalld
Mã:
vim /etc/sysconfig/selinux
SELINUX=disabled
Sau đó khởi động lại máy chủ để áp dụng thay đổi.
Cấu hình định tuyến và Iptables
Bước 1 - Bật iptables
Mã:
systemctl enable iptables
systemctl start iptables
iptables -F
Mã:
iptables -t nat -A POSTROUTING -s 192.168.200.024 -o eth0 -j MASQUERADE
iptables-save > /etc/sysconfig/iptablesvpn
Mã:
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1.
Bước 4 - Khởi động lại máy chủ mạng
Mã:
systemctl start openvpn@server
Cài đặt máy khách
Để kết nối với máy chủ openvpn, máy khách yêu cầu khóa và chứng chỉ mà chúng tôi đã 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
Mã:
clientdev tunproto udp#Server IP and Portremote 192.168.1.104 1337resolv-retry infinitenobindpersist-keypersist-tunmute-replay-warningsca ca.crtcert client.crtkey client.keyns-cert-type servercomp-lzo
Và lưu lại.
Sau đó tải xuống ứng dụng máy khách cho openvpn và cài đặt trên máy tính máy khách của bạn (nhiều khả năng là Máy tính để bàn của bạn):
Người dùng Windows
Cài đặt OpenVPN.
Người dùng Mac OS
tunnelblick.
Người dùng Linux.
thử networkmanager-openvpn thông qua NetworkManager.
hoặc sử dụng terminal
Mã:
sudo openvpn --config client.ovpn