آموزش ساخت OpenVPN بر روی VPS توزیع Centos

آموزش ساخت OpenVPN بر روی VPS توزیع Centos

آموزش ساخت OpenVPN بر روی VPS توزیع Centos  در سری آموزش گنو لینوکس :

۱- در مرحله اول اقدام به آپدیت مخازن و پکیج های سیستمکنید.

۲- مرحله دوم نصب برنامه های مورد نیاز:

openvpn git

۳-رفتن به مسیر:

cd /etc/openvpn/

۴- اقدام به clone کردن easy-rsa برای ساخت PKI CA ها:

sudo git clone git://github.com/OpenVPN/easy-rsa

۵- ساخت دایرکتوری keys برای ذخیره کلیدها :

mkdir -p /etc/openvpn/keys

۶- رفتن به مسیر:

cd /etc/openvpn/easy-rsa/easyrsa3

۷- گرفتن بک آپ از vars چرا که نیازمند تغییر آن هستیم :

vi vars

۸- باز کردن فایل vars :

vi vars

و اعمال تنظیمات:

نکته: من در اینجا بالاترین سطح ممکن رمزنگاری رو استفاده کردم شما میتونید از رمزنگاری های با طول کلید کمتر استفاده کنید:

set_var EASYRSA_KEY_SIZE 4096
set_var EASYRSA_CA_EXPIRE 3650
set_var EASYRSA_KEY_EXPIRE 3650
set_var EASYRSA_REQ_COUNTRY "USA
"set_var EASYRSA_REQ_PROVINCE "New Jersey
"set_var EASYRSA_REQ_CITY "Princeton
"set_var EASYRSA_REQ_ORG "preshka.ir
"set_var EASYRSA_REQ_EMAIL "[email protected
"set_var EASYRSA_REQ_OU "My Organizational Unit
"set_var EASYRSA_KEY_NAME "Easy RSA"

۹- کپی کردن محتویات:

cp -rf /etc/openvpn/easy-rsa/easyrsa3/* /etc/openvpn/keys cd /etc/openvpn/keys

۱۰- اقدام به مقدار دهی کردن دوباره دایرکتوری PKI برای PKI تمیز:

sudo ./easyrsa init-pki

۱۱-ساخت یک CA جدید:

sudo ./easyrsa build-ca

۱۲-رفتن به مسیر زیر:

cd /etc/openvpn/keys

۱۳- ساخت یک کلید مستقم برای درخواست (CSR):

sudo ./easyrsa gen-req preshka nopass

۱۴- امضاء درخواست certificate

cd /etc/openvpn/server 
sudo ./easyrsa sign-req server preshka

۱۵- ساخت یک کلید مستقم برای درخواست (CSR):

sudo ./easyrsa gen-req john nopass 
sudo ./easyrsa sign-req client john

۱۶- ساخت ssl:

mkdir -p /etc/openvpn/ssl
cd /etc/openvpn/ssl 
sudo openssl dhparam -out dh2048.pem 2048

۱۷- ساخت یک کلید تصادفی برای استفاده و اشتراک گذاشتن کلید:

cd /etc/openvpn/keys 
sudo openvpn --genkey --secret ta.key

۱۸- در نهایت تنظیمات نهایی برای استارت openvpn:

توزیع لینوکسی مخصوص گیم(SteamOS)
مشاهده

محتوای زیر رو پیست کنید:

cd /etc/openvpn
sudo vi server.conf
tun-mtu 1500
mssfix 1420
mode server
tls-server
port 1194
proto udp
dev tun
ca /etc/openvpn/keys/pki/ca.crt
cert /etc/openvpn/keys/pki/issued/preshka.crt
key /etc/openvpn/keys/pki/private/preshka.key
dh /etc/openvpn/ssl/dh2048.pem
tls-auth /etc/openvpn/keys/ta.key 0
server 10.1.1.0 255.255.255.0
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
push "redirect-gateway def1
"push "dhcp-option DNS 8.8.8.8
"push "dhcp-option DNS 8.8.4.4"
keepalive 5 30
log-append /var/log/vpn/openvpn.log
verb 3

 

۱۹- ساخت مسیری برای ذخیره لاگ:

sudo mkdir -p /var/log/vpn
sudo touch /var/log/vpn/openvpn.log  
sudo chcon -t var_log_t /var/log/vpn/openvpn.log

۲۰- کانفیگ فایروال:

sudo firewall-cmd --permanent --add-service openvpn 
sudo firewall-cmd --permanent --zone=trusted --add-interface=name interface 

sudo firewall-cmd --permanent --zone=trusted --add-masquerade 
ROUT=$(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.1.1.0/24 -o $ROUT -j MASQUERAD 
sudo firewall-cmd –reload

۲۱-فعال سازی ip forwarding:

sudo echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
sudo sysctl -p

۲۲- فعال سازی openvpn:

cd /etc/openvpn
sudo openvpn server.conf

۲۳- ساخت .ovpn فایل:

cd ~ vi john.ovpn

۲۴- محتوای زیر رو تو فایل باز شده پیست کنید:

client 
dev tun 
proto udp 
remote SERVER_IP 1194 
resolv-retry infinite 
nobind 
persist-key 
persist-tun 
mute-replay-warnings 
<ca> 
// Place CA(a.crt) file's content here 
</ca> 
<cert> 
// Place client's(john.crt) certificate file's content here 
</cert> 
<key> 
// Place client's(john.key) key file's content here 
</key> 
tls-client 
key-direction 1 
<tls-auth> 
// Place TLS key(ta.key) file's content here 
</tls-auth> 
comp-lzo 
client 
dev tun 
proto udp 
remote SERVER_IP 1194 
resolv-retry infinite 
nobind 
persist-key 
persist-tun 
mute-replay-warnings 
<ca> 
// Place CA(a.crt) file's content here 
</ca> 
<cert> 
// Place client's(john.crt) certificate file's content here 
</cert> 
<key> 
// Place client's(john.key) key file's content here 
</key> 
tls-client 
key-direction 1 
<tls-auth> 
// Place TLS key(ta.key) file's content here 
</tls-auth> 
comp-lzo

نکته خیلی مهم آموزش ساخت OpenVPN بر روی VPS توزیع Centos

تغییرات اوبونتو 19.10 در یک نگاه
مشاهده

 در صورتی که دوست دارید از یک کلید برای کانکشن های متعدد استفاده کنید

میتونید این آپشن و به server.conf اضافه کنید:

qexiduplicate-cn

و در غیر اینصورت به صورت دیفالت openvpn تنها یک نفر امکان اتصال دارد.

مقاله های مرتبط :

دیدگاه خود را بیان کنید :

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

۲ دیدگاه برای این مطلب ثبت شده است

  1. علی
    8:11 2020/09/16

    وی پی ان رایگانه؟؟

    • محمدجواد استادی
      6:15 2020/09/19

      برای vps کاربرد داره این پست دوست عزیز، شما میتونید از تور استفاده کنید.
      راهنمای استفاده از تور رو قبلا اینجا نوشتیم.