CentOS-ൽ OpenVPN ഇൻസ്റ്റാളേഷനും കോൺഫിഗറേഷനും

N
നെറ്റൂസ്
സെപ്റ്റംബർ 26, 2019

ഉബുണ്ടു പ്രവർത്തിക്കുന്ന ഒരു സെർവറിൽ OpenVPN സജ്ജീകരിക്കുന്നതിനും കോൺഫിഗർ ചെയ്യുന്നതിനുമുള്ള ഒരു ഗൈഡ് വെബിൽ ലഭ്യമാണ്. ബന്ധം. CentOS7 പ്രവർത്തിക്കുന്ന സെർവറിൽ OpenVPN മൗണ്ടുചെയ്യുന്നത് പരിഗണിക്കുക.

VPN പ്രോട്ടോക്കോളിന്റെ ഒരു ഓപ്പൺ റിസോഴ്‌സ് സോഫ്റ്റ്‌വെയർ ആപ്ലിക്കേഷൻ നടപ്പിലാക്കലാണ് OpenVPN. ഈ ഇനത്തിന്റെ സവിശേഷമായ സവിശേഷത, എൻക്രിപ്റ്റ് ചെയ്ത പാസേജുകൾ സൃഷ്ടിക്കാനുള്ള ശേഷിയാണ്, അതേസമയം മൊബൈൽ സിസ്റ്റങ്ങൾ ഉൾപ്പെടെ നിരവധി പ്രമുഖ OS-കൾക്കുള്ള നിർവ്വഹണങ്ങൾ ഉണ്ട്.

CentOS ശേഖരണത്തിന്റെ പ്രത്യേകത OpenVPN അതിൽ അടങ്ങിയിട്ടില്ല എന്നതാണ്. എന്നിരുന്നാലും, ഫെഡോറ പ്രോജക്ട് കൈകാര്യം ചെയ്യുന്ന EPEL (വെഞ്ച്വർ ലിനക്സ്) ശേഖരം ഉപയോഗിച്ച് ഈ പാക്കേജ് ലഭ്യമാക്കാം. ഈ ശേഖരത്തിൽ നിന്ന്, ആകസ്മികമായി, അടിസ്ഥാന CentOS ശേഖരത്തിൽ ഉൾപ്പെടാത്ത മറ്റ് പാക്കേജുകൾ നിങ്ങൾക്ക് ലഭിക്കും. കമാൻഡ് ഉപയോഗിച്ച് മൌണ്ട് ചെയ്യുക:

yum install epel-release

നമുക്ക് OpenVPN ഇൻസ്റ്റാൾ ചെയ്യാൻ തുടങ്ങാം. പാക്കേജ് ഇൻസ്റ്റാൾ ചെയ്യുന്നു:

yum install openvpn easy-rsa -y

നമുക്ക് സെർവർ സജ്ജീകരിക്കാൻ തുടങ്ങാം. server.conf പകർത്തുക:

cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn/

"*" ശ്രദ്ധിക്കേണ്ടത് ആവശ്യമാണ്. അതിനാൽ ഇൻസ്റ്റാൾ ചെയ്യാൻ ഒരു ശ്രമം നടത്തി, പ്രോഗ്രാം പതിപ്പ് ഒരു നക്ഷത്രചിഹ്നം ഉപയോഗിച്ച് മാറ്റാം. നിരവധി സജ്ജീകരണ ശ്രമങ്ങൾ ഉണ്ടെങ്കിൽ, നിങ്ങൾ കോഴ്‌സ് പൂർണ്ണമായും ഡോക്യുമെന്റുകളിലേക്ക് നിർവചിക്കേണ്ടതുണ്ട്.

കീകൾ സൃഷ്ടിക്കുന്നതിന് മുമ്പ്, സെർവർ കോൺഫിഗറേഷൻ ഫയലിൽ കുറച്ച് മാറ്റങ്ങൾ വരുത്താം. 

ഏതെങ്കിലും എഡിറ്റർ ഉപയോഗിച്ച് server.conf തുറക്കുക.

nano /etc/openvpn/server.conf

"ഡിഫി ഹെൽമാൻ പാരാമീറ്ററുകൾ" എന്ന വരി കണ്ടെത്തുക. കൂടാതെ തിരയുന്നു:

dh dh2048.pem

ഇത് ശരിയാണെങ്കിൽ, മാറ്റങ്ങളൊന്നും വരുത്തേണ്ടതില്ല. പ്ലാനിന്റെ പുതിയ പതിപ്പിന്റെ സൂക്ഷ്മത, മൂല്യങ്ങൾ നിലവിൽ മാനദണ്ഡവുമായി പൊരുത്തപ്പെടുന്നു എന്നതാണ്. പഴയ പതിപ്പുകളിൽ, ഇത് "dh" ആണ്. ഞങ്ങൾ ഉള്ളതുപോലെ ഞങ്ങൾ ഉണർത്തുന്നു.

അടുത്തതായി, "# പ്രത്യേക വിൻഡോസ്-നിർദ്ദിഷ്ട നെറ്റ്‌വർക്ക് സജ്ജീകരണങ്ങൾ" എന്ന വരിക്കായി തിരയുക. താഴെയുള്ള ഇതരമാർഗ്ഗങ്ങളിലൊന്ന് കമന്റ് ചെയ്യാതിരിക്കുക (അർദ്ധവിരാമം ഒഴിവാക്കുക (;-RRB- വരിയുടെ തുടക്കത്തിൽ). ഇത് ഇതുപോലെയായിരിക്കണം:

push "dhcp-option DNS 8.8.8.8"

നിങ്ങൾക്ക് വേണമെങ്കിൽ, നിങ്ങളുടെ സ്വന്തം DNS വെബ് സെർവർ വ്യക്തമാക്കാം. കൂടാതെ, ഉപഭോക്താക്കൾക്കും ഒരു ഇതര DNS സെർവർ കൈമാറാൻ നിങ്ങൾക്ക് രണ്ടാമത്തെ വരി അൺകമന്റ് ചെയ്യാം.

സെർവർ സുരക്ഷയ്‌ക്കായി, ഞങ്ങൾ ആരുമില്ലാത്ത ഉപയോക്താവും നോഗ്രൂപ്പ് ടീമും ആയിരിക്കും. വരികൾ അൺകമന്റ് ചെയ്യാം:.

user nobody

group nobody

നമുക്ക് സർട്ടിഫിക്കറ്റുകൾ സൃഷ്ടിക്കാൻ തുടങ്ങാം.

നേരത്തെ ഇൻസ്റ്റാൾ ചെയ്ത ഈസി-ആർഎസ്എ പാക്കേജ് ഉപയോഗിച്ച്, ഞങ്ങൾ സെർവറും ക്ലയന്റ് കീകളും സൃഷ്ടിക്കും.

കീകൾ സ്ഥിതി ചെയ്യുന്ന ഒരു ഡയറക്ടറി സൃഷ്ടിക്കുക:

mkdir -p /etc/openvpn/easy-rsa/keys

പുതുതായി സൃഷ്‌ടിച്ച ഈസി-ആർഎസ്എ ഡയറക്‌ടറിയിലേക്ക് സ്‌ക്രിപ്റ്റുകൾ പകർത്തുക:

cp -r /usr/share/easy-rsa/3.0/* /etc/openvpn/easy-rsa

/etc/openvpn/easy-rsa/3/ ഡയറക്ടറിയിലേക്ക് പോയി vars സ്ക്രിപ്റ്റ് സൃഷ്ടിക്കുക

cd /etc/openvpn/easy-rsa/

nano vars

പ്രധാനം! ഈസി-ആർഎസ്എയുടെ പതിപ്പ് വ്യത്യസ്തമായിരിക്കാം, അതിനാൽ പാത ക്രമീകരിക്കേണ്ടതുണ്ട്.

തുറന്ന ഫയലിലേക്ക് ഇനിപ്പറയുന്ന വരികൾ ചേർക്കുക:

set_var EASYRSA                 "$PWD"

set_var EASYRSA_PKI             "$EASYRSA/pki"

set_var EASYRSA_DN              "cn_only"

set_var EASYRSA_REQ_COUNTRY     "RU"

set_var EASYRSA_REQ_PROVINCE    "Moscow"

set_var EASYRSA_REQ_CITY        "Moscow"

set_var EASYRSA_REQ_ORG         "MyOrg"

set_var EASYRSA_REQ_EMAIL       "openvpn@mydomain.net"

set_var EASYRSA_REQ_OU          "CA"

set_var EASYRSA_KEY_SIZE        2048

set_var EASYRSA_ALGO            rsa

set_var EASYRSA_CA_EXPIRE       7500

set_var EASYRSA_CERT_EXPIRE     365

set_var EASYRSA_NS_SUPPORT      "no"

set_var EASYRSA_NS_COMMENT      "CERTIFICATE AUTHORITY"

set_var EASYRSA_EXT_DIR         "$EASYRSA/x509-types"

set_var EASYRSA_SSL_CONF        "$EASYRSA/openssl-1.0.cnf"

set_var EASYRSA_DIGEST          "sha256"

ഫയൽ സംരക്ഷിച്ച് എഡിറ്റർ അടയ്ക്കുക.

ഫയൽ എക്സിക്യൂഷൻ അനുവദിക്കുക:

chmod +x vars

PKI ഡയറക്‌ടറി ആരംഭിച്ച് ഒരു CA സർട്ടിഫിക്കറ്റ് സൃഷ്‌ടിക്കുക:

./easyrsa init-pki

./easyrsa build-ca

പ്രധാനം! ഒരു CA സർട്ടിഫിക്കറ്റ് വികസിപ്പിക്കുമ്പോൾ, സ്‌ക്രിപ്റ്റ് തീർച്ചയായും നിങ്ങളോട് കുറഞ്ഞത് 4 പ്രതീകങ്ങളുടെ പാസ്‌വേഡ് ലഭിക്കാൻ ആവശ്യപ്പെടും. പാസ്‌വേഡിലേക്ക് പോയത് ഓർമ്മിക്കേണ്ടതാണ്.

ഒരു സെർവർ കീ സൃഷ്ടിക്കുക.

./easyrsa gen-req server nopass

നിങ്ങൾ "നോപാസ്" സ്വഭാവം നിർവചിക്കുന്നില്ലെങ്കിൽ, ഒരു ട്രിക്ക് സൃഷ്ടിക്കുമ്പോൾ, സ്ക്രിപ്റ്റ് തീർച്ചയായും ഒരു പാസ്വേഡ് അഭ്യർത്ഥിക്കും.

സെർവർ സർട്ടിഫിക്കറ്റിൽ ഒപ്പിടുന്നു:

./easyrsa sign-req server server

കൈയെഴുത്തുപ്രതിയുടെ പ്രാരംഭ പ്രവർത്തനം ഞങ്ങളുടെ ആത്മവിശ്വാസത്തിൽ പലിശ നിരക്ക് എടുക്കും, ഞങ്ങൾ "അതെ" എന്ന് ഉത്തരം നൽകുന്നു. അപ്പോൾ അത് തീർച്ചയായും CA സർട്ടിഫിക്കേഷൻ വികസിപ്പിക്കുമ്പോൾ നിർവചിച്ച പാസ്‌വേഡ് അഭ്യർത്ഥിക്കും.

സർട്ടിഫിക്കറ്റ് ഒപ്പിട്ടിട്ടുണ്ടോയെന്ന് പരിശോധിക്കുക:

openssl verify -CAfile pki/ca.crt pki/issued/ server.crt

ഒരു അധിക സെർവർ കീ സൃഷ്ടിക്കുക ta.key:

openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/ta.key

ഉപയോക്തൃ സർട്ടിഫിക്കറ്റുകൾ.

ഒരു ഉപയോക്തൃ സർട്ടിഫിക്കറ്റ് സൃഷ്‌ടിക്കുന്ന പ്രക്രിയ ഒരു സെർവർ സർട്ടിഫിക്കറ്റ് സൃഷ്‌ടിക്കുന്നതിന് സമാനമാണ്.

1. പാസ്‌വേഡ് പരിരക്ഷയില്ലാതെ സൃഷ്‌ടിക്കുക:

./easyrsa gen-req client01 nopass

2. ഞങ്ങൾ സർട്ടിഫിക്കറ്റിൽ ഒപ്പിടുന്നു:

./easyrsa sign-req client client01

3. ഒപ്പ് പരിശോധിക്കുന്നു:

openssl verify -CAfile pki/ca.crt pki/issued/client01.crt

ഡിഫി-ഹെൽമാൻ.

ഒരു സർട്ടിഫിക്കറ്റ് സൃഷ്ടിക്കുക:

./easyrsa gen-dh

തൽഫലമായി, dh.pem ഫയൽ സൃഷ്ടിക്കപ്പെടും, കൂടാതെ dh2048.pem കോൺഫിഗറിലും. കീകൾ പകർത്തുമ്പോൾ ഞങ്ങൾ അത് പിന്നീട് പുനർനാമകരണം ചെയ്യും.

സർട്ടിഫിക്കറ്റുകൾ കൈമാറുന്നു.

സെർവർ കീ ഫയലുകൾ പകർത്തുക. ഇത് ചെയ്യുന്നതിന്, ഞങ്ങൾ തുടർച്ചയായി നടപ്പിലാക്കുന്നു:

cp pki/ca.crt /etc/openvpn/

cp pki/issued/server.crt /etc/openvpn/

cp pki/private/server.key /etc/openvpn/

cp /etc/openvpn/easy-rsa/keys/ta.key /etc/openvpn/

ക്ലയന്റ് കീകൾ പകർത്തുക:

cp pki/ca.crt /etc/openvpn/client/

cp pki/issued/client01.crt /etc/openvpn/client/

cp pki/private/client01.key /etc/openvpn/client/

Diffie-Hellman കീ ഫയൽ പകർത്തുക:

cp pki/dh.pem /etc/openvpn/dh2048.pem

പ്രധാനം! കോൺഫിഗറിലുള്ള പേരുമായി പൊരുത്തപ്പെടുന്നതിന് ടാർഗെറ്റ് ഫയലിന്റെ പേര് മനഃപൂർവ്വം മാറ്റിയിരിക്കുന്നു.

റൂട്ടിംഗ് സജ്ജമാക്കുക.

സജ്ജീകരണം വേഗത്തിലാക്കാൻ, ഫയർവാൾഡി ഉപയോഗിച്ചല്ല iptables ഉപയോഗിച്ചാണ് ജോലി ചെയ്യുന്നത്. ഞങ്ങൾ തുടർച്ചയായി നടപ്പിലാക്കുന്നു:

yum install iptables-services -y

systemctl mask firewalld

systemctl enable iptables

systemctl stop firewalld

systemctl start iptables

iptables --flush

കൂടുതൽ കോൺഫിഗറേഷന് മുമ്പ്, കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾ ഇന്റർഫേസുകളുടെ പേരുകൾ നോക്കണം:

ifconfig -a

NAT-ന് ഒരു നിയമം ചേർക്കുക:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o <имя_интерфейса> -j MASQUERADE

iptables-save > /etc/sysconfig/iptables

ഒരു ഉദാഹരണം എന്ന നിലക്ക്:

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

iptables-save > /etc/sysconfig/iptables

നെറ്റ്‌വർക്ക് ഇന്റർഫേസുകൾക്കിടയിൽ പാക്കറ്റ് ഫോർവേഡിംഗ് അനുവദിക്കുക. ഇത് ചെയ്യുന്നതിന്, സിസ്റ്റം ഫയൽ sysctl.conf എഡിറ്റ് ചെയ്യുക:

nano /etc/sysctl.conf

ഫയലിന്റെ തുടക്കത്തിൽ വരി ചേർക്കുക:

net.ipv4.ip_forward = 1

ഫയൽ സംരക്ഷിക്കുക, എഡിറ്റർ അടച്ച് കമാൻഡ് ഉപയോഗിച്ച് നെറ്റ്‌വർക്ക് സേവനം പുനരാരംഭിക്കുക:

systemctl restart network.service

ഞങ്ങൾ OpenVPN സെർവർ ആരംഭിക്കുന്നു.

ആദ്യം, നമുക്ക് സ്റ്റാർട്ടപ്പിലേക്ക് സേവനം ചേർക്കാം:

systemctl -f enable openvpn@server.service

OpenVPN ആരംഭിക്കുക:

openvpn /etc/openvpn/server.conf

ഉപഭോക്തൃ സജ്ജീകരണം.

സെർവർ കോൺഫിഗർ ചെയ്‌തു, ക്ലയന്റ് കോൺഫിഗർ ചെയ്യാൻ ഇത് ശേഷിക്കുന്നു, അങ്ങനെ അത് കണക്റ്റുചെയ്യാനാകും.

നിങ്ങൾ ഉപയോഗിക്കുന്ന OS പരിഗണിക്കാതെ തന്നെ, അത് മൊബൈൽ, സെർവർ അല്ലെങ്കിൽ ഹോം പതിപ്പുകൾ, ലിനക്സ് അല്ലെങ്കിൽ വിൻഡോസ് ആകട്ടെ, നിങ്ങൾക്ക് എല്ലായ്പ്പോഴും 4 ഫയലുകൾ ആവശ്യമാണ്:

  • ca.crt;
  • client.crt;
  • client.key;
  • client.ovpn

ആദ്യത്തെ 3 ഫയലുകൾ /etc/openvpn/client/ ഡയറക്ടറിയിലാണ് സ്ഥിതി ചെയ്യുന്നത്, കൂടാതെ client.ovpn സൃഷ്ടിക്കേണ്ടതുണ്ട്. ഇത് ചെയ്യുന്നതിന്, എല്ലാ ക്ലയന്റ് കീകളും സ്ഥിതിചെയ്യുന്ന ഡയറക്ടറിയിലേക്ക് പോകുക:

cd  /etc/openvpn/client/

നമുക്ക് ഒരു ഫയൽ സൃഷ്ടിക്കാം:

nano client.ovpn

ഇനിപ്പറയുന്ന ഉള്ളടക്കം ഉപയോഗിച്ച് പൂരിപ്പിക്കുക:

client

dev tun

proto udp

remote <IP_ADDRESS> 1194

resolv-retry infinite

nobind

persist-key

persist-tun

comp-lzo

verb 3

ca ca.crt

cert client01.crt

key client01.key

IP_ADDRESS-ന് പകരം, ഞങ്ങൾ സെർവറിന്റെ IP വിലാസം അല്ലെങ്കിൽ അതിന്റെ ഡൊമെയ്ൻ നാമം ചേർക്കുന്നു. Ctrl + X ഉപയോഗിച്ച് ഫയൽ സംരക്ഷിച്ച് എഡിറ്റർ അടയ്ക്കുക.

ഞങ്ങൾ ക്ലയന്റിലേക്ക് ഫയലുകൾ കൈമാറുന്നു. ഇത് ചെയ്യാം, ഉദാഹരണത്തിന്, SFTP വഴി അല്ലെങ്കിൽ ഡയറക്ടറി ആർക്കൈവ് ചെയ്ത് വെബ് സെർവർ വഴി "നൽകുക".

ക്ലയന്റ് കണക്ഷൻ.

ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തെ ആശ്രയിച്ച്, ഇൻസ്റ്റലേഷൻ ഫയൽ ഡൗൺലോഡ് ചെയ്യുക അല്ലെങ്കിൽ റിപ്പോസിറ്ററിയിൽ നിന്ന് ഇൻസ്റ്റാൾ ചെയ്യുക. എന്നതിൽ നിന്നും നിങ്ങൾക്ക് OpenVPN ലഭിക്കും ഔദ്യോഗിക വെബ്സൈറ്റ് .

വിൻഡോസ്:

വിൻഡോസ് പ്രവർത്തിക്കുന്ന കമ്പ്യൂട്ടറുകൾക്കായി, നിങ്ങൾ ഔദ്യോഗിക സൈറ്റിൽ നിന്ന് ഉൽപ്പന്ന വിതരണം ഡൗൺലോഡ് ചെയ്യണം, തത്ഫലമായുണ്ടാകുന്ന "നാല് ഫയലുകൾ" C: Program FilesOpenVPNconfig എന്ന ഫോൾഡറിൽ സ്ഥാപിക്കണം.

OpenVPN GUI സമാരംഭിച്ചതിന് ശേഷം, സിസ്റ്റം ട്രേയിൽ പ്രോഗ്രാം ഐക്കൺ ദൃശ്യമാകും. വലത് മൗസ് ബട്ടൺ ഉപയോഗിച്ച് ഞങ്ങൾ അതിൽ ക്ലിക്ക് ചെയ്യുക, ബന്ധിപ്പിക്കുക (കണക്റ്റ് ചെയ്യുക) തിരഞ്ഞെടുക്കുക.

macOS:

MacOS-നുള്ള OpenVPN കുറച്ചുകൂടി സങ്കീർണ്ണമാണ്. നിങ്ങൾ ടണൽബ്ലിക്ക് ഓപ്പൺ സോഴ്സ് ടൂൾ ഉപയോഗിക്കണം. കീകളും കോൺഫിഗറേഷൻ ഫയലും ~/ലൈബ്രറി/ആപ്ലിക്കേഷൻ സപ്പോർട്ട്/ടണൽബ്ലിക്ക്/കോൺഫിഗറേഷനുകളിൽ സ്ഥാപിക്കണം. അല്ലെങ്കിൽ കോൺഫിഗറേഷൻ ഫയലിൽ ഡബിൾ ക്ലിക്ക് ചെയ്യുക.

ലിനക്സ്:

നിങ്ങൾ റിപ്പോസിറ്ററിയിൽ നിന്ന് ഇൻസ്റ്റാൾ ചെയ്യണം.

ഡെബിയൻ/ഉബുണ്ടുവിനായി:

apt-get install openvpn

CentOS/OpenSUSE/Fedora-ൽ നിന്ന്:

yum install openvpn -y

ഇൻസ്റ്റാളേഷന് ശേഷം, കീകളുള്ള കോൺഫിഗറേഷൻ ഫയൽ സ്ഥിതിചെയ്യുന്ന ഫോൾഡറിലേക്ക് പോയി കമാൻഡ് പ്രവർത്തിപ്പിക്കുക:

sudo openvpn --config client.ovpn

സെർവറിന്റെ പ്രവർത്തനം പരിശോധിക്കുന്നതിന്, നിങ്ങളുടെ IP വിലാസം കാണിക്കുന്ന ഏതെങ്കിലും സൈറ്റുകൾ നിങ്ങൾ ഉപയോഗിക്കണം.

നിങ്ങളുടെ ക്ലൗഡ് യാത്ര ആരംഭിക്കണോ? ഇപ്പോൾ തന്നെ ആദ്യപടി സ്വീകരിക്കുക.