Ну вот думаю что все мы типа хацкеры и пора обзавестить своим собственым Open Vpn сервером !!! Для чего он вам будет нужен решайте сами как минимум безопасность , как максимум просто свободное средство для извлечения прибыль )) ЗА СТАТЬЮ ПРОШУ НЕ ПИНАТЬ ПИШУ НА КОЛЕНКЕ но всетаки думаю что доступным языком )) Ну всетаки начнем 1. Что нам понадобиться так это простой выделенный сервер либо виртуальный сервер по технологии Virtuozo.... Для экспериментов я взял за 150 рублей виртуалку на firstvds.ru (linux debian) и так начнем заходим под root на наш драгоценный сервер и начинаем производить хитрые манипуляции если у вас по моим рекомендациям стоит всетаки линкус дебиан то в консоли просто пишем (незабываем зайти под рутом) PHP: # apt-get install openvpn теперь ваш сервак считывает предустановленные пакеты и инсталит openvpn к вам на сервер Теперь нужно создать папку /etc/openvpn (если она еще не создана) и скопировать туда папку с сертификатами и конфигами. Примеры того и другого лежат в корне архива .tar.gz, если была установка из source, иначе они будут разбросаны по всей системы на усмотрение того, кто делал rpm. Вот некоторые варианты, где можно найти эти папки: PHP: /etc/share/openvpn /usr/share/doc/openvpn /usr/share/doc/packages/openvpn Итак, надо скопировать папки easy-rsa и sample-config-files. На самом деле, примеры конфигов можно не копировать, а скопировать оттуда только файл server.conf. Идем в /etc/openvpn/easy-rsa и выполняем следующим команды: PHP: . ./vars ./clean-all ./build-ca потом наш сервак начнет в инстале спрашивать всяческие даные,лучше отвечать по существу так как есть риск забыть данные в конфигах а это на самом деле чревато! выполняем в консоли следующее PHP: ./build-key-server server Аналогично, отвечать нужно на все вопросы. PHP: ./build-dh Теперь делаем сертификат для клиента. Если у нас несколько клиентов, то повторяем этот шаг несколько раз, меняя номер клиента. PHP: ./build-key client1 PHP: ./build-key client2 PHP: ./build-key client3 PHP: ./build-key client etc Важно с поле Common Name писать соответствующее имя, например client1 Настраиваем конфиг для сервера. Он должен находится в /etc/openvpn и называтся server.conf. Все что нам нужно изменить в примера конфига: ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh1024.pem push "redirect-gateway def1" push "dhcp-option DNS ваш dns" push "dhcp-option WINS ваш dns" user nobody group nobody Сохраняем файл. Выполняем PHP: iptables -t nat -A POSTROUTING -s МАСКА_ПОДСЕТИ/0 -o venet0 -j SNAT --to-source IP_АДРЕС_ВАШЕГО_ВДС'а запускаем VPN /etc/init.d/openvpn start Теперь ставим OpenVPN клиент для Windows. Его можно скачать здесь: http://openvpn.se. После установки заходим в папку установки программы, например: C:\Program and Files\OpenVPN\sample-config. Открываем текстовым редактором (блокнотом) файл client.ovpn и пишем в строке PHP: remote my-server-1 1194 (тут выбираеться порт я у себя ставил 5000) IP своего сервера вместо my-server-1. Больше ничего не трогаем, сохраняем и закрываем файл. Последнее что надо сделать, это скачать с сервера 3 файла сертификатов в эту же папку, где только что редактировали файл. Итак, скачать нужно следующие файлы: PHP: /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys/client1.crt /etc/openvpn/easy-rsa/keys/client1.key client1 соответственно нужно заменить на нужный номер клиента. После этого переименовываем файлы, убирая цифры номера клиент, т.е. из client1.crt делаем client.crt и т.д. Все готово для подключения и проверки. Нажимаем правой кнопкой на файл client.ovpn и выбираем Start OpenVPN on this config file. Убеждаемся, что соединение установлено правильно Все написанго на коленке и все работает, если есть вопросы пожалуйста пишите в ЛС постараюсь по мере возможности ответить ! и по существу дополнить статью!
Это типа тот же ВПН? Канал? Я хотел бы еще спросить: чем отличается OpenVPN и ДаблВПН? и какие еще есть виды? И вот еще: Если я сделаю OpenVPN сервер на дедике с каналом 1мбит и этим сервером будут пользоваться 2-3 людей, то насколько понижается скорость?
Писал давненько для знакомого, скил "обычный юзер" *nix -ов. Такого пошагово инструктажа не видел . ################################################## # # # МАНУАЛ ПО УСТАНОВКЕ OPENVPN # # from PSalm69 & Nova # # chkconfig --del openvpn # ################################################## 1) cat /etc/redhat-release // смотрим какая ось стоит на серваке. Желательно CentOS - но настройка в основном везде идентична. 2) yum install openvpn // запускаем инсталл впн -а , должна создаться папка по адресу /etc/openvpn , если пишет что не удается найти пакет openvpn то нужно добавить в /etc/yum.conf [dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://apt.sw.be/redhat/el$releasever/en/i386/dag/ gpgcheck=0 enabled=1 после повторить yum install openvpn 3) cd /etc/openvpn;ls -la // переходим в эту директория для установки нашего впн -а 4) touch server.conf // командой touch созаём файл server.conf 5) vi server.conf // командой vi редактируем файл server.conf Примечание: i - войти в режим изменения содержимого; Esc - выйти из режима редактирования; :wq ENTER- выйти с сохранением содержимого; :q! ENTER - выйти без сохранения // ЭТО ВНОСИМ В ФАЙЛ server.conf port 443 proto tcp dev tap cipher DES-EDE3-CBC reneg-sec 60 ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/server.crt key /etc/openvpn/easy-rsa/keys/server.key dh /etc/openvpn/easy-rsa/keys/dh2048.pem server 10.10.200.0 255.255.255.0 client-config-dir ccd push "dhcp-option DNS 222.222.222.222" push "dhcp-option DNS 22.22.222.222" ifconfig-pool-persist ipp.txt push "redirect-gateway" keepalive 10 120 persist-key persist-tun comp-lzo verb 0 6) find / -name easy-rsa // выполняем поиск easy-rsa, должно примерно вывести такое /usr/share/doc/openvpn-2.0.5/easy-rsa 7) cd /usr/share/doc/openvpn-2.0.5/easy-rsa;ls -la // переходим в директорию easy-rsa и выводим листинг файлов в ней ls -la. Видим там папку 2.0 8) mv /usr/share/doc/openvpn-2.0.5/easy-rsa/2.0 /etc/openvpn/easy-rsa // копируем папку 2.0 в директорию /etc/openvpn/ и переименовываем её в easy-rsa. После этой команды всё будет именно так 9) cd /etc/openvpn/easy-rsa;chmod 777 *;ls -la // переходим в папку easy-rsa и наделяем на все файлы в этой папке правами 777 и делаем листинг. Видем там файл vars !!! 10) vi vars // редактируем этот файл export KEY_SIZE=2048 и export KEY_COUNTRY="UA" export KEY_PROVINCE="UA" export KEY_CITY="Kiev" export KEY_ORG="OpenVPN" export KEY_EMAIL="[email protected]" можно просто export KEY_SIZE=2048 export KEY_ORG="OpenVPN" export KEY_EMAIL="[email protected]" 11) . ./vars // выполняем в директории /etc/openvpn/easy-rsa 12) ./clean-all // выполняем в директории /etc/openvpn/easy-rsa 13) ./build-ca // выполняем в директории /etc/openvpn/easy-rsa Видим ПРИМЕРНО такой вывод Country Name (2 letter code) [US]: - !!!! жмём ENTER !!!! State or Province Name (full name) [CA]: - !!!! жмём ENTER !!!! Locality Name (eg, city) [SanFrancisco]: - !!!! жмём ENTER !!!! Organization Name (eg, company) [OpenVPN]: - !!!! жмём ENTER !!!! Organizational Unit Name (eg, section) []:OpenVPN - !!!! вписываем OpenVPN !!!! Common Name (eg, your name or your server's hostname) [OpenVPN CA]: server - !!!! вписываем server !!!! Email Address [[email protected]]: - !!!! жмём ENTER !!!! 14) ./build-key-server server // выполняем в директории /etc/openvpn/easy-rsa ВИДИМ СЛЕДУЮЩЕЕ: Country Name (2 letter code) [US]: - !!!! жмём ENTER !!!! State or Province Name (full name) [CA]: - !!!! жмём ENTER !!!! Locality Name (eg, city) [SanFrancisco]: - !!!! жмём ENTER !!!! Organization Name (eg, company) [OpenVPN]: - !!!! жмём ENTER !!!! Organizational Unit Name (eg, section) []:OpenVPN - !!!! вписываем OpenVPN !!!! Common Name (eg, your name or your server's hostname) [server]:server - !!!! вписываем server !!!! Email Address [[email protected]]: - !!!! жмём ENTER !!!! Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: - !!!! жмём ENTER !!!! An optional company name []: - !!!! жмём ENTER !!!! Using configuration from /etc/openvpn/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName RINTABLE:'US' stateOrProvinceName RINTABLE:'CA' localityName RINTABLE:'SanFrancisco' organizationName RINTABLE:'OpenVPN' organizationalUnitNameRINTABLE:'OpenVPN' commonName RINTABLE:'server' emailAddress :IA5STRING:'[email protected]' Certificate is to be certified until Oct 1 05:22:28 2019 GMT (3650 days) Sign the certificate? [y/n]: - !!!! пишим 'y' жмём ENTER !!!! 1 out of 1 certificate requests certified, commit? [y/n] - !!!! пишим 'y' жмём ENTER !!!! 15) ./build-dh // выполняем в директории /etc/openvpn/easy-rsa и ждём когда закончиться генерация сертификата. Может генерить и 40 минут, а если произойдёт дисконект с сервером во время генерации серта, то повторно заходим на сервер и выполням заного именно этот ключ. 16) ./build-key-pkcs12 client1 // выполняем в директории /etc/openvpn/easy-rsa ВИДИМ СЛЕДУЮЩЕЕ: Generating a 2048 bit RSA private key .....................+++ ..........................................+++ writing new private key to 'client1.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [US]: - !!!! жмём ENTER !!!! State or Province Name (full name) [CA]: - !!!! жмём ENTER !!!! Locality Name (eg, city) [SanFrancisco]: - !!!! жмём ENTER !!!! Organization Name (eg, company) [OpenVPN]:OpenVPN - !!!! вписываем OpenVPN !!!! Organizational Unit Name (eg, section) []: - !!!! жмём ENTER !!!! Common Name (eg, your name or your server's hostname) [client1]:client1 - !!!! вписываем client1 !!!! Email Address [[email protected]]: - !!!! жмём ENTER !!!! Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: - !!!! жмём ENTER !!!! An optional company name []: !!!! жмём ENTER !!!! Using configuration from /etc/openvpn/easy-rsa/openssl.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName RINTABLE:'US' stateOrProvinceName RINTABLE:'CA' localityName RINTABLE:'SanFrancisco' organizationName RINTABLE:'OpenVPN' commonName RINTABLE:'client1' emailAddress :IA5STRING:'[email protected]' Certificate is to be certified until Oct 1 05:46:57 2019 GMT (3650 days) Sign the certificate? [y/n]: y - !!!! пишим 'y' жмём ENTER !!!! 1 out of 1 certificate requests certified, commit? [y/n]y - !!!! пишим 'y' жмём ENTER !!!! Write out database with 1 new entries Data Base Updated Enter Export Password: - !!!! жмём ENTER !!!! Verifying - Enter Export Password: - !!!! жмём ENTER !!!! 17) cd /etc/init.d/;ls -la // идём в назначеную директорию и видим там файл openvpn 18) chkconfig --add openvpn // добавляем чтобы при загрузке системы он загружался 19) vi openvpn // там же /etc/init.d/ редактируем файл openvpn Ищем строку echo 1 > /proc/sys/net/ipv4/ip_forward и раскоментируем её !!! а ниже следующей стройкой добавляем iptables -t nat -A POSTROUTING -s 10.10.200.0/24 -j SNAT --to 127.0.0.1 // 127.0.0.1 , меняем на IP своего сервера где устанавливается VPN !!! 20) vi /etc/syslog.conf // отключаем логирование !!! ЗАКОМЕНТИРУЙ ВСЁ !!!! Должно быть так: # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! # *.info;mail.none;authpriv.none;cron.none /var/log/messages # The authpriv file has restricted access. # authpriv.* /var/log/secure # Log all the mail messages in one place. # mail.* -/var/log/maillog # Log cron stuff # cron.* /var/log/cron # Everybody gets emergency messages # *.emerg * # Save news errors of level crit and higher in a special file. # uucp,news.crit /var/log/spooler # Save boot messages also to boot.log # local7.* /var/log/boot.log # local6.* /var/log/vzagent.log 21) /etc/init.d/syslogd restart // перезапускаем syslogd 22) /etc/init.d/openvpn restart // запускаем openvpn, если везде напишет ОК , то все нормально и верно. 23) cd /etc/openvpn/easy-rsa/keys/;ls -la // тут лежит клиентский ключь. Называется client1.p12 24) cat /etc/openvpn/easy-rsa/keys/client1.p12 | mail -s "client1.p12" [email protected] // сливаем серты на мыло или по фтп ftp tvoi.server.ru дальше вбиваешь логин дальше вбиваешь пароль cd httpdocs/ ls put /etc/file.txt P.S. Весь этот процесс можно сократить путём совмещения команд!!! Написан начинающим для начинающих!!! Благодарю 0депта Nova за проявленое терпение в передачи знаний в области настройки VPN из своей головы в мою
Настройка под винду ничем не отличается , просто меняем пути в конфиге. Сертификаты генерируются аналогично под винду. только рекомендую использовать tap | tcp , а не tun tcp
CyberHunter,Stev_Z https://forum.antichat.ru/thread108741-openvpn.html http://www.onecomputerguy.com/networking/xp_vpn_server.htm
Palm спасибо полезно ! просто твой ман по редхату а у меня под дебиан, да еще под виртуозом так что это разные вещи ))) Кстати видел тут статью про опенвпн под вендами, думаю можно прикрепить в одну тему Будет более полноценней
настраиваю openvpn , есть файлик .vars его я вижу но когда прописываю путь к нему причём по идее верный /etc/openvpn/easy-rsa и потом ./vars пишет no such ... что не так делаю :?
помогите настроить опенвпн) делал по первому посту) куда копать? server config client config client log server log
Установил я опенВПН(на винду), но в папке с ним нет файла "сервер.конф" создать его самому и ввести что написано в первом посте(для винды тоже самое) ? Еще в папке sample-config в файлах server.ovpn и client.ovpn куча все написано, на что все это изменить? на "remote my-server-1 1194 (тут выбираеться порт я у себя ставил 5000)" ? это куда в клиент? Напишите пожалуста, что должно быть в файлах: client.ovpn ; sample.ovpn ; server.ovpn . Заранее спс!