Si të instaloni dhe konfiguroni OpenVPN në OpenSUSE Leap 42.1


VPN ose Rrjeti Privat Virtual është një rrjet privat i sigurt mbi një rrjet publik si interneti. Një VPN është një tunel i sigurt përmes internetit i cili mbron trafikun tuaj të të dhënave dhe rrit privatësinë dhe sigurinë e internetit. Qasja në VPN është e kufizuar nga metoda të sigurta vërtetimi.

OpenVPN është një softuer me burim të hapur për të ndërtuar rrjete private virtuale, ai përdor bibliotekën OpenSSL për të kriptuar të dhënat e tunelizuara dhe mbështet transportet UDP ose TCP. OpenVPN mund të përdorë çelësat e para-ndarë, mekanizmat e vërtetimit të bazuar në certifikatë dhe me emrin e përdoruesit/fjalëkalimin.

Në këtë tutorial, unë do t'ju tregoj se si të zbatoni një rrjet privat virtual duke përdorur OpenVPNvpn nën sistemin operativ Linux OpenSUSE Leap 42.1.

Kushtet paraprake

  • OpenSUSE Leap 42.1 - 64 bit
  • Privilegjet e rrënjës
  • TUN/TAP i aktivizuar

Hapi 1 - Kontrolloni nëse TUN/TAP është i aktivizuar

Nëse dëshironi të krijoni një VPN në serverin tuaj, sigurohuni që TUN/TAP të jetë instaluar dhe aktivizuar. Ju mund ta kontrolloni atë me komandën e mëposhtme:

cat /dev/net/tun

Rezultati duhet të jetë:

cat: /dev/net/tun: File descriptor in bad state

Hapi 2 - Instaloni OpenVPN

OpenVPN është i disponueshëm në depon e OpenSUSE. Mund ta instaloni duke përdorur komandën zypper:

zypper in openvpn

Hapi 3 - Konfigurimi i Easy-RSA

Më pas, shkarkoni easy-rsa për të gjeneruar një skedar certifikate. Easy-rsa është një mjet për të menaxhuar certifikatat, mund të krijoni autoritetin e certifikatës rrënjësore me të dhe të kërkoni dhe nënshkruani certifikatat.

Shkoni te drejtoria OpenVPN dhe shkarkoni easy-rsa me komandën wget:

cd /etc/openvpn/
wget https://github.com/OpenVPN/easy-rsa/archive/release/2.x.zip

Ekstraktoni arkivin dhe zhvendosni direktorinë easy-rsa:

unzip 2.x.zip
mv easy-rsa-release-2.x/easy-rsa/ /etc/openvpn/
rm -rf easy-rsa-release-2.x/

Konfiguro çelësin

Shkoni te direktoria easy-rsa dhe modifikoni skedarin vars për të konfiguruar çelësin dhe certifikatën:

cd easy-rsa/2.0/
vim vars

Rreshti 53 - Nëse jeni vërtet paranojak, mund të rrisni madhësinë e çelësit.

export KEY_SIZE=2048

Rreshti 56 dhe 59 - Për sa ditë do të skadojnë çelësi dhe certifikata.

export CA_EXPIRE=3650
export KEY_EXPIRE=3650

Rreshti 64 - 72 - Ndryshoni vlerën e paracaktuar të informacionit të çelësit dhe certifikatës.

export KEY_COUNTRY="US"
export KEY_PROVINCE="California"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL=""
export KEY_OU="MyOrganizationalUnit"
export KEY_NAME="EasyRSA"

Ruani skedarin dhe dilni.

Inicializoni PKI-në

Më pas, inicializoni PKI (Infrastruktura e Çelësave Publike):

source ./vars && ./clean-all && ./build-ca

Ne do të lëmë vlerën e paracaktuar, thjesht shtypni \Enter\.

Gjeneroni parametrat e Diffie Hellman

Ekzekutoni komandën më poshtë:

./build-dh

Do të shihni daljen:

Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
..................................

Gjeneroni çelësin privat të serverit

Gjeneroni çelësin privat me emrin \server\:

./build-key-server server

Shtypni enter dhe shkruani \y\ për të konfirmuar gjenerimin e çelësit.

Krijoni çelës dhe certifikatë për klientin

Gjeneroni çelësin e klientit dhe certifikatën me emrin \client1\:

./build-key client1

Shtypni enter dhe shkruani \y\ për të konfirmuar gjenerimin e çelësit.

Çelësi dhe certifikata janë krijuar në drejtorinë \çelësat\. Tani bëni një kopje të drejtorisë \keys\ dhe vendoseni në drejtorinë \openvpn\.

cp -r keys/ /etc/openvpn/

Hapi 4 - Konfiguro OpenVPN

Në këtë hap, ne do të konfigurojmë OpenVPN për të ekzekutuar në protokollin UDP, duke përdorur portin 2034 për lidhjen e klientit. Krijoni serverin e ri të skedarit të konfigurimit.conf në drejtorinë OpenVPN.

cd /etc/openvpn/
vim server.conf

Ngjitni konfigurimin më poshtë:

#change with your port
port 2034

#You can use udp or tcp
proto udp

# "dev tun" will create a routed IP tunnel.
dev tun

#Certificate Configuration

#ca certificate
ca /etc/openvpn/keys/ca.crt

#Server Certificate
cert /etc/openvpn/keys/server.crt

#Server Key and keep this is secret
key /etc/openvpn/keys/server.key

#See the size a dh key in /etc/openvpn/keys/
dh /etc/openvpn/keys/dh2048.pem

#Internal IP will get when already connect
server 10.10.2.0 255.255.255.0

#this line will redirect all traffic through our OpenVPN
push "redirect-gateway def1"

#Provide DNS servers to the client, you can use goolge DNS
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"

#Enable multiple client to connect with same key
duplicate-cn

keepalive 20 60
comp-lzo
persist-key
persist-tun
daemon

#openvpn status log
status /var/log/openvpn/openvpn-status.log

#enable log
log-append /var/log/openvpn/openvpn.log

#Log Level
verb 3

Ruani skedarin dhe dilni nga redaktori.

Tjetra, krijoni një drejtori dhe skedar të ri për regjistrin e openvpn:

mkdir -p /var/log/openvpn/
touch /var/log/openvpn/{openvpn,openvpn-status}.log

Hapi 5 - Konfiguro SuSEfirewall2

SuSEfirewall2 është një skript për gjenerimin e rregullave iptables bazuar në skedarin \/etc/sysconfig/SuSEfirewall2\. Ne do të instalojmë SuSEfirewall2 dhe më pas do të konfigurojmë portin për të hyrë në OpenVPN, më pas do të aktivizojmë NAT me një skript iptables për OpenVPN.

Instaloni SuSEfirewall2 me komandën zypper:

zypper in SuSEfirewall2

Tani, shkoni te direktoria sysconfig dhe modifikoni skedarin e konfigurimit SuSEfirewall2:

cd /etc/sysconfig/
vim SuSEfirewall2

Linja 134 - Aktivizo itinerarin.

FW_ROUTE="yes"

Rreshti 253 - Aktivizo portin TCP 22 për akses SSH nga jashtë rrjetit.

FW_SERVICES_EXT_UDP="22"

Rreshti 267 - Aktivizo portin udp për aksesin e klientit openvpn - porti 2034.

FW_SERVICES_EXT_UDP="2034"

Rreshti 877 - Aktivizo rregullat e personalizuara SuSEfirewall2.

FW_CUSTOMRULES="/etc/sysconfig/scripts/SuSEfirewall2-custom"

Ruaje dhe dil.

Më pas, modifikoni rregullat e personalizuara SuSEfirewall2 në drejtorinë e skripteve.

cd /etc/sysconfig/scripts/
vim SuSEfirewall2-custom

Brenda direktivës \fw_custom_after_chain_creation\, ngjisni rregullat e reja iptables për OpenVPN:

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 10.10.2.0/24 -j ACCEPT
iptables -A FORWARD -j REJECT
iptables -t nat -A POSTROUTING -s 10.10.2.0/24 -o eth0 -j MASQUERADE

Ruaje dhe dil.

Shënim:

IP 10.10.2.0/24 është rrjeti nga skedari i konfigurimit server.conf OpenVPN.

Tani mund të aktivizojmë përcjelljen duke shtuar këtë linjë të re konfigurimi në skedarin sysctl.conf.

vim /etc/sysctl.conf

Ngjitni konfigurimin më poshtë:

net.ipv4.ip_forward = 1

Ruaje dhe dil.

Shënim:

Nëse e keni rreshtin tashmë në skedar, ndryshoni vlerën nga \0\ në \1\ në vend që të shtoni një rresht të ri.

Tani ekzekutoni komandën më poshtë për të aplikuar ndryshimin e konfigurimit.

sysctl -p

Nisni serverin SuSEfirewall2 dhe OpenVPN:

systemctl start SuSEfirewall2
systemctl start

Nëse keni një gabim, mund të shihni mesazhin e detajuar të gabimit në regjistrin e OpenVPN.

Shtoni të gjitha shërbimet në fillimin e sistemit:

systemctl enable SuSEfirewall2
systemctl enable

Hapi 5 - Konfiguro klientin

Shkarkoni çelësin e klientit dhe certifikatën nga drejtoria e çelësave në kompjuterin tuaj lokal. Ju mund të përdorni komandën scp ose sftp, jam këtu duke përdorur scp:

Komanda që duhet të ekzekutohet në kompjuterin lokal.

scp :~/etc/openvpn/keys/client1.key ~/myvpn/

Në direktorinë myvpn, krijoni një skedar të ri konfigurimi për klientin \client1.ovpn\.

cd ~/myvpn/
vim client1.ovpn

Ngjitni konfigurimin më poshtë:

client
dev tun
proto udp

#Server IP and Port
remote SERVERIP 2034

resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo

Ruaje dhe dil.

Për t'u lidhur me VPN-në tonë, mund të instaloni një klient VPN ose nëse jeni duke përdorur Linux, mund të përdorni \Network-Manager\. Nëse dëshironi të testoni VPN-në me një terminal, mund të përdorni komandën më poshtë:

cd ~/myvpn/
sudo openvpn --config client1.ovpn

Referenca