Настройка openvpn в Centos 6. Установка openvpn

установка и настройка openvpn выполняется через репозиторий epel.
подключаем репозиторий epel, ставим openvpn и easy-rsa

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum install -y openvpn easy-rsa
chkconfig openvpn on #автозапуск

Генерация сертификатов для openvpn

На все вопросы понажимать просто Enter, при генерации сертификатов клиента и сервера там в конце надо будет будет два раза нажать “y” на вопросы “y/n”


cd /usr/share/easy-rsa/2.0
source vars
./clean-all
/usr/share/easy-rsa/2.0/build-ca
/usr/share/easy-rsa/2.0/build-dh
/usr/share/easy-rsa/2.0/build-key-server server
/usr/share/easy-rsa/2.0/build-key client1
mv /usr/share/easy-rsa/2.0/keys/ /etc/openvpn/
chmod 640 /etc/openvpn/keys/server.key && chgrp nobody /etc/openvpn/keys/server.key

Настройка iptables для openvpn

В скрипте запуска /etc/init.d/openvpn находим строку и раскомментируем ее:

echo 1 > /proc/sys/net/ipv4/ip_forward

Создаем правила iptables на сервере:

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

Если это VPS на Openvz, тогда такие правила:

iptables -t nat -A POSTROUTING -o venet0 -j SNAT --to IP_Адрес_Вашего_ВПС
iptables -A FORWARD -i venet0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o venet0 -j ACCEPT

Сохраняем правила iptables:

iptables-save > /etc/sysconfig/iptables

Настройка конфигурационных файлов

создаем файл на сервере /etc/openvpn/server.conf:

port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push “redirect-gateway def1 bypass-dhcp”
push “dhcp-option DNS 8.8.8.8” # здесь ДНС гугла 8.8.8.8 можно заменить на ДНС из файла /etc/resolv.conf на сервере.
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
log /var/log/openvpn.log
verb 3

Установить openvpn gui клиент на Вашу машину, если это windows обычно.
в директорию с конфигами клиента C:\Program Files\OpenVPN\config из папки /etc/openvpn/keys/ на сервере скопировать файлы:

ca.crt
client1.crt
client1.key

В C:\Program Files\OpenVPN\config создать файл client1.ovpn:

client
dev tun
proto udp
remote ТУТ_IP_АДРЕС_СЕРВЕРА_OPENVPN_ИЛИ_ДОМЕН 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3

файлик с разширением .ovpn можно взять из папки C:\Program Files\OpenVPN\sample-config и перезаписать его 😉
В принципе, все готово, можно запускать openvpn клиент и подключаться к серверу.

Небольшой бонус ненужной информации по openvpn

– чтобы просто подключаться по локальной сети openvpn а шлюз для интернет не изменять, в настройках сервера нужно закомментировать
#push "redirect-gateway def1 bypass-dhcp"
– примеры конфигов можно взять из папки /usr/share/doc/openvpn-2.*/sample/sample-config-files/
– пример скрипта для iptables /usr/share/doc/openvpn-2.*/sample/sample-config-files/firewall.sh
– для тестирования сертификаты можно не генерить а взять готовые из rpm-ки так( в одну строчку запустить):

mkdir /etc/openvpn/keys; for i in client.crt client.key dh1024.pem server.key ca.key server.crt ca.crt; do cp /usr/share/doc/openvpn-2.*/sample/sample-keys/$i /etc/openvpn/keys/; done

– для работы openvpn на vps openvz, администратор openvz должен выполнить команды:

vzctl set $CTID --devnodes net/tun:rw --save
vzctl set $CTID --devices c:10:200:rw --save
vzctl set $CTID --capability net_admin:on --save
vzctl exec $CTID mkdir -p /dev/net
vzctl exec $CTID mknod /dev/net/tun c 10 200
vzctl exec $CTID chmod 600 /dev/net/tun
vzctl restart $CTID

установка openvpn с исходников описана по этой ссылке

3 comments on “Настройка openvpn в Centos 6. Установка openvpn

  1. SysOp 14.12.2015 22:45

    Что бы работал полноценный гейт нужно исправить строку:
    push “redirect-gateway def1 bypass-dhcp”
    на
    push “redirect-gateway def1”

  2. aprog 16.01.2016 18:46

    Спасибо за пост. Еще интересует настройка мобильных клиентов. Посоветуйте, пожалуйста, хорошый и удобный мобильный OpenVPN клиент ?

  3. admin 17.01.2016 19:58

    OpenVPN for Android

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>