Просмотр полной версии : Open Vpn своими руками
Ну вот думаю что все мы типа хацкеры и пора обзавестить своим собственым Open Vpn сервером !!!
Для чего он вам будет нужен решайте сами
как минимум безопасность , как максимум
просто свободное средство для извлечения прибыль ))
ЗА СТАТЬЮ ПРОШУ НЕ ПИНАТЬ ПИШУ НА КОЛЕНКЕ
но всетаки думаю что доступным языком ))
Ну всетаки начнем
1. Что нам понадобиться так это простой выделенный сервер либо виртуальный сервер по технологии Virtuozo....
Для экспериментов я взял за 150 рублей виртуалку
на firstvds.ru (linux debian)
и так начнем
заходим под root на наш драгоценный сервер
и начинаем производить хитрые манипуляции
если у вас по моим рекомендациям стоит всетаки линкус дебиан то в консоли просто пишем (незабываем зайти под рутом)
# apt-get install openvpn
теперь ваш сервак считывает предустановленные пакеты и инсталит openvpn к вам на сервер
Теперь нужно создать папку
/etc/openvpn
(если она еще не создана) и скопировать туда папку с сертификатами и конфигами. Примеры того и другого лежат в корне архива .tar.gz, если была установка из source, иначе они будут разбросаны по всей системы на усмотрение того, кто делал rpm. Вот некоторые варианты, где можно найти эти папки:
/etc/share/openvpn /usr/share/doc/openvpn
/usr/share/doc/packages/openvpn
Итак, надо скопировать папки easy-rsa и sample-config-files. На самом деле, примеры конфигов можно не копировать, а скопировать оттуда только файл server.conf.
Идем в /etc/openvpn/easy-rsa и выполняем следующим команды:
. ./vars
./clean-all
./build-ca
потом наш сервак начнет в инстале спрашивать всяческие даные,лучше отвечать по существу
так как есть риск забыть данные в конфигах
а это на самом деле чревато!
выполняем в консоли следующее
./build-key-server server
Аналогично, отвечать нужно на все вопросы.
./build-dh
Теперь делаем сертификат для клиента. Если у нас несколько клиентов, то повторяем этот шаг несколько раз, меняя номер клиента.
./build-key client1
./build-key client2
./build-key client3
./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
Сохраняем файл.
Выполняем
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 и пишем в строке
remote my-server-1 1194 (тут выбираеться порт я у себя ставил 5000)
IP своего сервера вместо my-server-1. Больше ничего не трогаем, сохраняем и закрываем файл.
Последнее что надо сделать, это скачать с сервера 3 файла сертификатов в эту же папку, где только что редактировали файл. Итак, скачать нужно следующие файлы:
/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. Убеждаемся, что соединение установлено правильно
Все написанго на коленке и все работает, если есть вопросы
пожалуйста пишите в ЛС постараюсь по мере возможности ответить !
и по существу дополнить статью!
shellz[21h]
27.12.2009, 13:56
Таких статей массу, напишу лучше как поднять дабл впн)
']Таких статей массу, напишу лучше как поднять дабл впн)
запросто )
там несложно маску бросить ,но не сегодня )))
CyberHunter
24.01.2010, 20:47
Это типа тот же ВПН? Канал?
Я хотел бы еще спросить: чем отличается OpenVPN и ДаблВПН? и какие еще есть виды?
И вот еще: Если я сделаю OpenVPN сервер на дедике с каналом 1мбит и этим сервером будут пользоваться 2-3 людей, то насколько понижается скорость?
Да, таких статей много слишком. Ничего нового)
А вот про дабл ВПН)
e[X]theta[M]ine
24.01.2010, 21:18
CyberHunter, поделится на 3 человек.
CyberHunter
24.01.2010, 21:47
CyberHunter, поделится на 3 человек.
Ну а остальные вопросы?
http://www.lissyara.su/archive/ipsec_old/ - Double-VPN
Писал давненько для знакомого, скил "обычный юзер" *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="abuse@domain.com"
можно просто
export KEY_SIZE=2048
export KEY_ORG="OpenVPN"
export KEY_EMAIL="abuse@domain.com"
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 [abusw@domain.com]: - !!!! жмём 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 [abusw@domain.com]: - !!!! жмём 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 :PRINTABLE:'US'
stateOrProvinceName :PRINTABLE:'CA'
localityName :PRINTABLE:'SanFrancisco'
organizationName :PRINTABLE:'OpenVPN'
organizationalUnitName:PRINTABLE:'OpenVPN'
commonName :PRINTABLE:'server'
emailAddress :IA5STRING:'abusw@domain.com'
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 [abusw@domain.com]: - !!!! жмём 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 :PRINTABLE:'US'
stateOrProvinceName :PRINTABLE:'CA'
localityName :PRINTABLE:'SanFrancisco'
organizationName :PRINTABLE:'OpenVPN'
commonName :PRINTABLE:'client1'
emailAddress :IA5STRING:'abusw@domain.com'
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" vpn@mail.ru // сливаем серты на мыло или по фтп
ftp tvoi.server.ru
дальше вбиваешь логин
дальше вбиваешь пароль
cd httpdocs/
ls
put /etc/file.txt
P.S.
Весь этот процесс можно сократить путём совмещения команд!!! Написан начинающим для начинающих!!!
Благодарю 0депта Nova за проявленое терпение в передачи знаний в области настройки VPN из своей головы в мою :)
Пальм спасибо..
Сейчас протестирую...
CyberHunter
25.01.2010, 11:16
PSalm69 спс!
Но еще хотел бы узнать, как это сделать на винде.
Полезно))) а на Winows можно?
Настройка под винду ничем не отличается , просто меняем пути в конфиге.
Сертификаты генерируются аналогично под винду.
только рекомендую использовать 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 ... что не так делаю :?
Нужно точку поставить перед ./vars
. ./vars
помогите настроить опенвпн)
делал по первому посту)
куда копать?
server config
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/dh1024.pem
server 10.10.200.0 255.255.255.0
client-config-dir ccd
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
ifconfig-pool-persist ipp.txt
push "redirect-gateway"
keepalive 10 120
persist-key
persist-tun
comp-lzo
verb 4
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
client config
proto udp
dev tun
ca ca.crt
dh dh1024.pem
cert client.crt
key client.key
remote 92.63.96.190 443
verb 4
mute 20
comp-lzo
persist-key
persist-tun
resolv-retry infinite
nobind
client log
...
Tue Feb 09 21:47:04 2010 us=456652 Local Options String: 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-client'
Tue Feb 09 21:47:04 2010 us=456691 Expected Remote Options String: 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server'
Tue Feb 09 21:47:04 2010 us=456770 Local Options hash (VER=V4): '41690919'
Tue Feb 09 21:47:04 2010 us=456835 Expected Remote Options hash (VER=V4): '530fdded'
Tue Feb 09 21:47:04 2010 us=456903 Socket Buffers: R=[8192->8192] S=[8192->8192]
Tue Feb 09 21:47:04 2010 us=456969 UDPv4 link local: [undef]
Tue Feb 09 21:47:04 2010 us=456994 UDPv4 link remote: 92.63.96.190:443
Tue Feb 09 21:47:04 2010 us=570675 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Tue Feb 09 21:47:07 2010 us=124851 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Tue Feb 09 21:47:09 2010 us=677922 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Tue Feb 09 21:47:12 2010 us=232022 read UDPv4: Connection reset by peer (WSAECONNRESET) (code=10054)
Tue Feb 09 21:47:13 2010 us=556517 TCP/UDP: Closing socket
Tue Feb 09 21:47:13 2010 us=557678 SIGTERM[hard,] received, process exiting
server log....
Tue Feb 9 18:33:31 2010 us=879010 TUN/TAP device tap0 opened
Tue Feb 9 18:33:31 2010 us=879041 Note: Cannot set tx queue length on tap0: Operation not permitted (errno=1)
Tue Feb 9 18:33:31 2010 us=879074 /sbin/ifconfig tap0 10.10.200.1 netmask 255.255.255.0 mtu 1500 broadcast 10.10.200.255
Tue Feb 9 18:33:31 2010 us=989319 Data Channel MTU parms [ L:1576 D:1450 EF:44 EB:135 ET:32 EL:0 AF:3/1 ]
Tue Feb 9 18:33:31 2010 us=989861 Listening for incoming TCP connection on [undef]:443
Tue Feb 9 18:33:31 2010 us=989941 Socket Buffers: R=[87380->131072] S=[16384->131072]
Tue Feb 9 18:33:31 2010 us=989966 TCPv4_SERVER link local (bound): [undef]:443
Tue Feb 9 18:33:31 2010 us=989979 TCPv4_SERVER link remote: [undef]
Tue Feb 9 18:33:31 2010 us=990001 MULTI: multi_init called, r=256 v=256
Tue Feb 9 18:33:31 2010 us=990096 IFCONFIG POOL: base=10.10.200.2 size=253
Tue Feb 9 18:33:31 2010 us=990132 IFCONFIG POOL LIST
Tue Feb 9 18:33:31 2010 us=990174 MULTI: TCP INIT maxclients=1024 maxevents=1028
Tue Feb 9 18:33:31 2010 us=990210 Initialization Sequence Completed
CyberHunter
03.03.2010, 22:39
Установил я опенВПН(на винду), но в папке с ним нет файла "сервер.конф" создать его самому и ввести что написано в первом посте(для винды тоже самое) ?
Еще в папке sample-config в файлах server.ovpn и client.ovpn куча все написано, на что все это изменить? на "remote my-server-1 1194 (тут выбираеться порт я у себя ставил 5000)" ? это куда в клиент?
Напишите пожалуста, что должно быть в файлах: client.ovpn ; sample.ovpn ; server.ovpn .
Заранее спс!
CyberHunter
05.03.2010, 14:47
Установил я опенВПН(на винду), но в папке с ним нет файла "сервер.конф" создать его самому и ввести что написано в первом посте(для винды тоже самое) ?
Еще в папке sample-config в файлах server.ovpn и client.ovpn куча все написано, на что все это изменить? на "remote my-server-1 1194 (тут выбираеться порт я у себя ставил 5000)" ? это куда в клиент?
Напишите пожалуста, что должно быть в файлах: client.ovpn ; sample.ovpn ; server.ovpn .
Заранее спс!
Ответьте плз.
ficrowns
07.03.2010, 19:44
в винде вместо server.conf используется server.ovpn, в нём должно быть то же, что и в server.conf, вообще все конфиги в винде для опенвпн имеют расширение *.ovpn, они автоматически распознаются openvpn gui если его использешь и появится новое выпадающее меню в трее при клике на значке :)
то есть если у тебя всё работало в никсах, просто копируешь серты и конфиги и меняешь их расширение на *.овпн
А можно так неебаца, а поставить webmin с плагином на openvpn, и настраивать из-под него, там-же удобнее сертификаты и юзеров редактировать)
Vernal Equinox
17.03.2010, 02:01
Таких статей массу, напишу лучше как поднять дабл впн)
Самому лень писать.В закрытых источниках есть.
Самому лень писать.В закрытых источниках есть.
Какие закрытые источники ROFL! =) Форум лисяры - закрытый источник шоле
Vernal Equinox
17.03.2010, 15:02
Какие закрытые источники ROFL! =) Форум лисяры - закрытый источник шоле
Ты олень.Ты просто кроме как Ачата больше ни чего не видешь.
а есть инфа по опенвпн серверу под винду???
а то несколько раз пытался поднять VPN средствами Win2003 и ронял домен )))
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot