Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» OpenVPN

Автор: Ruza
Дата сообщения: 21.07.2008 22:15
DJAVOL2005

Цитата:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
затем
iptables-save > /etc/sysconfig/iptables
и наконец
chkconfig --list iptables

Это вообще не для тебя судя по твоим требованиям.
Поставь webmin и скачай модуль для openvpn будет возможность хоть мышкой кликать и на русском можно...

GRIZLO

Цитата:
В первую очередь следует перейти в эту директорию.
# cd /usr/share/doc/openvpn-2.0.5/easy-rsa
#Теперь отредактируйте файл vars.
export D=`pwd`
export KEY_CONFIG=$D/openssl.cnf
export KEY_DIR=/etc/openvpn/keys
echo NOTE: when you run ./clean-all, I will be doing a rm -rf on $KEY_DIR
export KEY_SIZE=1024
export KEY_COUNTRY=RU
export KEY_PROVINCE=RU
export KEY_CITY=MOSCOW
export KEY_ORG="Artur Kryukov"
export KEY_EMAIL="artur@kryukov.ru"Этот файл предназначен для установок переменных среды окружения, перед генерацией ключей. Запустите его при помощи точки:
# . vars
NOTE: when you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/keys#

Плакаль.... Ты это где вычитал? Неужели нельзя хоть понять что слеш обратный???
Какой мля .vars???

Цитата:
в винде ХР СП2

Зайди х:\Program Files\OpenVPN\easy-rsa\ и почитай там всё написано и заготовлено.

rain87

Цитата:
встроенного нету никакого.

А IIS уже ни разу не web сервер?
Хотя
Цитата:
а зачем он тебе?
- это верно web сервер для openvpn вообще не нужен...

phaoost

Цитата:
. vars

Умно. Аж зависть берёт, просто одним словом взять и показать всю свою разумность, это ж уметь надо! Не то что нам сирым...
Автор: rain87
Дата сообщения: 21.07.2008 23:20
Ruza
Цитата:
А IIS уже ни разу не web сервер?
а оно идёт встроенное в виндоус хп?
Автор: GRIZLO
Дата сообщения: 22.07.2008 09:24
не слышали о маленькой программке hamachi, которая делает все эти вещи (дает белый айпи, создает связь между хостами и т.д.)? может это решение моей проблемы?
Автор: rain87
Дата сообщения: 22.07.2008 12:15
гм. этот судя по описанию через промежуточный сервер работает? пробуй если хочешь, мне лично незачем свой трафик через хз кого пускать и зависеть от работоспособности хз чего
Автор: DJAVOL2005
Дата сообщения: 22.07.2008 12:56
rain87
Можно глупый вопрос? так вот. Зачем вообще нужны эти iptbles и как правильно написать правило в файлик и вообще как это написать. В твоей статье написано, что уже есть мол готовые ,,. мол иптэйблс лист и все...а у меня готовых то нет.
Вообще вкратце лбрисую ситуацию зачем мне нужен опенвпн!
Есть контора у нее 2 офиса в разных городах. Один офис головной. Там есть серваки на которых разный софт. В общем надо образовать впн туннель чтобы был доступ в мою сеть+надо настройить nat. Вот и усе.
Ruza
Поставил я эту гадость. Там все на английском+ни одной инструкции как что ставить...(точнее сама прога на русском а пакет на английском.) Но все равно спасибо может в другом пригодится.
Всем спасибо за возмжные решения моей траблы.
Автор: Ruza
Дата сообщения: 22.07.2008 14:57
DJAVOL2005

Цитата:
Есть контора у нее 2 офиса в разных городах. Один офис головной. Там есть серваки на которых разный софт. В общем надо образовать впн туннель чтобы был доступ в мою сеть+надо настройить nat.

Гм... #### А зачем тебе NAT? Вот ты мне обясни что ты натить собрался? ИП там какие внутренние и какие у тебя?
Это не NAT надо а простая маршрутизация...
Читай про openvpn.conf и там всё есть... iptables это для более завёрнутых клиентов и т.п.
Хотя при настройке возможно придётся прописать разрешение в iptables типа:
*filter
iptables -A INPUT -s IPADDR -d IPADDR --dport PORT -j ACCEPT
Автор: GRIZLO
Дата сообщения: 22.07.2008 16:33
rain87

Цитата:
гм. этот судя по описанию через промежуточный сервер работает? пробуй если хочешь, мне лично незачем свой трафик через хз кого пускать и зависеть от работоспособности хз чего

так по твоей инструкции, где предлагается воспользоваться чем-то, вроде dyndns, тоже трафик пускается через хз что (dyndns.com). как же я без хз чего получу "белый" айпи? и как без "белого" айпи я установлю связь между офисами?
Автор: rain87
Дата сообщения: 22.07.2008 16:57
GRIZLO
белый адрес тебе может дать только 1 организация - твой провайдер. никакая другая программа, хакеры и прочие не могут дать тебе белый адрес. белый адрес - это такой, который позволяет другим пользователям интернета напрямую общаться с тобой. т.е. если ты мне скажешь, какой у тебя белый адрес, то я смогу пингануть твой комп, зайти по виндовой шаре пошарится (если у тебя конечно не стоит файрволов и т.п.)
это раз

два. dyndns.com даёт тебе имя для твоего белого динамического адреса. таким образом ты можешь используя одно имя всегда обращаться к твоему компу, у которого всё время разные адреса (после переподключения к провайдеру как правило адрес дают новый). трафик через dyndns.com никаким боком не идёт, он только говорит какой у тебя сейчас адрес

три. хамачи работает через промежуточный сервер - т.е. ты у себя его запускаешь, и он коннектится куда то в инет. т.е. когда ты хочешь пообщаться с кем то, кто тоже по хамачи подключён - трафик идёт от тебя к серверу, потом от сервера к тому с кем ты общаешься. т.е. если этот промежуточный сервер будет лежать - вы пообщаться никак не сможете

прояснил чуток ситуацию?
Автор: DJAVOL2005
Дата сообщения: 22.07.2008 19:17
Ruza
У меня есть внутренние ip и один внешний. Т.е. белый наверное. Который везде определяется. а nat...чтобы выходить в интернет через Vpn...
т.е. iptables вообще не настраивать?
Автор: phaoost
Дата сообщения: 30.07.2008 20:24
Ruza
. vars и есть та команда о которой вы спрашивали. не знаю что вас так обидело. именно так её и нужно ввести в консоли
Автор: rain87
Дата сообщения: 30.07.2008 20:51
phaoost
почитать ты так и не решился. печально
Автор: Ruza
Дата сообщения: 30.07.2008 21:14
DJAVOL2005

Цитата:
У меня есть внутренние ip и один внешний.

У меня тоже есть, правда не один но это не столь важно...

Цитата:
т.е. iptables вообще не настраивать?

Что ты натить хочеш??? Подумай прежде чем отвечать... Ты собираешся натить "серые" IP через "серый" IP... Только вот не пойму нафига.
Пимер:
локальная сеть - 192.168.1.0/24
Локальный адрес OpenVPN - 10.10.10.1
...
Удалённый адрес OpenVPN - 10.10.10.2
удалённая сеть - 192.168.99.0/24
Для нормальной работы на шлюзах достатоно прописать
route add -net 192.168.99.0 netmask 255.255.255.0 gateway 10.10.10.2 (для локальной сети)
и аналогично для удалённой.
А iptables только для ограничений подключений с левых ИП.

phaoost

Цитата:
. vars и есть та команда о которой вы спрашивали. не знаю что вас так обидело. именно так её и нужно ввести в консоли

Да меня не обидело... Просто я уже устал обижаться, у меня на работе таких хватает
Просто ты взялся советовать (читай помогать) не удосужившись хотя бы прочитать вопрос о обдумать ответ. Поверь такой ответ мог бы поставить в тупик вопрошающего вплоть до перестановки ОС, в поисках решения запуска .vars на windows.
Кстати .vars пишется без пробела!
Автор: rain87
Дата сообщения: 30.07.2008 21:35
Ruza
натить иногда таки приходится, но только в том случае если на клиентских машинах шлюз отличается от компа на котором овпн

Добавлено:
грац кстати с сильвер мембером
Автор: phaoost
Дата сообщения: 30.07.2008 22:31
Ruza
этот файл для *никс систем. там же . vars пишется с пробелом. я не думал что его решатся под вендой пускать. видимо должен быть аналог vars.bat/cmd


Добавлено:
Ruza
специально посмотрел:


Код: $ ll /usr/src/openvpn-2.1_rc7/easy-rsa/Windows/
total 116
-rw-r--r-- 1 1000 1000 190 Jan 23 2008 build-ca.bat
-rw-r--r-- 1 1000 1000 449 Jan 23 2008 build-ca-pass.bat
-rw-r--r-- 1 1000 1000 119 Jan 23 2008 build-dh.bat
-rw-r--r-- 1 1000 1000 448 Jan 23 2008 build-key.bat
-rw-r--r-- 1 1000 1000 449 Jan 23 2008 build-key-pass.bat
-rw-r--r-- 1 1000 1000 632 Jan 23 2008 build-key-pkcs12.bat
-rw-r--r-- 1 1000 1000 467 Jan 23 2008 build-key-server.bat
-rw-r--r-- 1 1000 1000 468 Jan 23 2008 build-key-server-pass.bat
-rw-r--r-- 1 1000 1000 427 Jan 23 2008 clean-all.bat
-rw-r--r-- 1 1000 1000 0 Jan 23 2008 index.txt.start
-rwxr-xr-x 1 1000 1000 66 Jan 23 2008 init-config.bat
-rw-r--r-- 1 1000 1000 1121 Jan 23 2008 README.txt
-rw-r--r-- 1 1000 1000 504 Jan 23 2008 revoke-full.bat
-rw-r--r-- 1 1000 1000 3 Jan 23 2008 serial.start
-rw-r--r-- 1 1000 1000 855 Jan 23 2008 vars.bat.sample
$ cat /usr/src/openvpn-2.1_rc7/easy-rsa/Windows/init-config.bat
copy vars.bat.sample vars.bat
copy openssl.cnf.sample openssl.cnf
Автор: Ruza
Дата сообщения: 31.07.2008 06:18
rain87
Ну NAT'ить в отдельных случаях самому приходится, но зачастую проще обходится маршрутизацией. Да и при NAT netbios работает из рук вон хреново.


Цитата:
грац кстати с сильвер мембером

Спасибо

phaoost

Цитата:
специально посмотрел:


Цитата:
а, всем сори. я протупил. не увидел что человек в венде баш-скрипты пускать хотел

Ну наконец то!!! Светоч знаний начал просыпаться! Главное что бы не заснул опять.


Цитата:
там же . vars пишется с пробелом

А как ещё тебя заставить посмотреть?
Тем более "." это специфика *nix систем относящаяся к путям.
она равносильна
[root@host ~]# /usr/share/openvpn/easy-rsa/2.0/vars
Автор: phaoost
Дата сообщения: 31.07.2008 12:28
Ruza
кроме того . является сокращённым алиасом команды source в баше. в случае с vars - этот файл не выполняемый. у него нет #!/bin/bash в начале. а то про что вы говорите выгладело бы как ./vars
но так как мы хотим не просто выполнить его а выполнить в текущем инстансе баша то пишем . vars или . ./vars или . /usr/share/openvpn/easy-rsa/2.0/vars
а делаем мы это для того чтобы указанные в vars переменные подключились в текущий шелл из которого мы будем потом пускать easyrsa скрипты
Автор: rain87
Дата сообщения: 31.07.2008 12:44
ну афаик phaoost прав. если надо выполнить исполнимый файл в текущем каталоге то надо писать ./file тк . - текущий каталог. если надо выполнить неисполнимый - то . file
Автор: Ruza
Дата сообщения: 31.07.2008 15:30
phaoost
Мои аплодисменты!!


rain87
Я знаю что он прав. Просто иногда что бы заставить, что то прочитать приходится изначально сказать не совсем правду

Ладно хватит офтопить... Тема то про OpenVPN, а не про shell'ы и иже с ними.

Один проснулся и того довольно.
Автор: phaoost
Дата сообщения: 31.07.2008 21:57
вопрос не совесем про опенвпн наверное.
ситуация:
клиент (вин32) соединяется с сервером (лялих) посредством опенвпн, соединение устанавливается и работает.

при соединении на сервере вызывается скрипт который роутит несколько ипов из той же подсети, что на туннеле, на сторону клиента, что подтверждается пингом и тцпдампом на обеих сторонах. вопрос: каким образом на стороне клиента организовать раздачу ипов другим устройствам, находящимся в той же локалке что и машина на которой запущен клиент?
Автор: rain87
Дата сообщения: 31.07.2008 22:29
phaoost
пока что непонятно. если можно, с цифрами - какой ип клиента, сервера, какие ипы у концов овпн туннеля у клиента и сервера, какие ипы ты роутишь на клиента (и каким образом) и какая в итоге вообще преследуется цель?

Добавлено:

Цитата:
вызывается скрипт который роутит несколько ипов из той же подсети, что на туннеле
все ипы которые принадлежат туннелю роутятся через сервер, внутренне, если указана опция client-to-client (если не указана то на внутренние пакеты кладётся болт). так что непонятно что тут имеется в виду
Автор: phaoost
Дата сообщения: 31.07.2008 23:45
rain87
на сервере:
vpn.conf

Код: dev tap
ifconfig 1.2.3.0 255.255.255.248
ifconfig-pool-persist ippool 0
push "route-gateway 1.2.3.1"
learn-script script
Автор: rain87
Дата сообщения: 01.08.2008 13:58

Цитата:
learn-script
learn-address?
Цитата:
script
я не совсем понял назначение скрипта. ты добавляешь в роуты адрес 1.2.3.3 (который принадлежит сети 1.2.3.0/255.255.255.248), и говоришь что он доступен через tap0 (хотя при поднятии tap0 в роуты пропишется строка что 1.2.3.0/255.255.255.248 через tap0 и так доступна). смысл скрипта от меня ускользает
Цитата:
клиент находится в локалке 192.168.0.0/24, выходит в нет через модем например. сервер - в интернете. в локалку в свитч включаем комп, который должен получить адрес 1.2.3.3. как это сделать можно?
а в чём проблема? пусть комп подключается к серверу, сервер ему и выдаст чёто. если тебе надо чтоб клиент получил конкретный адрес - напиши у клиента
ifconfig 10.4.1.2 255.255.255.0
при старте он ругнётся что
WARNING: using --pull/--client and --ifconfig together is probably not what you want
но нормально всё подымется
Автор: phaoost
Дата сообщения: 01.08.2008 22:28
rain87
мне нужно чтобы на стороне одного клиента были несколлько ипов из одной подсети. конкретный адрес выдаётся нормально. вопрос в том как организовать рутинг на его стороне, чтобы другие компы подключенные просто через сеть могли сесть на эти ипы.
Автор: rain87
Дата сообщения: 01.08.2008 23:05
phaoost
имхо никак. сам подумай - что будет делать овпн сервер когда к нему придёт пакет для адреса (1.2.3.3) из его подсети (1.2.3.0), но при этом он про этот адрес ничего не знает и этот адрес к нему не подключался (к нему подключился только 1.2.3.2 и он сам знает что он 1.2.3.1)? он его дропнет и будет прав. и никакой маршрутизацией ОСи ты это не исправишь, т.к. свою подсеть (1.2.3.0) роутит в конце концов сервер овпн и никто другой

зы. повторяю, имхо. может я ошибаюсь

Добавлено:
можешь посмотреть на
Цитата:
--iroute network [netmask]
Generate an internal route to a specific client. The netmask parameter, if omitted, defaults to 255.255.255.255.

This directive can be used to route a fixed subnet from the server to a particular client, regardless of where the client is connecting from. Remember that you must also add the route to the system routing table as well (such as by using the --route directive). The reason why two routes are needed is that the --route directive routes the packet from the kernel to OpenVPN. Once in OpenVPN, the --iroute directive routes to the specific client.

This option must be specified either in a client instance config file using --client-config-dir or dynamically generated using a --client-connect script.

The --iroute directive also has an important interaction with --push "route ...". --iroute essentially defines a subnet which is owned by a particular client (we will call this client A). If you would like other clients to be able to reach A's subnet, you can use --push "route ..." together with --client-to-client to effect this. In order for all clients to see A's subnet, OpenVPN must push this route to all clients EXCEPT for A, since the subnet is already owned by A. OpenVPN accomplishes this by not not pushing a route to a client if it matches one of the client's iroutes.
но я слабо понимаю как его тебе применить. как то типа такого: когда коннектится 1.2.3.2 в скрипте client-connect сказать iroute 1.2.3.3, а на компе 1.2.3.2 сказать что 1.2.3.3 дотупен где то в локалке


Добавлено:
жуть какая
Автор: phaoost
Дата сообщения: 04.08.2008 10:17
rain87
в принципе на линухе всё решилось бриджем по хауту (только на клиентской части). единственное исключение - ип для бриджа я поставил такой же что и для tap0, т.е. 1.2.3.2/29 а 1.2.3.3/29 назначил девайсу. после этого я смог зайти на девайс по ssh с удалённого сервера на 1.2.3.3.
Автор: uasash
Дата сообщения: 07.08.2008 08:59
есть проблема может кто советом поможет.
цернтральный офис
server 2003 +isa 2004 прозрачный прокси сервер еще контролер домена на отдельном серваке, vpn стоит на отдельной машине под xp которая входит в домен (права администратора домена), конфиг сервера vpn
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 10.8.0.0 255.255.255.0"
push "route 192.168.20.0 255.255.255.0"
push "route 192.168.0.0 255.255.255.0"
client-config-dir c:\\OpenVPN\\ccd
route 192.168.0.0 255.255.255.0
push "dhcp-option DNS 192.168.0.201"
push "dhcp-option WINS 10.8.0.1"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
еще листинг ссd клиента
iroute 192.168.20.0 255.255.255.0

проблема в том что соединение устанавливается клиент видит только сервер сеть за сервером не видна, а сервер видит только виртуальный ip 10.8.0.6 а не 192.168.20.1,
что то с маршрутами но в каком месте не могу опредилить, и не конфликтует ли openvpn с isa и доменом
настройка сети на сервере openvpn
ip 192.168.0.250
mask 255.255.255.0
gw 192.168.0.250
dns 192.168.0.201

Автор: rain87
Дата сообщения: 07.08.2008 18:52
uasash
нну. виндоус это конечно да
Цитата:
клиент видит только сервер сеть за сервером не видна
по логике это должно решаться простой маршрутизацией. на клиенте ты это обеспечиваешь с помощью push "route 192.168.0.0 255.255.255.0". под виндой хп по дефолту афаик выключена маршрутизация, т.е. пакет во стороны клиента по адресу 192.168.0.0/24 проходит через овпн туннель и дропается сервером. включить маршрутизацию в винде - http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/regentry/33571.mspx?mfr=true и перегрузится. но если честно, у меня это не работало, поэтому когда я на хп мне понадобилось сделать такое, я это сделал жутко кошмарно - натом (по виндовому - разрешить другим пользователям сети использовать подключение данного компьютера к интернету, в свойствах сетевого адаптера на вкладке дополнительно)
Цитата:
а сервер видит только виртуальный ip 10.8.0.6 а не 192.168.20.1
192.168.20.1 это адаптер на клиенте? тогда на нём тоже надо включить роутер, а на сервере сказать где доступна эта сеть - в конфиг сервера добавить
route 192.168.20.0 255.255.255.0 10.8.0.1

строки
push "route 10.8.0.0 255.255.255.0"
push "route 192.168.20.0 255.255.255.0"
не нужны
Автор: tankistua
Дата сообщения: 07.08.2008 22:32
---openvpn.conf-------------------------------------------------------------------
port 1194
proto tcp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key # This file should be kept secret
dh keys/dh1024.pem

# Внутренняя сеть для нужд ОпенВПН - трафик внутри виртульано сети. Нужен только между серверами.
server 192.168.168.0 255.255.255.240
ifconfig-pool-persist ipp.txt

#Локальная сеть центрального офиса или по-другом сказать - сеть за сервером
push "route 192.168.0.0 255.255.255.0"

#Директория с файлами-конфигами удаленных клиентов. Имена файлов должны точно соответствовать названиям ключей
client-config-dir ccd
#Сети в удаленных офисах. Надеюсь никому не надо объяснять , что сети должны быть уникальны, иначе не будет трафик работать.
route 192.168.2.0 255.255.255.0
route 192.168.3.0 255.255.255.0
route 192.168.4.0 255.255.255.0
route 192.168.5.0 255.255.255.0
route 192.168.6.0 255.255.255.0
route 192.168.7.0 255.255.255.0
route 192.168.8.0 255.255.255.0
route 192.168.9.0 255.255.255.0

client-to-client
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
log /var/log/openvpn.log
verb 3
---openvpn.conf-------------------------------------------------------------------




в директории ccd есть файлик 192-168-2-0
в нем:
---192-168-2-0--------------------------------------------------------------------
iroute 192.168.2.0 255.255.255.0
ifconfig-push 192.168.168.2 192.168.168.1
---192-168-2-0--------------------------------------------------------------------


Конфиг для клиента с сетью 192.168.2.0. Я назвал сертификаты-ключи по именам удаленных сетей.
-rw-rw-r-- 1 basil wheel 3813 21 мар 15:11 192-168-2-0.crt
-rw-rw-r-- 1 basil wheel 684 21 мар 15:11 192-168-2-0.csr
-rw------- 1 basil wheel 887 21 мар 15:11 192-168-2-0.key

запуск клиента из командной строки
---client-192-168-2-0.conf-------------------------------------------------------------------
openvpn --proto tcp --port 1194 --remote sentral-office.server.com --nobind --dev tun --client --ca /etc/openvpn/ca.crt --cert /etc/openvpn/client.crt --key /etc/openvpn/192-168-2-0.key --comp-lzo --daemon --status /tmp/openvpn-status.log --verb 3
---client-192-168-2-0.conf-------------------------------------------------------------------
Автор: uasash
Дата сообщения: 11.08.2008 08:27
Все заработало, почти все.
Теперь клиент видит сеть за сервером, сервер видит сеть за клиентом, а вот компы за зервером не видят сеть openvpn.
конфигурация сети такая
шлюз 192.168.0.250 isa добавлено route add 192.168.20.0 mask 255.255.255.0 192.168.0.75
server openvpn 192.168.0.75
Может кто сталкивался?

Автор: rain87
Дата сообщения: 11.08.2008 13:53
uasash
ну а tracert что говорит?

Добавлено:
uasash
кстати после чего заработало всё? после включения маршрутизации, как я писал?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273

Предыдущая тема: конвертация mdf в sql


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.