Не знаю по какой причине, но в версии CentOS 6.x отсутствует такой чудесный пакет как OpenVPN. А он частенько бывает нам необходим. К счастью существует достаточно дополнительных репозитариев, где все это есть.
Итак, приступим.
Первым делом подключим репозитарий, в котором есть наш пакет. В моем примере это будет repoforge.
Заходим в консоль сервера, например, в папку /root, скачиваем необходимый нам rpm пакет, содержащий установку rpmforge и устанавливаем его:
# cd /root
# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm
# rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm
# sudo cat /dev/net/tun
# cat: /dev/net/tun: File descriptor in bad state
# yum install openvpn
# cp -r /usr/share/doc/openvpn-2.2.2/easy-rsa/ /etc/openvpn/
# vi /etc/openvpn/easy-rsa/2.0/vars
меняем строку 29 с:
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
на:
export KEY_CONFIG=/etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf
# chmod 755 /etc/openvpn/easy-rsa/2.0/*
#cd /etc/openvpn/easy-rsa/2.0
# source /etc/openvpn/easy-rsa/2.0/vars
# /etc/openvpn/easy-rsa/2.0/clean-all
# chmod 755 /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/pkitool
# /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-dh
# /etc/openvpn/easy-rsa/2.0/build-key client1
# /etc/openvpn/easy-rsa/2.0/build-key client2
cp -r /etc/openvpn/easy-rsa/2.0/keys/* /etc/openvpn/
cp /usr/share/doc/openvpn-*/sample-config-files/server.conf /etc/openvpn/
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
max-clients 5
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 0
Теперь включаем форвард в ядре. Для этого изменяем в файле /etc/sysctl.conf
# vi /etc/sysctl.conf
строку
net.ipv4.ip_forward = 0
на строку:
net.ipv4.ip_forward = 1
/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
/sbin/iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j SNAT --to-source xxx.xxx.xxx.xxx
iptables-save > /etc/sysconfig/iptables
Перезагружаем OpenVPN и радуемся настроенному VPN.
# service openvpn restart
Более подробно о настройке OpenVPN я писал статье Установка и настройка OpenVPN в CentOS 4. Здесь же описаны основные шаги по установке пакета под centos 6.x
Постоянная ссылка на статью Настройка OpenVPN на CentOS 6.x
Увы, но этот мануал совсем не
Увы, но этот мануал совсем не соответствует реалиям :(
1. Например, команда
# sudo cat /dev/net/tun
выдает:
cat: /dev/net/tun: Операция не позволяется
Или это так и должно быть? Вы вообще не написали, что же должна выдавать эта ваша команда в случае наличия или отсутствия tun.
2. Или:
> А вот дальше начинается самое интересное. Нам нужно сгенерировать ключи для OpenVPN.
> Для этого копируем соответствующий инструментарий в /etc/openvpn:
> # cp -r /usr/share/doc/openvpn-2.2.2/easy-rsa/ /etc/openvpn/
- а вот нету этого каталога .../easy-rsa/ в системе и все тут! И что дальше?
3. Идем дальше:
> Затем необходимо немного изменить файл vars, чтоб он правильно работал в CentOS 6.3.
> Открываем файл /etc/openvpn/easy-rsa/2.0/vars в любимом редакторе и правим:
# vi /etc/openvpn/easy-rsa/2.0/vars
меняем строку 29 с:
export KEY_CONFIG=`$EASY_RSA/whichopensslcnf $EASY_RSA`
на:
export KEY_CONFIG=/etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf
Оч интерсное заявление! Получается, что создатели OpenVPN дураки, и лишь один автор статьи Д'Артаньян и нашел ошибку, и знает как ее исправить?
То хотя бы объяснил тогда, почему именно так, а не иначе, нужно исправлять эту строку, потому что никакой связи с версией 6.3 в этих строках не наблюдается.
А если бы версия была 6.5 или 6.6, тогда как - для каждой подверсии CentOS создавать свой уникальный мануал по установке???
Уважаемый автор, если вы уж производится какие-то свои шаманства, то хотя бы потрудитесь пояснять, почему именно так вы делаете.
И т.д. и т.п. В-общем, статья написана наспех и содержит ряд погрешностей и недомолвок.
С ее помощью мне так и не удалось установить OpenVPN на CentOS 6.6.
И что самое противное, что все подобные статьи на эту же тему не похожи друг друга.
Отсюда возникает печальный чисто философский вопрос: почему заурядная установка сервера OpenVPN разными авторами реализуется по разному?
Во-первых, это как минимум, свидетельствует об отсутствии унификации подхода (а его многообразие в таком деле и нахрен не нужно), во-вторых, это вызывает недоверие к каждому из этих авторов, которые мутят на свой лад и соответственно своему уровню подготовки.
Должен быть единый унифицированный и понятный подход, а не нужно оригинальничать - это вызывает только ошибки и недоумение.
Совершенно верно Вы отметили.
Совершенно верно Вы отметили. Этот мануал для centos 6.x
Конечно, для современных дистрибутивов он не подходит.
Не понял вашу реплику. Ведь я
Не понял вашу реплику. Ведь я и веду речь как раз о CentOS самой свежей версии - 6.6, и опубликованые мною замечания касаются именно его.
В моей заметке речь шла о
В моей заметке речь шла о Centos 6.3
С тех пор вышло значительное количество обновлений для пакета openvpn.
Там есть изменения. Например необходимо доустанавливать пакет easy-rsa, который теперь по умолчанию не входит в пакет openvpn. Соответственно и пути для файлов меняются.
Возможно попозже я напишу заметку по произошедшим изменениям в установке openvpn для более новых дистрибутивов.
Если в Вашей заметке речь
Если в Вашей заметке речь шла, как вы говорите, о версии 6.3, то не вводите людей в заблуждение и исправьте, пожалуйста, название заметки на 6.3
(а не 6.x, которое, как Вы сами признали, не соответствует положению вещей).
Если в Вашей заметке речь
Если в Вашей заметке речь шла, как вы говорите, о версии 6.3, то не вводите людей в заблуждение и исправьте, пожалуйста, название заметки на 6.3
(а не 6.x, которое, как Вы сами признали, не соответствует положению вещей).
Более подробно о настройке
Более подробно о настройке OpenVPN я писал статье Установка и настройка OpenVPN в CentOS 4.
Писать-то писал, но куда она делась?
Так вот же
Так вот же
По поводу OpenVZ там нужно
По поводу OpenVZ там нужно еще добавить модули IPtables, ip_conntrack для работы трансляции адресов
вот в этой инструкции актуальная инфа как это делать (см ниже0)
на вики и форуме openVZ инфа оказалась бесполезной....
http://dedicatesupport.com/content/nastroika-iptables-v-vds-na-baze-openvz
Добрый день. Спасибо за
Добрый день.
Спасибо за статью, все написано грамотно и по делу. Установил openvpn за пару минут. Подключение происходит, в логе ошибок нет, но IP не меняется. Что я делаю не так?
Спасибо.
Сталкивался, надо запустить
Сталкивался, надо запустить клиент OpenVpn от имени Администратора
centos меня расстраивает так
centos меня расстраивает так же сильно как и федора.
я перешел на дебиан. там все есть.
на моих серверах фряха -
на моих серверах фряха - доволен. а вот с центосом дружу не особо ((
Вот уж чушь ))
Вот уж чушь :)))