baltazar
27.07.2007, 11:36
Один из самых лучших способов, если не самый лучший способ скрыть свой реальный IP-адрес в интернете, это использование VPN(Virtual Private Network). На данный момент существует много разных сервисов предоставляющих доступ к VPN, но берут за это не малые деньги, которые достаются потом и кровью.
Можно конечно купить VPN-аккаунт у одного из таких сервисов, а можно и купить шелл и самому поставить VPN сервер, и так же сидеть анонимно в интернете. А если нет разницы, то зачем платить больше?
В данной статье я расскажу о том, как можно легко и быстро установить VPN-сервер на linux box, и сделать мобильный клиент для Windows, на базе OpenVPN
Конечно для некоторых это может показаться долгим и утомительным процессом, но этот процесс надо будет выполнить один раз, а следом он себя быстро оправдает. Начнем с сервера:
- Скачивание и установка OpenVPN
- Создание сертификатов и ключей
- Настройка серверной части OpenVPN
Подготовка к установке сервера:
Необходимо проверить чтобы в ядре был был драйвер TAP\TUN:
# gzcat /proc/config.gz | egrep tun
или
# modprobe tun;lsmod | grep tun
Если такового не имеется, то устанавливаем:
# cd /usr/src/linux
# make menuconfig
в нем выбираем: Device Drivers ---> Networking support ---> Universal TUN/TAP device driver support (Тут можете по желанию выбрать модуль или в ядро, я лично предпочитаю модулем)
# make; make install; make modules_install
Далее проверяем что получилось:
# modprobe tun;lsmod | grep tun
Так же необходимо проверить чтобы был установлен LZO, для комперессии траффика:
Например:
# locate lzo.so
Если такового нету, то ставим:
# wget http://www.oberhumer.com/opensource/lzo/do...lzo-2.02.tar.gz
# tar xvzf ./lzo-2.02.tar.gz
# cd ./lzo-2.02
# ./configure
# make
# make install
1. И так, скачиваем сервер распаковываем, конфигурируем и устанавливаем.
# wget http://openvpn.net/release/openvpn-2.0.7.tar.gz
# tar xvzf ./openvpn-2.0.7.tar.gz
# cd ./openvpn-2.0.7
# ./configure
# make
# make install
2. после успешного завершения всех операций необходимо создать сертефикаты и ключи
Заходим в папку с исходниками OpenVPN и в ней:
# cd ./easy-rsa
# vi ./vars (в этом файлике внизу изменяете данные для подписи ключей под себя)
# . ./vars (загружаем эти переменные в оболочку)
# ./clean-all (отчищаем от старых сертификатов и ключей папку keys и создаем серийный и индексные файлы для новых ключей)
# ./build-ca (Создаем Certificate Authority для сервера)
# ./build-key-server server (Создаем сертификат X.509 для сервера)
# ./build-key client (Создаем сертификат X.509 для клиента)
Будьте внимательны при заполнени данных сертификатов, поле Common Name обязательно к заполнению, причем для сервера оно должно быть одно, а для клиента другое. Например в поле Common Name при генерации сертификата X.509 для сервера можно написать server, а для клиента соотвественно client.
Создаем ключ Диффи Хельман(о нем можно почитать тут)
# ./build-dh
И в конце создаем ключ для tls-аутификации
# openvpn --genkey --secret ta.key
После всех этих манипуляций в папке keys получается много файлов:
ca.crt - Главный CA сертификат, этот файл нужен и клиенту и серверу
dh1024.pem - ключ Диффи Хельман, этот файл нужен только серверу
server.crt - Сертификат сервера, нужен только серверу
server.key - Ключ сервера, нужен только серверу (СЕКРЕТНЫЙ файл)
client.crt - Сертификат клиента, нужен только клиенту
client.key - Ключ клиента, нужен только клиенту (СЕКРЕТНЫЙ файл)
ta.key - TLS-ключ, нужен и клиенту и серверу
Следовально серверу достаются файлы ca.crt, dh1024.pem, server.crt, server.key, ta.key, а клиенту ca.crt, dh1024.pem,client.crt, client.key, ta.key
3. Теперь настало время настройки сервера.
Файл конфигурации можно разместить где угодно, например в /etc/openvpn, так же для удобства скопируем туда все ключи(ca.crt, dh1024.pem, server.crt, server.key, ta.key).
Создаем конфигурационный файл openvpn.conf следующего содержимого:
proto udp #Сервер слушает только udp-порт
4. так же необходимо настроить ip-fowrwarding:
# echo 1 > /proc/sys/net/ipv4/ip_forward
5. Настроим фаервол:
# iptables -I FORWARD 1 -i tap0 -p tcp -j ACCEPT
Всё, сервер настроен, теперь мы его запускаем:
Из папки с исходниками OpenVPN/sample-scripts переименовываем файл openvpn.init в openvpn и копируем в /etc/init.d/
Далее запускаем сервер:
# /etc/init.d/openvpn start
Особый момент: данный скрипт запускает отдельный процесс для каждого файла .conf в папке /etc/openvpn.
И так приступим к инсталяции клиента под Windows.
1. Скачиваем клиента по ссылке _http://openvpn.se/files/install_packages/openvpn-2.0.7-gui-1.0.3-install.exe
2. Устанавливаем необходимые компоненты
OpenVPN User-Space Components
OpenVPN GUI
OpenSSL DLLs
TAP-Win32 Virtual Ethernet Adapter
3. Теперь приступим к настройке клиента. Создадим конфигурационный файл openvpn.ovpn в папке config (Например C:\Program Files\OpenVPN\config). И скопируем туда же все необходимые ключи для работы (ca.crt, dh1024.pem, client.crt, client.key, ta.key).
Содержимое файла openvpn.ovpn:
client #указываем OpenVPN, что необходимо работать в режиме клиента
Теперь можно проверить работу клиента.
Нажимаем правой кнопкой мышки по значку в трее. и выбираем Connect
Сначала вылезет вот такое окошко:
http://img503.imageshack.us/img503/9249/777no1.jpg
Следом если пройдет все хорошо, то в трее загорится зеленый значек с ip-адресом виртуального VPN соединения.
Отключаемся тем же путем что и соединялись только выбрав Disonnect.
Теперь приступим к мобилизации нашего OpenVPN дистрибутива.
Для начала скопируем на переносной носитель информации всю папку OpenVPN (C:\Program Files\OpenVPN)
Далее создадим в корне переносного носителя три VB-скрипта:
InstallVPN.vbs:
Set WSHShell = WScript.CreateObject("WScript.Shell")
UninstallVPN.vbs:
Set WSHShell = WScript.CreateObject("WScript.Shell")
RunVPN.vbs:
Set WSHShell = WScript.CreateObject("WScript.Shell")
Теперь, когда нам необходимо восользоватся VPN, вставляем переносной носитель информации, и запускаем файл InstallVPN.vbs.
Дожидаемся установки драйвера TUN-TAP Win32, далее запускаем RunVPN.vbs.
После запуска OpenVPN GUI, выбираем Connect, и насдаждаемся мобильным VPN.
После окончания работы не забываем удалить все следы присутствия VPN, выключив OpenVPN-GUI и запустив скрипт UninstallVPN.vbs
(c)Автор: KaDaBRa, icq 161222, взято с езина хакеру
Можно конечно купить VPN-аккаунт у одного из таких сервисов, а можно и купить шелл и самому поставить VPN сервер, и так же сидеть анонимно в интернете. А если нет разницы, то зачем платить больше?
В данной статье я расскажу о том, как можно легко и быстро установить VPN-сервер на linux box, и сделать мобильный клиент для Windows, на базе OpenVPN
Конечно для некоторых это может показаться долгим и утомительным процессом, но этот процесс надо будет выполнить один раз, а следом он себя быстро оправдает. Начнем с сервера:
- Скачивание и установка OpenVPN
- Создание сертификатов и ключей
- Настройка серверной части OpenVPN
Подготовка к установке сервера:
Необходимо проверить чтобы в ядре был был драйвер TAP\TUN:
# gzcat /proc/config.gz | egrep tun
или
# modprobe tun;lsmod | grep tun
Если такового не имеется, то устанавливаем:
# cd /usr/src/linux
# make menuconfig
в нем выбираем: Device Drivers ---> Networking support ---> Universal TUN/TAP device driver support (Тут можете по желанию выбрать модуль или в ядро, я лично предпочитаю модулем)
# make; make install; make modules_install
Далее проверяем что получилось:
# modprobe tun;lsmod | grep tun
Так же необходимо проверить чтобы был установлен LZO, для комперессии траффика:
Например:
# locate lzo.so
Если такового нету, то ставим:
# wget http://www.oberhumer.com/opensource/lzo/do...lzo-2.02.tar.gz
# tar xvzf ./lzo-2.02.tar.gz
# cd ./lzo-2.02
# ./configure
# make
# make install
1. И так, скачиваем сервер распаковываем, конфигурируем и устанавливаем.
# wget http://openvpn.net/release/openvpn-2.0.7.tar.gz
# tar xvzf ./openvpn-2.0.7.tar.gz
# cd ./openvpn-2.0.7
# ./configure
# make
# make install
2. после успешного завершения всех операций необходимо создать сертефикаты и ключи
Заходим в папку с исходниками OpenVPN и в ней:
# cd ./easy-rsa
# vi ./vars (в этом файлике внизу изменяете данные для подписи ключей под себя)
# . ./vars (загружаем эти переменные в оболочку)
# ./clean-all (отчищаем от старых сертификатов и ключей папку keys и создаем серийный и индексные файлы для новых ключей)
# ./build-ca (Создаем Certificate Authority для сервера)
# ./build-key-server server (Создаем сертификат X.509 для сервера)
# ./build-key client (Создаем сертификат X.509 для клиента)
Будьте внимательны при заполнени данных сертификатов, поле Common Name обязательно к заполнению, причем для сервера оно должно быть одно, а для клиента другое. Например в поле Common Name при генерации сертификата X.509 для сервера можно написать server, а для клиента соотвественно client.
Создаем ключ Диффи Хельман(о нем можно почитать тут)
# ./build-dh
И в конце создаем ключ для tls-аутификации
# openvpn --genkey --secret ta.key
После всех этих манипуляций в папке keys получается много файлов:
ca.crt - Главный CA сертификат, этот файл нужен и клиенту и серверу
dh1024.pem - ключ Диффи Хельман, этот файл нужен только серверу
server.crt - Сертификат сервера, нужен только серверу
server.key - Ключ сервера, нужен только серверу (СЕКРЕТНЫЙ файл)
client.crt - Сертификат клиента, нужен только клиенту
client.key - Ключ клиента, нужен только клиенту (СЕКРЕТНЫЙ файл)
ta.key - TLS-ключ, нужен и клиенту и серверу
Следовально серверу достаются файлы ca.crt, dh1024.pem, server.crt, server.key, ta.key, а клиенту ca.crt, dh1024.pem,client.crt, client.key, ta.key
3. Теперь настало время настройки сервера.
Файл конфигурации можно разместить где угодно, например в /etc/openvpn, так же для удобства скопируем туда все ключи(ca.crt, dh1024.pem, server.crt, server.key, ta.key).
Создаем конфигурационный файл openvpn.conf следующего содержимого:
proto udp #Сервер слушает только udp-порт
4. так же необходимо настроить ip-fowrwarding:
# echo 1 > /proc/sys/net/ipv4/ip_forward
5. Настроим фаервол:
# iptables -I FORWARD 1 -i tap0 -p tcp -j ACCEPT
Всё, сервер настроен, теперь мы его запускаем:
Из папки с исходниками OpenVPN/sample-scripts переименовываем файл openvpn.init в openvpn и копируем в /etc/init.d/
Далее запускаем сервер:
# /etc/init.d/openvpn start
Особый момент: данный скрипт запускает отдельный процесс для каждого файла .conf в папке /etc/openvpn.
И так приступим к инсталяции клиента под Windows.
1. Скачиваем клиента по ссылке _http://openvpn.se/files/install_packages/openvpn-2.0.7-gui-1.0.3-install.exe
2. Устанавливаем необходимые компоненты
OpenVPN User-Space Components
OpenVPN GUI
OpenSSL DLLs
TAP-Win32 Virtual Ethernet Adapter
3. Теперь приступим к настройке клиента. Создадим конфигурационный файл openvpn.ovpn в папке config (Например C:\Program Files\OpenVPN\config). И скопируем туда же все необходимые ключи для работы (ca.crt, dh1024.pem, client.crt, client.key, ta.key).
Содержимое файла openvpn.ovpn:
client #указываем OpenVPN, что необходимо работать в режиме клиента
Теперь можно проверить работу клиента.
Нажимаем правой кнопкой мышки по значку в трее. и выбираем Connect
Сначала вылезет вот такое окошко:
http://img503.imageshack.us/img503/9249/777no1.jpg
Следом если пройдет все хорошо, то в трее загорится зеленый значек с ip-адресом виртуального VPN соединения.
Отключаемся тем же путем что и соединялись только выбрав Disonnect.
Теперь приступим к мобилизации нашего OpenVPN дистрибутива.
Для начала скопируем на переносной носитель информации всю папку OpenVPN (C:\Program Files\OpenVPN)
Далее создадим в корне переносного носителя три VB-скрипта:
InstallVPN.vbs:
Set WSHShell = WScript.CreateObject("WScript.Shell")
UninstallVPN.vbs:
Set WSHShell = WScript.CreateObject("WScript.Shell")
RunVPN.vbs:
Set WSHShell = WScript.CreateObject("WScript.Shell")
Теперь, когда нам необходимо восользоватся VPN, вставляем переносной носитель информации, и запускаем файл InstallVPN.vbs.
Дожидаемся установки драйвера TUN-TAP Win32, далее запускаем RunVPN.vbs.
После запуска OpenVPN GUI, выбираем Connect, и насдаждаемся мобильным VPN.
После окончания работы не забываем удалить все следы присутствия VPN, выключив OpenVPN-GUI и запустив скрипт UninstallVPN.vbs
(c)Автор: KaDaBRa, icq 161222, взято с езина хакеру