Авторизация пользователей будет проходить при помощи сертификатов.
Установим OpenVPN:
1
| apt-get install openvpn |
Настройка сервера OpenVPN
Создадим в папке /etc/openvpn файл server.conf:
1
| nano /etc/openvpn/server.conf |
Содержимое файла:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| # порт
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 |
Создаем ключи и сертификаты:
1
2
3
4
5
| cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
bash
. ./vars
./clean-all
./build-ca |
Создаем сертификат и ключ для сервера:
1
| ./build-key-server server |
Создаем ключи для клиента (сlientx — уникальное имя клиента):
Если клиентов необходимо добавить спустя некоторое время то выполним следующие действия:
1
2
3
| cd /usr/share/doc/openvpn/examples/easy-rsa/2.0
source ./vars
./build-key clientn |
Генерируем параметры
./build-dh
Копируем в папку /etc/openvpn следующие файлы:
ca.crt
server.crt
dh1024.pem
server.key
Настройка клиента
Путь к файлу конфигурации в windows будет отличаться. В ubuntu —
/etc/openvpn/client.conf, в windows по умолчанию в C:\Program
Files\OpenVPN\сonfig\openvpn.ovpn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| # адрес сервера
remote 85.114.25.150 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.10.0) то:
необходимо добавить в файл server.conf строки:
1
2
| client-config-dir ccd
route 192.168.10.0 255.255.255.0 |
необходимо создать файл /etc/openvpn/ccd/clientx такого содержания:
1
| iroute 192.168.10.0 255.255.255.0 |
http://network-life.ru/linux/openvpn-ubuntu-server
|