Статии

OpenVPN

Това е бърз начин за инсталиране на OpenVPN сървър, така че няма да се задълбочаваме в по-специални настройки.

 


sudo passwd # избирате парола за rootа
su # и въвеждате паролата, която току шо избрахте за root потребителя

 

# Ъпдейтнете системата. Това става по-следният начин:
apt-get update -y
apt-get upgrade -y

# Инсталирайте OpenVPN и iptables firewall:
apt-get install openvpn udev iptables

# Копирайте default директорията easy-rsa:
cp -R /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn

# Влезте в директорията. Не се притеснявайте, че пише 2.0, тя е там:
cd /etc/openvpn/easy-rsa/2.0/

# Направете променливите:
. /etc/openvpn/easy-rsa/2.0/vars

# Ако при изпълнение на тази команда получите: "./vars: Permission denied" Ви е нужно nano /etc/openvpn/easy-rsa/whichopensslcnf или какъвто и да е едитор. Въведете:
!/bin/sh
cnf="$1/openssl.cnf"
if [ "$OPENSSL" ]; then
if $OPENSSL version | grep -E "0\.9\.6" > /dev/null; then
cnf="$1/openssl-0.9.6.cnf"
elif $OPENSSL version | grep -E "0\.9\.8" > /dev/null; then
cnf="$1/openssl-0.9.8.cnf"
elif $OPENSSL version | grep -E "1\.0\.[[:digit:]]" > /dev/null; then
cnf="$1/openssl-1.0.0.cnf"
else
cnf="$1/openssl.cnf"
fi
fiecho $cnf
if [ ! -r $cnf ]; then
echo "**************************************************************" >&2
echo " No $cnf file could be found" >&2
echo " Further invocations will fail" >&2
echo "**************************************************************" >&2
fi
exit 0

# и коригирайте файла, т.е. премахнете всички [[:alnum:]]
. /etc/openvpn/easy-rsa/2.0/clean-all

# Създайте сертификат:
. /etc/openvpn/easy-rsa/2.0/build-ca

# Създайте сертификат и ключ за вашият сървър:
. /etc/openvpn/easy-rsa/2.0/build-key-server server

# Сега вече създайте клиент (можете да повтаряте тази стъпка, като подменяте с името на вашия клиент):
. /etc/openvpn/easy-rsa/2.0/build-key client1

# Създайте параметрите на Diffie Hellman:
. /etc/openvpn/easy-rsa/2.0/build-dh

# Отворете директорията с ключовете:
cd /etc/openvpn/easy-rsa/2.0/keys

# Копираите нужните ключове в /etc/openvpn:
cp ca.crt ca.key dh1024.pem server.crt server.key /etc/openvpn

# Влезте в директорията с примерните конфигурационни файлове:
cd /usr/share/doc/openvpn/examples/sample-config-files

# Разархивирайте конфигурационните файлове на сървъра:
gunzip -d server.conf.gz

# Копирайте примерните файлове на сървъра в /etc/openvpn:
cp server.conf /etc/openvpn/

# Копирайте примерната конфигурация за клиента във вашата хоум директория:
cp client.conf ~/

# Влезте в home директорията:
cd ~/

# Стартирайте OpenVPN сървъра:
/etc/init.d/openvpn start

Вече имате OpenVPN сървър, работещ на порт 1194. Също имате и създаден ключ за клиента / клиентите (стъпката, която можехте да повтаряте, за да създавате още клиенти с различни имена).
Сега е нужно да копирате клиентските файлове ".crt и .key" от директорията /etc/openvpn/easy-rsa/2.0/keys на вашата клиентска машина.
Ако вашата клиентска машина е с Linux и с адрес 192.168.1.1, а вашият потребител е user1 на тази машина, следващите стъпки ще ви позволят да изпратите файловете през ssh на отдалечената машина в папка /home/user1.

# Изпращане ключовете на клиентската машина "командите се изпълняват на сървъра!":

cd /etc/openvpn/easy-rsa/2.0/keys
scp client1.key Този имейл адрес е защитен от спам ботове. Трябва да имате пусната JavaScript поддръжка, за да го видите. .1.1:/home/user1
scp client1.crt Този имейл адрес е защитен от спам ботове. Трябва да имате пусната JavaScript поддръжка, за да го видите. .1.1:/home/user1
scp ca.crt Този имейл адрес е защитен от спам ботове. Трябва да имате пусната JavaScript поддръжка, за да го видите. .1.1:/home/user1
scp client.conf Този имейл адрес е защитен от спам ботове. Трябва да имате пусната JavaScript поддръжка, за да го видите. .1.1:/home/user1

# След което можете да се SSH-нете клиентскаta машина и да копирате фаjловете от хоум директорията в /etc/openvpn.
# Конфигуриране на клиента "командите се изпълняват на клиентската машина!":

sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install openvpn udev iptables -y
cd /home/pesho
sudo mv client1.key /etc/openvpn
sudo mv client1.crt /etc/openvpn
sudo mv ca.crt /etc/openvpn
sudo mv client.conf /etc/openvpn
cd /etc/openvpn
vim client.conf

# можете да използвате всякакъв едитор не е нужно да е vim или nano или mcedit
# Сега трябва да промените файла client.conf така, че да каже на клиента да се свърже с вашия сървър. За целта трябва да промените стринга, започващ с remote.
# Променете адреса 10.10.10.2 с адреса на вашият сървър или име. Пуснете OpenVPN сървъра и той трябва да се свърже с вашия VPN сървър.
# Конфигурираме клиента "командите се изпълняват на клиентската машина!"

remote 10.10.10.2 1194
sudo /etc/init.d/openvpn start

# По-подразбиране вашият сървър получава ип адрес 10.8.0.1.
# Ако ползвате Windows 7, Windows Vista, Windows XP, Windows 2000, изтеглете клиента от официалния сайт на OpenVPN. Ето линк към него, за да не го търсите: http://openvpn.net/index.php?option=com_content&id=357
# Тук има обяснение как да го инсталирате: http://openvpn.net/index.php/access-server/docs/admin-guides/395-how-to-install-the-openvpn-client-on-windows.html
# Ако след завършване на инсталацията Windows не се връзва към сървъра ползвайте този скрпт:

client
dev tun
proto udp
remote 192.168.1.19 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3

# Tози скрипт слагате в папка C:\Program Files\OpenVPN Technologies\OpenVPN Client\prism
където трябва да са и кличовете на клиента. Посочвате пътя на скрипта от openvpn-client и сте готови.