Я не знаю кому как, а лично мне очень не нравится когда мою болтовню по асе, мою почту, да и вообще весь мой трафик может перехватить мой провайдер и еще куча всяческих очень любопытных граждан :-). Кроме того, иногда просто необходимо иметь ip адрес не свой родной, а иностранный.
Выходом из такого положения может служить такая технология как Virtual Private Network. Реализаций под linux есть масса: это и Poptop и решения на базе IPsec и OpenVPN и многие другие.
Не буду обсуждать то или иное решение, скажу только, что я остановился на OpenVPN. Причин несколько:
Итак, сегодня мы рассмотрим установку и настройку очень полезного пакета OpenVPN.
заходим на наш сервер, переходим в каталог /usr/local/src и качаем последние исходники:
cd /usr/local/src
wget http://openvpn.net/release/openvpn-2.0.7.tar.gz
распаковываем:
tar zxvf openvpn-2.0.7.tar.gz
и запускаем инсталляцию:
cd openvpn-2.0.7
./configure
После чего получаем ошибку такого вида:
LZO library available from http://www.oberhumer.com/opensource/lzo/
configure: error: Or try ./configure --disable-lzo
Это значит что у нас в системе нет библиотеки lzo с помощью которой происходит компрессия и декомпрессия нашего трафика в реальном режиме времени. лезем на соответствующий сайт, качаем библиотеку и ставим:
cd ..
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.02.tar.gz
tar zxvf lzo-2.02.tar.gz
cd lzo-2.02
./configure
make
make install
После чего возвращяемся в каталог openvpn-2.0.7 и продолжаем установку
cd ../openvpn-2.0.7
./configure
make
make install
На этом этап инсталляции пакета закончен. Теперь приступим к настройке.
Генерируем master CA сертификат/ключ
cd easy-rsa
. ./vars
./clean-all
./build-ca
при генерации жмем везде Enter за исключением одной строки:
Common Name (eg, your name or your server's hostname) []: OpenVPN-CA
Это у нас имя CA сертификата.
Дальше генерируем сертификат и ключ для сервера:
./build-key-server server
Также жмем Enter на вопросы за исключением
Common Name (eg, your name or your server's hostname) []: server
На вопросы где есть выбор y/n отвечаем y
Дальше генерируем ключи клиентов, я делаю два:
./build-key client1
./build-key client2
также как и в предыдущем случае при вопросе Common Name отвечаем соответственно client1, client2 и два вопроса где есть выбор y/n жмем y
Дальше генерируем параметры Diffie Hellman
./build-dh
На этом с генерацией покончено.
Теперь создаем каталог /etc/openvpn и переписываем туда сгенерированные ключи и конфигурационный файл нашего сервера:
mkdir /etc/openvpn
cp ../sample-config-files/server.conf /etc/openvpn/
Открываем на редактирование конфиг сервера:
vi /etc/openvpn/server.conf
ищем строку
;push "redirect-gateway"
меняем на
push "redirect-gateway def1"
;push "dhcp-option DNS 10.8.0.1"
меняем на
push "dhcp-option DNS 10.8.0.1"
;max-clients 100
меняем на
max-clients 10 потому как 100 клиентов мы не хотим, нам 2 надо но на будущее сделаем запас
строки
;user nobody
;group nobody
раскомментируем в
user nobody
group nobody строку
verb 3
меняем на
verb 0 потому как мы не хотим чтобы лог велся подробный
переписываем скрипт старта сервера и добавляем его в автоматический старт при загрузке
cp /usr/local/src/openvpn-2.0.7/sample-scripts/openvpn.init /etc/rc.d/init.d/openvpn
chkconfig --add openvpn
запускаем openvpn
service openvpn start
Еще один этап завершили. Но это еще не все.
Теперь нужно настроить наш выделенный сервер чтобы все наше хозяйство работало.
Для начала включаем форвардинг пакетов:
vi /etc/sysctl.conf
находим строку
net.ipv4.ip_forward = 0
и меняем ее на
net.ipv4.ip_forward = 1
эта строка у нас говорит ядру включить форвардинг пакетов. Но этот параметр сработает только после перезагрузки сервера, а нам естественно нужно чтобы система заработала прямо сейчас.
Для этого также есть хитрая команда:
echo "1" > /proc/sys/net/ipv4/ip_forward
Теперь нам надо включить трансляцию адресов (NAT) чтобы пакеты от клиентской машины попадая на наш выделенный сервер могли уйти в Интренет, ну и соответственно возвращались назад.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
Теперь нам надо сохранить наши настройки таблицы iptables:
iptables-save > /etc/sysconfig/iptables
Теперь при перезагрузке нашего сервера правила iptables будут загружаться автоматически (конечно при условии что на нашем выделенном сервере выбран автоматический старт службы iptables). Проверить это можно командой:
chkconfig --list iptables
Результат вывода такой:
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Это значит, что для уровня запуска 3 старт службы iptables разрешен.
Все! На этом настройка нашего OpenVPN сервера закончена. Но это еще не все!
Теперь нам нужно настроить клиентскую часть OpenVPN. Рассмотрим самый простой вариант инсталляции клиентской части OpenVPN под Windows XP.
Mathias Sundman разработал очень полезный продукт OpenVPN GUI for Windows для упрощения нам жизни :-). Лезем к нему на сайт, качаем и инсталируем http://openvpn.se/files/install_packages/openvpn-2.0.7-gui-1.0.3-install.exe
После инсталляции пакета в System Tray появляется соответствующий значек, похожий на значек удаленного доступа по модему.
Вернемся к вопросу настройки нашего OpenVPN сервера. Помните, мы там генерировали ключи. Так вот именно сейчас они нам и понадобятся. А именно для клиента client1 нам нужны следующие файлы:
ca.crt
client1.crt
client1.key
На нашем сервер они лежат в папке /etc/openvpn. Копируем их оттуда любым способом на свою клиентскую машину. На сайте OpenVPN на эту тему написано, что копировать ключи очень рекомендуется через защищенные каналы свзи, например с помощью scp или sftp из пакета OpenSSH. Это верно. Но в крайнем случае, можно их и по почте послать и по ftp скачать. Дело Ваше.
Далее создаем для примера на нашем диске С папку vpn и копируем туда наши ключи. Затем из папки C:\Program Files\OpenVPN\sample-config\ копируем файл client.ovpn в папку C:\Program Files\OpenVPN\config\ и открываем его на редактирование. Ищем строку
remote my-server-1 1194
Меняем на
remote xxx.xxx.xxx.xxx 1194 где xxx.xxx.xxx.xxx это ip адрес нашего выделенного сервера.
Ищем строки
ca ca.crt
cert client.crt
key client.key
и меняем для нашего случая на
ca с:\\vpn\\ca.crt
cert с:\\vpn\\client1.crt
key с:\\vpn\\client1.key
Сохраняемся, потом жмем правой кнопкой мыши на значке OpenVPN в System Tray и выбираем Connect.
В общем на этом все. Теперь Вы в сети Интернет работаете от ip адреса Вашего выделенного сервера, причем канал между Вами и сервером шифруется с помощью SSL и трафик сжимается с помощью LZO real-time compression library.
Некоторые дополнения к теме OpenVPN.
Для проверки шифрования канала можно воспользоваться утилитой tcpdump и послушать, что именно проходит через наши интерфейсы например запустив ping -t google.com с клиентской (в нашем случае windows машины):
tcpdump -i tun0 -lenx для прослушивания интерфейса tun0:
07:35:39.039836 > ip 76: IP 64.233.167.99 > 10.8.0.6: icmp 40: echo reply seq 52992
0x0000: 4500 003c 5024 0000 f501 8342 40e9 a763 E..
0x0010: 0a08 0006 0000 825b 0400 cf00 6162 6364 .......[....abcd
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374 efghijklmnopqrst
0x0030: 7576 7761 6263 6465 6667 6869 uvwabcdefghi
07:35:39.935597 < ip 76: IP 10.8.0.6 > 64.233.167.99: icmp 40: echo request seq 53248
0x0000: 4500 003c 502d 0000 8001 f839 0a08 0006 E.. 0x0010: 40e9 a763 0800 795b 0400 d000 6162 6364 @..c..y[....abcd
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374 efghijklmnopqrst
0x0030: 7576 7761 6263 6465 6667 6869 uvwabcdefghi
07:35:40.039872 > ip 76: IP 64.233.167.99 > 10.8.0.6: icmp 40: echo reply seq 53248
0x0000: 4500 003c 502d 0000 f501 8339 40e9 a763 E.. 0x0010: 0a08 0006 0000 815b 0400 d000 6162 6364 .......[....abcd
0x0020: 6566 6768 696a 6b6c 6d6e 6f70 7172 7374 efghijklmnopqrst
0x0030: 7576 7761 6263 6465 6667 6869 uvwabcdefghiВидим, что пакеты не шифрованы, но ведь так и надо для этого интерфейса :-)
Теперь посмотрим как шифруется канал между клиентской машиной и нашим сервером по интерфейсу eth0:
tcpdump -i eth0 udp port 1194 -lenx смотрим
07:49:27.636106 00:13:8f:a3:3c:bf > 00:0c:db:b6:21:00, ethertype IPv4 (0x0800),
length 143: IP ss.ss.ss.ss.1194 > cc.cc.cc.cc.4286: UDP, length 101
0x0000: 4500 0081 acc4 4000 4011 2e6d 5995 c3a1 E.....@.@..mY...
0x0010: 52d1 ef32 0bd6 10be 006d 2773 3022 cd46 R..2.....m's0".F
0x0020: fdbe bd8e eb73 1d90 ff19 14a3 f2a6 a484 .....s..........
0x0030: b34d 227c 0dc8 3115 f6bd 9f68 04b4 5b6d .M"|..1....h..[m
0x0040: 9f9e 5ff1 f8a0 e8de 5963 f8de 41fc 66ac .._.....Yc..A.f.
0x0050: f652
07:49:28.647961 00:13:8f:a3:3c:bf > 00:0c:db:b6:21:00, ethertype IPv4 (0x0800),
length 143: IP ss.ss.ss.ss.1194 > cc.cc.cc.cc.4286: UDP, length 101
0x0000: 4500 0081 acc5 4000 4011 2e6c 5995 c3a1 E.....@.@..lY...
0x0010: 52d1 ef32 0bd6 10be 006d 3ee2 3001 88d0 R..2.....m>.0...
0x0020: 19de 5eb9 6ece ee5f 4088 16a0 7ccb fed4 ..^.n.._@...|...
0x0030: c097 7c7e c546 9cd5 3c88 960e d87d dfdf ..|~.F..< ....}..
0x0040: 931f d1b5 b620 9fd1 6e70 898e 9753 aaeb ........np...S..
0x0050: 2337
где ss.ss.ss.ss адрес нашего сервера, а cc.cc.cc.cc адрес нашего клиента.
Как видно из дампа наш канал зашифрован.
Предлагаю вариант попроще:
Предлагаю вариант попроще: https://sites.google.com/site/smkuzmin/home/openvpn
все гениальное
все гениальное просто)....замечательная статья..все сделал все работает автору 5+
у меня openvpn стартует,
у меня openvpn стартует, настраивал на 2ух машинах, но вот беда, клиент не подключается! смотрю tcpdump, от клиента пакеты идут, сервер их принимает на порту, но линк не устанавливается! вообще никаких намеков. может подскажете? проверки ради на всех машинах прописывал в iptables правила по умолчанию ACCEPT, пока не знаю за что еще взяться.
PIX-GW1:/etc/openvpn # tcpdump -i eth1 port 1195
16:52:26.469112 IP 192.168.18.1.47980 > ххх.ххх.ххх.ххх.rsf-1: Flags [S], seq 372832519, win 4380, options [mss 1460,sackOK,TS val 265559539 ecr 0,nop,wscale 6], length 0
16:52:29.473473 IP 192.168.18.1.47980 > ххх.ххх.ххх.ххх.rsf-1: Flags [S], seq 372832519, win 4380, options [mss 1460,sackOK,TS val 265562544 ecr 0,nop,wscale 6], length 0
16:52:35.489471 IP 192.168.18.1.47980 > ххх.ххх.ххх.ххх.rsf-1: Flags [S], seq 372832519, win 4380, options [mss 1460,sackOK,TS val 265568560 ecr 0,nop,wscale 6], length 0
3 packets captured
5 packets received by filter
0 packets dropped by kernel
порт 1195 пусть не смущает, изначально на 1194 пробовал. это с клиента tcpdump, сервер все это принимает, но ничего не делает.
ошибок в логе openvpn тоже нет, все хорошо, на первый взгляд. подскажите чего-нить, м? куда копать
спасибо
Поставил на свой VPS (CentOS
Поставил на свой VPS (CentOS release 5.5, ядро 2.6.18-194)
Не хочет запускаться хоть тресни. В логах вот это:
Tue May 10 18:10:42 2011 OpenVPN 2.1.1 i386-redhat-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Jan 26 2010
Tue May 10 18:10:42 2011 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Tue May 10 18:10:42 2011 Diffie-Hellman initialized with 1024 bit key
Tue May 10 18:10:42 2011 Control Channel Authentication: using 'keys/tls.key' as a OpenVPN static key file
Tue May 10 18:10:42 2011 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue May 10 18:10:42 2011 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue May 10 18:10:42 2011 TLS-Auth MTU parms [ L:1560 D:168 EF:68 EB:0 ET:0 EL:0 ]
Tue May 10 18:10:42 2011 ROUTE default_gateway=192.0.2.1
Tue May 10 18:10:42 2011 Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Tue May 10 18:10:42 2011 Note: Attempting fallback to kernel 2.2 TUN/TAP interface
Tue May 10 18:10:42 2011 TUN/TAP device /dev/tun0 opened
Tue May 10 18:10:42 2011 /sbin/ip link set dev tun0 up mtu 1500
SIOCSIFMTU: No such device
Tue May 10 18:10:42 2011 Linux ip link set failed: external program exited with error status: 255
Tue May 10 18:10:42 2011 Exiting
Как побороть кто-нибудь подскажет?
пинать владельца ноды, т.е.
пинать владельца ноды, т.е. хостера в вашем случае на предмет добавления tun
Начал устанавливать на Cent
Начал устанавливать на Cent OS 5, сначала такая же ошибка выскочила как и у тебя, установил lzo, затем начал заново ./configure, появилась ошибка Configure:Error:OpenSSL Crypto Headers not found. Залез на сайт openssl, установил, затем опять попробовал - ошибка та же. Не можешь подсказать, в чем проблема?
в тебе наверное.....сделай
в тебе наверное.....сделай еще раз все сначала
Спасибо за мануал, и помощь в
Спасибо за мануал, и помощь в аське ))) Все заработало!
Но также хотел поделиться граблями, на которые пришлось понаступать.
1) На многих дистрибутивах нету предустановленных компиляторов и других нужных вещей (я юзал centos-4-i386-minimal) поэтому сначала надо их установить.
Сначала устанавливаем YUM, подробнее написано здесь http://www.eomy.net/linux/install-yum/
Затем инсталим компиляторы и пр.
yum install gcc gcc-c++ make openssl openssl-devel
2) Судя по коментариям, многие забывают скопировать файлы ключей и сертификатов, и я, кстати, тоже ))). Для этого юзаю команду
cp /usr/local/src/openvpn-2.0.7/easy-rsa/keys/* /etc/openvpn/
3)Если мы не устанавливаем себе на сервер ДНС, то нужно в файле server.conf прописать гугловские ДНС (или любые другие)
push "dhcp-option DNS 8.8.8.8"
4)Еще большими граблями было то, что не читал дополнения к статье http://dedicatesupport.com/archives/32, поэтому очень долго провозился с настройкой НАТ, а в дополнении прописана его настройка на виртуальном сервере, где не работает маскарад, ну под семерку надо прописать в конфиге дополнительные команды, которые есть тоже в этом дополнении.
Вот только небольшие глюки у меня остались. Юзаю клиент под винду семерку и при подключении отображаются какие-то каракули:
Tue Mar 01 13:52:59 2011 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Tue Mar 01 13:52:59 2011 WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
ЋЉ
ЋЉ
ЋЉ
ЋЉ
Но самое главное, что ВПН работает!!! Просто клиент не отображает, что он подключен (причем пробовал устанавливать разные версии клиентов и на разных осях - дополнительно на ХР виртуальном тестил). Если кто-то знает как пофиксить эту проблему, буду рад услышать решение.
Да без проблем. Рад что моя
Да без проблем. Рад что моя писанина смогла помочь :). Стукни мне в аську плиз - есть предложение.
Автор! Вот сколько смотрю на
Автор! Вот сколько смотрю на этот замечательный сайт и не менее замечательные статьи, и никак не могу понять:
- на кой фиг ты утомляешь читателей своими дурацкими tar zxvf , ./configure , make , make install ??
Впечатление такое, что ты пишешь статьи НЕ для CentOS, для которого есть готовые пакеты, а для какой-нить ГЕНТЫ.
Мало того, что эти компиляции запудривают мозги читателей и отнимают понапрасно время - они еще и крайне вредны для системы, потому что засирают ее продуктами компиляции так, что удалить их потом полностью при случае становится практически невозможно.
Автор, открой для себя богатые репозитарии CentOS с готовыми проверенными пакетами и больше не занимайся этой допотопной хней - она никому не нужна.
что ты тормОЗИШ ТО А....... в
что ты тормОЗИШ ТО А....... в Сentos-e нет пакета openvpn
bla-bla-bla#yum install openvpn
Loaded plugins: fastestmirror, priorities
Loading mirror speeds from cached hostfile
* centosplus: mirror.corbina.net
Setting up Install Process
No package openvpn available.
Nothing to do
и добавлять дополнительные репозитории не ВСЕГДА ДОСТУПНЫ!
Андрей! Думаешь ты самый
Андрей! Думаешь ты самый умный со своими советами? Я могу тебе навскидку сказать не менее десятка ситуаций, когда репозитарии никак не помогут. Так что прежде чем открывать мне глаза на богатые репозитарии центоса, сначала бы сам попробовал например поставить мемкешед на 64 бит платформу центоса, причем чтоб работало, как ни странно, и при этом версия php была 5.2.17 со своего любимого репозитария, я так думаю он у тебя atomic.
Сори если что, но холивары меня чутка утомили. Кроме того, статья писалась в те далекие времена, когда ни в одном репозитарии не было openvpn версии 2.0.7. Естественно, если нет противопоказаний, пакеты НУЖНО ставить из репозитариев.
Уважаемый Админ. Статья то
Уважаемый Админ.
Статья то хорошая!
Но, у меня тоже "service openvpn start" выдает ошибку:[FAILED]
вот что говорит лог
pitomnik openvpn[8419]: Options error: --server directive network/netmask combination is invalid
Oct 18 09:14:29 srv openvpn[8419]: Use --help for more information.
Oct 18 09:14:29 srv openvpn: failed
А у меня не получается
А у меня не получается выполнить это "service openvpn start" выдаёт ошибку: [FAILD]
Что делать подскажите?
Отличная статья, после
Отличная статья, после некоторого шаманства установил OpenVPN на CENTOS 5. Единственное остался вопрос, каким образом отключить логи подключения? Я сделал так, (может этого не достаточно) прописав в конфигурацию сервера (server.conf) следующие строки
log /dev/nullы
status /dev/null
log-append /dev/null
verb 0
У меня после подключяение
У меня после подключяение openVPN не открываются никакие сайты, кроме тех которые размещены на самом сервере. Пинг к серверу есть.
//Такая проблема часто возникает когда на сервера не настроен bind.
bind поставил, настроил, как описано тут - http://server-tuning.info/bind/setting-up.html не помогло.
// Если же нет, то проблема скорее всего в маршрутизации.
Тогда значит маршпутизацию нада настривать? У меня CentOS а клиент WinXP.
Отличная статья! автору
Отличная статья!
автору спасибо. установил с первого раза на старую федору.
Zakachkin, воспользуйтесь
Zakachkin, воспользуйтесь
openssl dhparam -out dh1024.pem 1024
полеченный файл (dh1024.pem) положите в config
Вроде всё по инструции делал,
Вроде всё по инструции делал, но все равно что-то ему не хватает дистр ASPLinux!
Thu Jan 8 14:23:27 2009 Cannot open dh1024.pem for DH parameters: error:02001002:system library:fopen:No such file or directory: error:2006D080:BIO routines:BIO_new_file:no such file
Очень хорошая статья, автору
Очень хорошая статья, автору +1.
Настроил openvpn сервер на Mandriva 2009, клиенты коннектятся с виндовых машин. Очень пригодились дополнения dr.gopher'а. Правда есть одна небольшая проблема низкая скорость, но это позже...
Отличная статья, спасибо,
Отличная статья, спасибо, установил с Вашей помощью ВПН-сервер на WinXP.
Правда, не могу понять, почему получается в итоге такая низкая скорость между компами - без ВПН скорость минимум 200кб/сек, а через ВПН - не более 40кб/сек(.
Производительность компов неплохая, на процессорах Core2Duo...
Салют, хорошая статья, хотя я
Салют, хорошая статья, хотя я всё сделал сам, но есть одно но! всё красиво коннектится, но когда я проверяю IP, то мне показывают IP моей тачки, а не сервака. Я так понял проблемы где то в NAT настройках, хотя как мог всё настроил. Может есть какие нить мысли по этому поводу?
Статья удачная ! !! Ставил
Статья удачная ! !! Ставил на Mandrive и на SUSE все нормально стало, но наткнулся на проблемку: каждый клиент при конекте к серверу получает 1 и тот же IP и либо первого выкидует, либо второй войти неможет.
Подскажите в какую сторону смотреть
klient.log
Thu Jul 31 14:25:17 2008 [rud] Peer Connection Initiated with 111.111.111.111:5190
Thu Jul 31 14:25:18 2008 SENT CONTROL [rud]: 'PUSH_REQUEST' (status=1)
Thu Jul 31 14:25:18 2008 PUSH: Received control message: 'PUSH_REPLY,route 10.10.10.0 255.255.255.0,redirect-gateway def1,dhcp-option DNS,route 10.10.10.0 255.255.255.0,ping 10,ping-restart 120,ifconfig 10.10.10.6 172.16.1.5'
Thu Jul 31 14:25:18 2008 Options error: --dhcp-option: unknown option type 'DNS' or missing parameter
Thu Jul 31 14:25:18 2008 OPTIONS IMPORT: timers and/or timeouts modified
Thu Jul 31 14:25:18 2008 OPTIONS IMPORT: --ifconfig/up options modified
Thu Jul 31 14:25:18 2008 OPTIONS IMPORT: route options modified
Thu Jul 31 14:25:18 2008 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Thu Jul 31 14:25:18 2008 netsh interface ip set address "VPN" static 10.10.10.6 255.255.255.252
Ставлю все это богатсво на
Ставлю все это богатсво на дебиане/ статья классная? но наступил я на грабли/ Уже второй раз и на разные/ Первый раз был когда в своем дебиане в следствии своей новичковости я поставил опенвпн как написано в этой статье make install и т/д надо было apt-get юзфть а то ничего не запускается!!! так как ручками не умею чистить а make uninstall не проканало решил переставить систему благо нечего было терять кроме 3-4 часов :) теперь вот така я трабла!
SERVER5:/etc# iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
SERVER5:/etc# iptables-save > /etc/sysconfig/iptables
bash: /etc/sysconfig/iptables: No such file or directory
Ну нету у меня такой папки::( да и chkconfig --list iptables не канает/+ в начале chkconfig --add openvpn тж не сканало!!! ПРи этом все время пишет что нет такой кманды chkconfig какие будут предложения!!! Буду оч признателен
А для UNIX-VPS какие
А для UNIX-VPS какие настройки не подскажите?
спасибо, всё работает! а
спасибо, всё работает!
а вот если я куплю дополнительный IP к своей vps, то можно вся организовать так, чтобы я к впн коннектился на один IP, а на сайтах везде светился второй?
при генерации ключа
при генерации ключа ./build-key client получается файл client.crt размером 0 байт
вроде так не должно быть?
и при попытке запустить пишет что не может загругить этот сертификат.
den says: каждый пятый пакет
den says:
каждый пятый пакет теряется. что бы это могло быть?
Возможно надо поиграться с tun-mtu 1500.
1. Цифра на сервере и на клиенте должна совпадать.
2. Проконсультируйтесь у провайдера, какой mtu лучше поставить. Как правило они называют рату тройку нужных вариантов.
Удачи.
К сожалению на данный момент
К сожалению на данный момент не располагаю достаточным количеством времени, для того чтобы написать несколько заметок. Как только появится время, с удовольствием их продолжу.
Тут кто-то есть вообще?
Тут кто-то есть вообще?
Добрый день! Когда следует
Добрый день!
Когда следует ожидать решения упомянутого выше подхода?
> "...как сделать так чтоб вместо копирования клиенту 3 файлов с ключами, обходиться тока одним .p12 файлом?... "
каждый пятый пакет теряется.
каждый пятый пакет теряется. что бы это могло быть?
XP - моя машинка,
server - openvpn-сервер на Linux,
host - удаленная тачка за сервером
------ ping ------
1. XP -> host = пакет теряется
2. XP -> server = все ОК!
3. server -> host = все ОК!
------ tcpdump (при пинге 3) ------
tap0 - интерфейс на меня
xxx0 - интерфейс на инет
XP -1-> tap0 -2-> xxx0 -3-> host
host -4-> xxx0 -5-> tap0 -6-> XP
из 10 пакетов 2 (всегда!) не фиксируются в точке 6.
т.е. уходят ВСЕ пакеты, на обратном пути теряется пакет в точке 5.
openvpn и свою тачку перегружал, фаервол на себе выключал - ниче не помогает.
в kern.log при этом появляется:
kernel: [5113008.397000] Inbound IN=xxx0 OUT=tap0 SRC=host DST=172.10.10.4 LEN=60 TOS=0x00 PREC=0x00 TTL=251 ID=16518 PROTO=ICMP TYPE=0 CODE=0 ID=512 SEQ=46082
Уважаемый dr.gopher !!! Меня
Уважаемый dr.gopher !!!
Меня очень радует что на мой сайт заходят такие люди как Вы!!! Я горд этим! Побольше бы таких посетителей! Спасибо Вам за ценные и совершенно верные дополнения к моей заметке.
У меня такая проблема, когда
У меня такая проблема, когда запускаю VPN:
Sat Jan 19 07:42:38 2008 Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)
Sat Jan 19 07:42:38 2008 Cannot allocate TUN/TAP dev dynamically
Когда modprobe tun вот что:
FATAL: Could not load /lib/modules/2.6.9-023stab040.1-smp/modules.dep: No such file or directory
Что делать??????
Хорошая статьтья.
Хорошая статьтья. Спасибо!
Плохо только, что автор не дотянул статью до инструкции, а написал наполовину обзорную. :-)
Опишу грабли на которые наступил я. Тем самым отвечу на несколько вопросов которые задавались выше:
1. Примеры минимальных конфигов:
1.1 Сервер:
dev tap
proto tcp
server 10.0.3.0 255.255.255.0
dh /etc/openvpn/dh1024.pem
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
proto tcp
port 15000
user openvpn
group openvpn
comp-lzo
verb 5
1.2 Клиент:
dev tap
proto tcp
remote 194.44.44.32
port 15000
client
dh "C:\\Program Files\\OpenVPN\\config\\ dh1024.pem "
ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\config\\client2.crt"
key "C:\\Program Files\\OpenVPN\\config\\client2.key"
comp-lzo
verb 3
2. Грабли 1 !!! - server 10.0.3.0 255.255.255.0 , последняя цифра IP адреса 0.
Иначе сервер не стартует! Следовательно IP сервера будет 10.0.3.1 клиентов последующие.
3. Грабли 2!!! - Конфиг в линксе server.conf Если он отсутствует в директории /etc/openvpn, либо случайно назван как на виндовом сервере server.ovpn, сервер при старте (service openvpn start) говорит ОК, но на самом деле он не стартует!
У меня при рабочем сервере –
[root@web openvpn]# service openvpn status
Status written to /var/log/messages
4. Грабли 3!!! Указание пути в винде вот в таком формате - "C:\\Program Files\\OpenVPN\\config\\client2.key"
5. Габли 4!!! Скрипты для генерации ключей тут - ./usr/share/openvpn/easy-rsa/2.0/, для вервии openvpn 2.09.
6. Єто уже для облегчени жизни. Добаляем в авто загрузку -
/sbin/chkconfig --level 345 openvpn on (Rad Hat, Fedora Core).
7. Если сервер не стартует. Смотрим tail –f /var/log/messages
8. Хорошая статья, но найти удалось только в кеш Гугла.
http://209.85.129.104/search?q=cache:1TqBAdRF7L0J:https://zloy.org/news_n918_desc-Nastroika-VPN-na-osnove-OpenVPN.html+news_n918_desc-Nastroika-VPN-na-osnove-OpenVPN&hl=uk&ct=clnk&cd=1&gl=ru
Вот пожалуй и все. Всем удачи.
очень хорошая, доходчивая
очень хорошая, доходчивая статья. а я вот спросить хотел, мож кто посоветует где можно купить недорого дедик.
TCP/UDP: Socket bind failed
TCP/UDP: Socket bind failed on local address 100.100.100.100:1194: Cannot assign requested address
при запуске выдает такую вот ошибку.
уже задавали вопрос.. никто так и не объяснит? как это лечить
У вас не установлен
У вас не установлен компилятор языка C. Его необходимо поставить командой:
yum install gcc gcc-c++
[root@serv src]# cd
[root@serv src]# cd openvpn-2.0.7
[root@serv openvpn-2.0.7]# ./configure
checking for ifconfig... /sbin/ifconfig
checking for ip... /sbin/ip
checking for route... /sbin/route
checking build system type... i686-pc-linuxoldld
checking host system type... i686-pc-linuxoldld
checking target system type... i686-pc-linuxoldld
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... no
checking for gcc... no
checking for cc... no
checking for cc... no
checking for cl... no
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details.
[root@serv openvpn-2.0.7]# make
-bash: make: command not found
в чем у меня может быть проблема?
Конечно же нет. Я указываю
Конечно же нет. Я указываю какие ошибки могут возникнуть при инсталляции наиболее часто. И как их решать.
Не совсем понял описанную
Не совсем понял описанную хронологию установки:
> ./configure
> После чего получаем ошибку такого вида:
> LZO library available from http://www.oberhumer.com/opensource/lzo/
> configure: error: Or try ./configure –disable-lzo
> Это значит что у нас в системе нет библиотеки lzo с помощью которой происходит компрессия и декомпрессия нашего > трафика в реальном режиме времени. лезем на соответствующий сайт, качаем библиотеку и ставим:
Т.е сначала нужно добиться указаной ошибки, а потом ставить по нормальному, или как?
К сожалению с Firehol не
К сожалению с Firehol не разбирался. Поэтому не смогу Вам помочь. :-(
У меня для настройки IPTables
У меня для настройки IPTables стоит Firehol, то есть ручные правила для IPTables он игнорирует.
Достаточно ли одного этого правила
[b]iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE[/b]
для того чтобы пакеты от клиентской машины попадая на наш выделенный сервер
могли уйти в Интренет и соответственно возвращались назад.
Может кто знает как это правило правильно прописать в FIREHOL?
А то у меня коннект проходит, IP выдается, а запросы через сервер не идут.
млин не получается с xp зайти
млин не получается с xp зайти , на сервере все гуд установилось а вот дома не подключен кабель пишет ))) наверно ip какието неправильно вписал... не получается
И еще. У меня обратная
И еще. У меня обратная ситуация. Т.е. серв. надо ставить на Windows, а клиент на Linux. Может поможете чем??? А то здесь все конечно подробно написано, но в моем случае я все таки без помощи обойтись не смогу)))
А у меня такой вопрос: А если
А у меня такой вопрос: А если сервер не подключен, то клиент постоянно будет пытаться достучаться до него?? и тратить много трафика?? (клиентов мне надо поставить на машины с gprs модемами)
на XP
на XP
винды XP-шные. Лан попробую
винды XP-шные. Лан попробую сёня выкачать CentOS 4.
А ты на CentOS 5 не пробовал ставить?
На CentOS 4.x ставиться на
На CentOS 4.x ставиться на ура без проблем. Людям на debian ставил тоже без проблем. А винды какие? XP или 2000?
у меня стоят 6 машин
у меня стоят 6 машин виндовых, на всех пробовал... всё равно пишет 10 мб/с. Ну не может чтобы на всех клиентах одинаково было. А можно каким нить образом изменить скорость tap0 адаптера. Если конектить две машины кабелем на одной скорость 10/100 а на второй 10/100/1000, то сеть будет максимум 100, так что я думаю дело не в виндовых клиентах. В инете находил намёки на это, но видимо это было на старые версии опенвпн. Там повышали скорость до гб.
З.Ы. sever.conf выучил наизусть, только вот про скорость там ничего нет. openvpn брал 2.0.9 и 2.1_rс4 ставил из rpm пакетов т.к. мандрива упоно не хотела переваривать исходники. Может посоветуешь систему какую нить на которой эта штука работает.