Приветствую Вас Гость | RSS

АйТишник

Суббота, 18.05.2024, 12:35
Главная » Статьи » Про Linux

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

Конфигурация следующая:

Настройка 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= rgreen@friends.example.com
  • Инициализируем 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 можно посмотреть здесь.


Источник: http://www.netlly.ru/blog/debianopenvpn
Категория: Про Linux | Добавил: walkernet (27.04.2012) | Автор: walkernet W
Просмотров: 1353 | Теги: openvpn, debian, Windows, iptables, Linux, remote | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: