Debian. Настройка OpenVPN доступа

E-mail Печать PDF

Цель


Настроить безоспасный доступ из интернета в локальную сеть. Конфигурация следующая:

Настройка OpenVPN доступа.

Предусловия


Подробная инструкция

  • Ставим OpenVPN и OpenSSL
aptitude install openvpn openssl
  • Копируем скрипты генерации сертификатов и ключей
cp -R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn/
  • Правим параметры
vi /etc/openvpn/easy-rsa/vars
export KEY_COUNTRY=RU
export KEY_PROVINCE=RU
export KEY_CITY=MOSCOW
export KEY_ORG=Firends
export KEY_EMAIL= Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
  • Инициализируем PKI (Public Key Infrastructure)
cd /etc/openvpn/easy-rsa/
. ./vars
./clean-all
  • Генерируем Certificate Authority (CA) сертификат и ключ
./build-ca

Большинство параметров подхватятся из файла vars. Только параметр Common Name надо указать явно

Common Name (eg, your name or your server's hostname) [ ]: Firends

  • Генерируем параметры Диффи - Хеллмана
./build-dh
  • Генерируем сертификат и секретный ключ сервера
./build-key-server server

Все параметры принимаем по умолчанию. На запрос Common Name вводим server

Common Name (eg, your name or your server's hostname) [ ]:server

На вопросы Sign the certificate? и 1 out of 1 certificate requests certified, commit? отвечаем положительно

Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y

  • Конфигурируем OpenVPN - сервер. Базовый конфиг можно взять с нашего сайта:
cd /etc/openvpn/
wget www.netlly.com/file_stuff/server.conf

Правим конфиг

vi server.conf

В строке

push "route 192.168.17.0 255.255.255.0"

Вместо

192.168.17.0

Прописываем адрес Вашей локальной сети. Запускаем OpenVPN-сервер:

/etc/init.d/openvpn start

  • Правим фаервольный скрипт
vi /usr/local/bin/set_firewall_iptables

В разделе 1.6 Other Configuration файервольного скрипта добавляем параметры:

OPENVPN_IFACE="tun+"
OPENVPN_PORT="1194"

4.1.3 Create content in userspecified chains
--- UDP Ports:

$IPTABLES -A udp_packets -p UDP -s 0/0 --destination-port $OPENVPN_PORT -j ACCEPT

4.1.4 INPUT chain --- Rules for special networks not part of the Internet:

$IPTABLES -A INPUT -p ALL -i $OPENVPN_IFACE -j ACCEPT

4.1.5 FORWARD chain --- Accept the packets we actually want to forward:

$IPTABLES -A FORWARD -i $OPENVPN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -o $OPENVPN_IFACE -j ACCEPT

4.1.6 OUTPUT chain --- Special OUTPUT rules to decide which IP's to allow:

$IPTABLES -A FORWARD -i $OPENVPN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -o $OPENVPN_IFACE -j ACCEPT

Запускаем подправленный скрипт

/usr/local/bin/set_firewall_iptables

  • Осталось создать сертификаты и ключи для клиентов. Сначала инициализируем параметры:
cd /etc/openvpn/easy-rsa/
. ./vars

Генерируем сертификат и ключ (для генерации защищенных паролем ключей можно использовать скрипт build-key-pass)

./build-key rgreen

Большинство параметров подхватятся из файла vars. Только параметр Common Name надо указать явно, и его значение должно быть таким же, как и параметр вызова скрипта build-key

Common Name (eg, your name or your server's hostname) [ ]:rgreen

На вопросы Sign the certificate? и 1 out of 1 certificate requests certified, commit? отвечаем положительно

Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y

  • Для подключения клиенту понадобятся три файла:
/etc/openvpn/easy-rsa/keys/ca.crt
/etc/openvpn/easy-rsa/keys/rgreen.crt
/etc/openvpn/easy-rsa/keys/rgreen.key

В OpenVPN конфигурационном файле клиента надо прописать

remote 192.168.7.123 1194
ca ca.crt
cert rgreen.crt
key rgreen.key

Пример настройки клиента Windows XP можно посмотреть здесь.

Hits: 13775

Комментарии (0)

Написать комментарий

smaller | bigger
security image
Напишите отображаемые буквы

busy