Создание VPN сети с помощью OpenVPN
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Warning: mb_strpos() [function.mb-strpos]: Unknown encoding or conversion error. in /var/www/it4it/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2879
Потребовалось мне тут на досуге, реализовать VPN сеть для пары десятков компьютеров, находящихся в разных точках Земли. Для этого выбрал OpenVPN, а для сервера использовал свой VPS, который видят все.
Итак, первое что нам необходимо, это установить OpenVPN
apt-get install openvpn
После этого, настрйока сервера и клиентов сводится к генерации ключей, раздачи их клиентам и написании 2-х конфигов (для сервера и клиентов).
Идем в папку /usr/share/openvpn/easy-rsa/2.0 (в этйо папке хранятся скрипты для создания ключей)
cd /usr/share/openvpn/easy-rsa/2.
Теперь, начнем генерацию ключей:
1. Редактируем файл vars, который хранит значения по-умолчанию (чтобы не вводить кучу раз)
nano varsВ самом низу, меняем
export KEY_COUNTRY="RU" export KEY_PROVINCE="Moscow oblast" export KEY_CITY="Moscow" export KEY_ORG="my-network" export KEY_EMAIL="root@mynet.ru"
Теперь экспортиуре этот файл и генерируем корневой сертификат:
source ./vars ./clean-all ./build-ca
После, генерируем ключ сервера:
./build-key-server serverНа последние 2 вопроса, отвечаем Y44
После, генерируем ключ Диффи-Хэлмана
./build-dhОн делается несколько минут, придется подождать
Теперь, генерируем ключи для каждого клиента
./build-key client_nameПосле этого, отдаем клиентам их ключи, а также файл ca.crt
Для большей защиты, на файлы server.key установить права 600, а на server.crt и dh1024.pem права 644
Теперь надо написать конфиг сервера.
port 1194 #порт, на котором работать (рекомендуемый) ть (ре#протокол, можно tcp ) proto#устройство, которое будет использоваться tun #устройство, которое будет использоваться ca путь_до_файла_ca.crt cert путь_до_фай#подсеть и маска для ВПН сети, из нее будут выдаваться адреса клиентам _файла_dh10#разрешаем общение между клиентами 5.0 #подсеть и маска для В#это позволит выдавать клиентам один и тот же IP ться#компрессия клиент#максимальное количество клиентов аем общен#каждые 10 секунд пинг, если нет ответа 120 секунд, то откидывать клиента txt #это #хранить ключи в памяти, не перечитывать с диска один #позволять держать соединение мпрессия max-clients 2#статус сервера льн#уровень отладки (нормально 2) ентов keepalive 10 120 #к#файл логов
Теперь нам надо подготовить конфиг для клиентов.
На Windows, OpenVPN устанавливается в C:\Program FIles\OpenVPN, а конфиг в папке config (логично
. Создадим в ней новый конфиг openvpn.ovpn и кинем в нее же сгенерированные ключи и сертификаты.
Впишем в конфиг следующее:
client #указываем что мы клиент мы #не цепляться за интерфейс епл#используемое устройство фейс d#протокол спользуемое #куда конектиться о proto udp #прот#количество попыток, infinite-бесконечно #куда #хранить ключ в памяти resolv-retry#держать соединение еств#сжатие ыток, infinite-беско#ключи о persist-key #хранить к
После этого, запустим OpenVPN, кликнем Connect, дождемся, когда компьютерики станут зелеными (это будет значить, что к серверу успешно подключились). Теперь можно открыть cmd и пропинговать шлюз, если пакеты ходят, то значит что все хорошо
This entry was posted on Вторник, января 26, 2010 at 1:13 and is filed under *nix, Всякое. You can follow any responses to this entry through the RSS 2.0 feed. Responses are currently closed, but you can trackback from your own site.


