Установка и настройка OpenVPN на CentOS
Сервер:
1. Устанавливаем репозиторий EPEL:
# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
2. Устанавливаем и настраеваем OpenVPN
yum install openvpn
cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/
cp /usr/share/doc/openvpn-*/sample-config-files/client.conf /etc/openvpn/
cp -R /usr/share/openvpn/easy-rsa/2.0 /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
cp openssl-1.0.0.cnf openssl.cnf
mkdir keys
nano vars
----------------------------------------------
export KEY_COUNTRY="RU"
export KEY_PROVINCE="RU"
export KEY_CITY="Moscow"
export KEY_ORG="Kontinent-M"
export KEY_EMAIL="admin2.msk@kontinent.info"
----------------------------------------------
source ./vars
./clean-all
./build-ca
./build-key-server KontinentMoscow
./build-dh
mkdir /etc/openvpn/ccd
mkdir /etc/openvpn/keys
3.Правим /etc/openvpn/server.conf
port 51194
proto udp
tls-server
dev tun100
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/KontinentMoscow.crt
key /etc/openvpn/keys/KontinentMoscow.key
dh /etc/openvpn/keys/dh1024.pem
client-config-dir /etc/openvpn/ccd
server 192.168.100.0 255.255.255.0
# Передаём клиенту настройки DNS серверов
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"
# Передаём клиенту параметры роутинга до сети
push "route 192.168.0.0 255.255.0.0"
route 192.168.0.0 255.255.0.0
client-to-client
keepalive 10 120
user nobody
group nobody
persist-key
persist-tun
ifconfig-pool-persist /var/log/openvpn/ipp.txt
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 3
mute 20
4. Создаём сертификат и ключи для клиента:
cd /etc/openvpn/easy-rsa/
. vars
./build-key vladivostok
cp keys/vladivostok.* /etc/openvpn/keys
nano /etc/openvpn/ccd/vladivostok
-------------------------------------------------
# Передаём серверу настройки роутинга до клиента
iroute 192.168.0.0 255.255.255.0
# Присваиваем клиенту статический ip адрес
ifconfig-push 192.168.100.13 192.168.100.14
-------------------------------------------------
5. Создаём архив ключей и сертификатов
# tar -cf vladivostok.tar vladivostok.* ca.crt
Клиент:
1. Копируем с сервера архив с ключами, созданный в п.5
# scp root@123.45.67.89:/etc/openvpn/keys/vladivostok.tar /etc/openvpn/keys
2. Правим конфигурационный фаил
# nano /etc/openvpn/client.conf
----------------------------------------------------
client
dev tun
proto tcp
remote 194.186.177.54 51194
resolv-retry infinite
nobind
keepalive 5 20
user nobody
group nobody
persist-key
persist-tun
keepalive 10 60
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vladivostok.crt
key /etc/openvpn/keys/vladivostok.key
verb 3
-----------------------------------------------------