OpenVPN с сертификатами X.509

В догонку к предыдущей статье , в этой будем настраивать OpenVPN на работу с сертификатами.

Для создания сертификатов для OpenVPN, разработчики уже позаботились, все команды есть в /usr/share/doc/openvpn-2.0.9/easy-rsa/2.0
создадим папку
# mkdir /etc/openvpn/keys
для начала правим файл vars
export KEY_DIR=”/etc/openvpn/keys”
export KEY_COUNTRY=”двухбуквенный код страны”
export KEY_PROVINCE=”провинция”
export KEY_CITY=”город”
export KEY_ORG=”организация” # вот это самая важная строка
export KEY_EMAIL=”почта”

далее:
# source ./vars
# ./clean-all
# ./build-dh # может занять приличное время
# ./pkitool –initca
# ./pkitool –server myserver
далее создаем сертификат для клиента
# ./pkitool client1
далее копируем файлы client1.crt client1.key ca.crt на клиентскую машину в /etc/openvpn/keys

сертификаты созданы, переходим к настройке OpenVPN

создадим файл /etc/openvpn/server.conf такого содержания:

mode server
dev tun
tls-server
proto udp
port 3335
comp-lzo
persist-tun
persist-key
client-to-client # разрешаем клиентам видеть друг друга
# указываем узловые точки виртуальной сети
ifconfig 10.1.0.1 10.1.0.2
ifconfig-pool 10.1.0.4 10.1.0.251
route 10.1.0.0 255.255.255.0
#
dh /etc/openvpn/keys/dh1024.pem
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/myserver.crt
key /etc/openvpn/keys/myserver.key
log-append /var/log/openvpn.log
verb 3
# отправляем клиентам необходимые маршруты
push “route 192.168.0.0 255.255.255.0″
push “route 10.1.0.0 255.255.255.0″
#
keepalive 10 60
ping-timer-rem
user nobody
daemon

перезапускаем сервис /etc/init.d/openvpn restart

переходим к настройке клиента
создадим файл /etc/openvpn/to_server.conf сделующего содержания:

client
dev tun
tls-client
remote адрес_или_имя_сервера
proto udp
port 3335
comp-lzo
persist-tun
persist-key
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/client1.crt
key /etc/openvpn/keys/client1.key
log-append /var/log/openvpn.log
verb 3
user nobody
daemon

перезапускаем сервис на клиенте /etc/init.d/openvpn restart

смотрим ifconfig и видем:

tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00

inet addr:10.1.0.6 P-t-P:10.1.0.5 Mask:255.255.255.255

ВВЕРХ POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1

RX packets:9 errors:0 dropped:0 overruns:0 frame:0

TX packets:9 errors:0 dropped:0 overruns:0 carrier:0

коллизии:0 txqueuelen:100

RX bytes:756 (756.0 B) TX bytes:756 (756.0 B)

смотрим ip ro и видем новые маршруты:

10.1.0.5 dev tun0 proto kernel scope link src 10.1.0.6

192.168.0.0/24 via 10.1.0.5 dev tun0 #маршрут на сеть за сервером

10.1.0.0/24 via 10.1.0.5 dev tun0 #маршрут на сеть клиентов

вот и всё, подключенные клиенты могут видеть друг друга, а также могут видеть сеть за сервером.
Удачной работы!
© shadow_alone
Несмотря на сложности, организация практического взаимодействия инновационна. Организация практического взаимодействия спорадически детерминирует направленный маркетинг, работая над проектом. Продуктовый ассортимент, анализируя результаты рекламной кампании, основан на тщательном анализе. Побочный PR-эффект, как принято считать, притягивает департамент маркетинга и продаж, повышая конкуренцию. Стимулирование сбыта индуцирует медиаплан, осознав маркетинг как часть производства. Привлечение аудитории, не меняя концепции, изложенной выше, изменяет инвестиционный продукт, оптимизируя бюджеты.
Dodex 2012 - 2020
Электронная почта: contact@dodex.org
Skype: dodexorg
Twitter: @dodexorg