Установка и настройка OpenVPN в CentOS

#Установка OpenVPN:

#Устанавливаем GPG ключ репозитория:

rpm —import http://apt.sw.be/RPM-GPG-KEY.dag.txt

#Скачиваем пакет с информацией о репозитории:
i386:
wget http://apt.sw.be/redhat/el6/en/i386/dag/RPMS/rpmforge-release-0.5.3-1.el6.rf.i386.rpm
x86_64:
wget http://apt.sw.be/redhat/el6/en/x86_64/dag/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

#Проверяем пакет:

rpm -K rpmforge-release-0.5.3-1.el6.rf.*.rpm

#Если проверка прошла успешно, устанавливаем:

rpm -i rpmforge-release-0.5.3-1.el6.rf.*.rpm

#Обновляем локальный кеш:

yum clean all

yum makecache

yum check-update

#Установим OpenVPN:

yum install openvpn

#Добавим openvpn в автозагрузку

chkconfig —level 345 openvpn on

#Настройка OpenVPN:

#Создадим конфигурационные файлы OpenVPN’а

touch /etc/openvpn/openvpn.conf
mkdir /etc/openvpn/ccd
mkdir /etc/openvpn/keys
cp -r /usr/share/doc/openvpn-*/easy-rsa /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0
chmod +x clean-all
chmod +x build*
chmod +x whichopensslcnf
chmod +x pkitool
chmod +x vars
chmod +x revoke-full

#Отредактируем /etc/openvpn/easy-rsa/2.0/vars

export KEY_COUNTRY=RU
export KEY_PROVINCE=NSK
export KEY_CITY=NOVOSIBIRSK
export KEY_ORG=»OpenVPN-TEST-INSTALLATION»
export KEY_EMAIL=»admin@example.com»

#Генерируем параметры Диффи-Хеллмана

openssl dhparam -out /etc/openvpn/dh2048.pem 2048

#Создадим ключи:

cd /etc/openvpn/easy-rsa/2.0

source ./vars
./clean-all
./build-ca
./build-key-server vpnserver
./build-dh

#Генерируем клиентские ключи:

cd /etc/openvpn/easy-rsa/2.0
./build-key clientname
./build-key clientname (в секции Common Name указать clientname)

#Не забудьте принять сертификаты

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

#Генерируем TLS ключ для защиты соединения

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

#Настройка сервера:
#Выше мы уже создали конфигурационный файлик для настроек сервера. Файл может #называться как угодно, главное расширение чтобы было .conf. Наш называется #openvpn.conf

——————server.conf——————-

dev tap0
port 5002
proto udp
mode server

ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpnius.crt
key /etc/openvpn/keys/vpnius.key
dh /etc/openvpn/keys/dh1024.pem
tls-auth /etc/openvpn/keys/ta.key 0 ; (На стороне клиента 1)

cipher AES-256-CBC

local 195.195.130.43
server-bridge 192.168.11.0 255.255.255.0 192.168.11.2 192.168.11.100
ifconfig 192.168.11.1 255.255.255.0

route 192.168.7.0 255.255.255.0 192.168.11.21
route 192.168.9.0 255.255.255.0 192.168.11.25

client-config-dir /etc/openvpn/ccd
client-to-client

keepalive 10 60
comp-lzo
max-clients 10

user nobody
group nobody

persist-key
persist-tun

crl-verify /etc/openvpn/keys/crl.pem ; Проверка отозванных сертификатов
log /var/log/openvpn/openvpn-log.log
log-append /var/log/openvpn/openvpn-log-append.log
status /var/log/openvpn/openvpn-status.log 60
status-version 2
verb 3

client-config-dir /etc/openvpn/ccd — если Вы хотите, чтобы какой-то из клиентов получил индивидуальные настройки, то в этом каталоге создаем файл с названием идентичным названию ключа для этого клиента. В нашем случае это pek_office. И вносим необходимые настройки. Для примера скину свои
ifconfig-push 192.168.11.21 255.255.255.0
#push «route 192.168.9.0 255.255.255.0 192.168.12.21»

————————————————————————

 

#Настройка клиента:
#Создадим конфигурационный файлик для настроек клиента. Файл может называться #как угодно, главное расширение чтобы было .conf

touch /etc/openvpn/client.conf

————————-client.conf——————————-

client

dev tap0

proto udp

remote 195.195.130.43 5002
resolv-retry infinite

nobind

persist-key

persist-tun

ca /etc/openvpn/keys_hab/ca.crt
cert /etc/openvpn/keys_hab/pek_office.crt
key /etc/openvpn/keys_hab/pek_office.key
ns-cert-type server
cipher AES-256-CBC

comp-lzo

log /var/log/openvpn/hab-openvpn-log.log
log-append /var/log/openvpn/hab-openvpn-log-append.log
status /var/log/openvpn/hab-openvpn-status.log 60
status-version 2

verb 3

keepalive 10 60

user nobody
group nobody

————————————————————-

 

#Что бы отозвать какой то сертификат:

cd /etc/openvpn/easy-rsa/2.0/
source ./vars
revoke-full clientname

Print Friendly, PDF & Email
 

Добавить комментарий

Ваш e-mail не будет опубликован.