Статистика

Участников проекта 105
Опубликовано статей 78
Отчет по карме. Топ 20

Новости блога

1 29.11.2013  Сегодня самым активным участникам newblog'а был выплачен доход с sape.
7 02.11.2012  Ура! Свешилось, нашему сайту дали тИЦ 10. Спасибо всем кто принимает участие в развитии нашего блога.
8 21.08.2012  Интеграция с sape.ru. Теперь каждый автор статей на newblog автоматически зарабатывает на рекламе.
Все новости

Топ 5 категорий

Программирование 46
Операционные системы 9
Базы данных 4
Туризм 2
Заметки 2

Последние 5 заметок (90)

gullyar - Закладки gullyar
gullyar - Ваша первая закладка
osadchaya - Закладки osadchaya
Ira0231188 - Закладки Ira0231188
Ira0231188 - Закладки Ira0231188

Ссылки

www.freedev.asia

Установка и настройка клиента OpenVPN на Linux (Ubuntu) и Windows, а так же установка и настройка сервера OpenVPN на ОС Ubuntu Server.

04.10.2012 09:00 | Просмотров: 8429 | Доход: 266.65 руб. | Комментариев: 6
[Программирование] 
Рейтинг: 4.25/4

Подключение и авторизация пользователей осуществляется при помощи сертификатов.

Первым делом нужно установить OpenVPN:

sudo -i
apt-get install openvpn

Далее настравиваем сервер OpenVPN

Нужно создать в папке /etc/openvpn файл server.conf:

nano /etc/openvpn/server.conf

Файл содержит следующий текст:

# порт
port 1194

# протокол
proto udp
dev tun
# пути к ключам и сертификатам
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
# подсеть для сети openvpn
server 10.10.10.0 255.255.255.0
# содержит информацию о ip адресах клиентов
# файл необходимо создать вручную
ifconfig-pool-persist ipp.txt
# передача клиенту информацию о домашней сети, то что за сервером
push "route 10.20.0.0 255.255.255.0"
# передача dns клиенту
push "dhcp-option DNS 10.20.0.1"
# интервал пинга хоста 10 сек, если не отвечает
# 120 сек то считать недоступным
keepalive 10 120
# сжатие
comp-lzo
# понижение привилегий сервера до указанных
user nobody
group nogroup
persist-key
persist-tun
# уровень информативности логов
verb 4
mute 20
# разрешить клиентам видеть друг друга
client-to-client
# конфиги клиентов
client-config-dir /etc/openvpn/ccd
# маршурт что бы с компьютеров из сети за сервером
# был доступ к клиентам
route 10.10.10.0 255.255.255.0

Затем нужно создать ключи и сертификаты:

cd  /usr/share/doc/openvpn/examples/easy-rsa/2.0
bash
. ./vars
./clean-all
./build-ca


Далее идет создание сертификата и ключа для сервера:

./build-key-server server



Дальше создаем ключ для клиента (myсlient — имя клиента, которое является уникальным):

 

./build-key myсlient



В дальнейшем что бы добалять еще клиентов необходимо сделать следующее:

cd  /usr/share/doc/openvpn/examples/easy-rsa/2.0
source ./vars
./build-key myckient2



Нужно сгенерировать параметры
 

 ./build-dh


И скопировать в папку /etc/openvpn эти файлы:

ca.crt
server.crt
dh1024.pem
server.key

Как настроить клиент

Файл конфигурации в windows отличаться от того что в Ubuntu. В ubuntu — /etc/openvpn/client.conf, в windows по умолчанию в C:\Program Files\OpenVPN\сonfig\openvpn.ovpn

# адрес сервера
remote 86.120.31.20 1194
# указываем что клиент
client
dev tun
proto udp
resolv-retry infinite
nobind
persist-key
persist-tun
# пути к ключам и сертификатам клиента
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 4
mute 20



Для корректной работы нужно копировать с сервера в папку /etc/openvpn/ (C:\Program Files\OpenVPN\сonfig\) клиентские ключи сгенерированные ранее и авторитарный сертификат сервера:

ca.crt
client1.crt
client1.key


При необходимости получить доступ к сети за клиентом (например 192.168.2.0) то:
нужнодобавить строки в файл server.conf

client-config-dir ccd
route 192.168.2.0 255.255.255.0



и еще нужно создать файл /etc/openvpn/ccd/myclient вот такого содержания:   

 

iroute 192.168.2.0 255.255.255.0

 


© Tiger
| Комментировать статью |
  • GM +2587 (04.10.2012 09:38)
    "cd  /usr/share/doc/openvpn/examples/easy-rsa/2.0
    bash"
    Тут опечатки нет? в bash\'е же по дефолту... ?
    
    
    | Ответить |
  • alexander +4 (04.11.2012 13:13)
    При генерации параметров выдает
    bash: ./build-dh: Нет такого файла или каталога
    Что я делаю не правильно?
    
    | Ответить |
    • Tiger +458 (05.11.2012 13:38)
      перешел в папку "cd  /usr/share/doc/openvpn/examples/easy-rsa/2.0"???
      там должен быть файл build-dh
      все это нужно делать из под рута
      | Ответить |
      • alexander +4 (14.11.2012 17:36)
        Получилось, действительно не в том каталоге смотрел. Спасибо! 
        ЗЫ:Только щас руки дошли отписаться..
        | Ответить |
    • GM +2587 (06.11.2012 09:13)
      Чтобы выяснить текущее месторасположение, наберите в консоли pwd
      | Ответить |
  • Аноним 0 (07.01.2016 11:26)
    Спасибо за пост. В некоторых случаях нужно быстро поднять тунель между двома точками. И самый быстрый способ с минимальной безопасностью, это общий ключ, как пишут, к примеру здесь - http://sysadm.pp.ua/linux/shifrovanie/openvpn-point-to-point.html . Генерацию ключей через OpenSSL никто не подскажет как делать?
    | Ответить |