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

» OpenVPN

Автор: vlary
Дата сообщения: 14.05.2016 08:38
b7music
Для объединения нескольких сетей выбран не лучший метод.
На этой странице есть тема по SoftEther VPN.
На сайте есть примеры объединения, с картинками.
Автор: Ropotran
Дата сообщения: 26.05.2016 10:39
[more] Снова вынужден обратиться к уважаемому сообществу, которое буквально парой постов выше в лице vlary и 1karavan1 помогло мне разобраться с маршрутизацией OpenVPN, за что им еще раз спасибо!

В итоге я настроил соединение сл.образом:

сервер:
port 1194
proto udp
auth none
cipher none
dev tap
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo no
mssfix
persist-key
persist-tun
verb 3

клиент:
client
dev tap
proto udp
remote XXX.XX.XXX.XXX 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
auth none
cipher none
comp-lzo no
verb 3
route 162.159.246.58 255.255.255.255
route 162.159.247.58 255.255.255.255

Почему именно таким образом (tap, без сжатия и шифрования и проч.)? Основной задачей является максимальная скорость соединения, а шифрование от провайдера клиента не важно, поэтому поэкспериментировав с различными вариантами конфиругации остановился на этой, как показавшей наилучшие вроде бы результаты.
Но главное, что все работало как нужно: клиент ходил на нужные сайты (в примере whoer.net) через openvpn, на все остальные - через своего интернет-провайдера.

Но вчера по определенным причинам нужно было переустановить все заново. Удалил openvpn и на сервере, и на клиенте, создал новые ключи, подключил и ... все перестало работать((( Потом пробовал закидывать в конфиги прежние файлы (они у меня были сохранены), но результат тот же, а именно:

Thu May 26 10:14:16 2016 C:\Windows\system32\route.exe ADD 162.159.246.58 MASK 255.255.255.255 10.8.0.1
Thu May 26 10:14:16 2016 ROUTE: route addition failed using CreateIpForwardEntry: Неверны один или несколько аргументов. [status=160 if_index=66]
Thu May 26 10:14:16 2016 Route addition via IPAPI failed [adaptive]
Thu May 26 10:14:16 2016 Route addition fallback to route.exe
Thu May 26 10:14:16 2016 env_block: add PATH=C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem
Thu May 26 10:14:16 2016 C:\Windows\system32\route.exe ADD 162.159.247.58 MASK 255.255.255.255 10.8.0.1
Thu May 26 10:14:16 2016 ROUTE: route addition failed using CreateIpForwardEntry: Неверны один или несколько аргументов. [status=160 if_index=66]
Thu May 26 10:14:16 2016 Route addition via IPAPI failed [adaptive]
Thu May 26 10:14:16 2016 Route addition fallback to route.exe
Thu May 26 10:14:16 2016 env_block: add PATH=C:\Windows\System32;C:\Windows;C:\Windows\System32\Wbem

И я совершенно потерян что же не так и почему((( Что же я такого потерял при переустановке из-за чего теперь не работает??? [/more]
Автор: vlary
Дата сообщения: 26.05.2016 11:49
Ropotran
Либо у тебя коннект не поднимается, либо адрес там не 10.8.0.1
Кстати, когда OpenVPN сносил, TAP интерфейс часом не снес?
Автор: Ropotran
Дата сообщения: 26.05.2016 11:55
vlary
На сервере отображается "Назначенный IP: 10.8.0.1".

А когда OpenVPN сносил, то TAP-драйверы сами заодно удалялись... Разве не так должно быть? А при новой установке OpenVPN снова ставились
Автор: vlary
Дата сообщения: 26.05.2016 12:21
Ropotran
Попробуй запустить OpenVPN клиент от Администратора.
Автор: Ropotran
Дата сообщения: 26.05.2016 12:23
vlary

Я всегда запускаю от Администратора...
Автор: YuraseK
Дата сообщения: 26.05.2016 12:26
У меня уже используется OpenVPN в режиме моста (dev tap).
Есть необходимость удалённого подключения с мобильных устройств, но при этом необходимо использовать режим tun (для андроида пока нет бесплатного решения с поддержкой OpenVPN tap). Правильно ли я понимаю, что мне необходимо создать новый интерфейс OpenVPN, чтобы его можно было использовать в режиме tun? Также мне потребуется создать ещё один конфиг для OpenVPN, а также в каждом из конфигов прописать использование конкретного интерфейса при помощи ключа dev-node? Что прописывать для ключа dev-node: name или GUID интерфейса? Режимом работы интерфейса управляет служба OpenVPN на основании конфига или надо как-то настраивать интерфейсы OpenVPN вручную для работы в tun или tap режиме?
Автор: vlary
Дата сообщения: 26.05.2016 12:51
Ropotran
Цитата:
Я всегда запускаю от Администратора...
Похоже на попытку добавть маршрут до того, как связь устаканится.
Попробуй добавить в клиентский конфиг
route-method exe
route-delay 2

YuraseK
Наверное, проще попробовать. Потом остальным расскажешь.

Автор: Ropotran
Дата сообщения: 26.05.2016 14:44
Разобрался где был косяк - в свойствах внешнего подключения на сервере стояла галочка в "Разрешить другим пользователям сети управление общим доступом к подключению к Интернету". Без нее все заработало.
Скорее всего, я сам ее там поставил в какой-то момент пока ковырялся в поиске решения, не понимая нужна она там или нет. Другое дело, что я сейчас не понимаю чем она мешала, а определил просто методом тыка(((
Автор: vlary
Дата сообщения: 26.05.2016 19:08
Ropotran
Цитата:
Другое дело, что я сейчас не понимаю чем она мешала
Из соображений безопасности. Не знал, что такое уже в OpenVPN сделали.
Я пользуюсь Cisco AnyConnect, там если эта галка стоит,
или еще один пользователь в ПК залогинен, VPN хрен поднимешь.
Автор: koddy
Дата сообщения: 03.06.2016 19:43
Подскажите,в чем ошибка и как исправить.
Нужно сделать локальный openvpn сервер и к нему подключить клиента. Клиент через этот сервер будет выходить в интернет.
Сервер на огрызке линуха (что-то типа openwrt), клиент на десятой винде.
Судя по логам не хватает прав на прописывание роутов, но они вроде как есть.
Клиент запускается от имени администратора.
Конфиг сервера

Код:
port 441
proto udp
dev tun
ca /opt/etc/openvpn/ca.crt
cert /opt/etc/openvpn/server.crt
key /opt/etc/openvpn/server.key
dh /opt/etc/openvpn/dh1024.pem
keepalive 10 120
status /opt/var/log/openvpn-status.log
verb 3
server 10.0.0.0 255.255.255.0
push redirect-gateway def1
push dhcp- DNS 8.8.8.8
push route 192.168.0.0 255.255.255.0
log /opt/var/log/openvpn.log
Автор: alex_rus_nn
Дата сообщения: 03.06.2016 20:27
Приветствую. Есть поднятый openvpn server. Необходимо поднять, на этой же машине, еще один openvpn server. Но нужно, чтобы использовались другие ca.key, ca.crt, server.crt, server.key. Кто как реализовывал?
Автор: vlary
Дата сообщения: 03.06.2016 20:34
koddy
Посмотри это: Ссылка

Добавлено:
alex_rus_nn
А в чем проблема? Запускаешь два демона с разными конфигами.
Автор: koddy
Дата сообщения: 03.06.2016 21:21
vlary
Посмотрел. PATH добавил, но все равно ERROR: Windows route add command failed: returned error code 1. Попробовал руками добавить маршруты - уже есть.
На счет DNS тоже не понял какой маршрут прописывать. Хотя винда показывает, на тапе, что у него днс 8.8.8.8. В локальной сетевушке у меня тоже гуглоднс прописаны, может и лишнее.
Еще может я на сервере не включил маршрутизацию.
Автор: alex_rus_nn
Дата сообщения: 03.06.2016 23:00
vlary
Спасибо за ответ.

Для тех кто ищет как запустить несколько серверов openvpn на одной машине.

Я сделал так:
1. Создал 2 сонфига (serv1 и serv2)
2. Сгенерил для обоих свои ключи и сертификаты, лежат в разных каталогах
3. В конфиги сервера добавил строчку "daemon". И openvpn будет работать в режиме демона. Это позволит запускать все конфиги из каталога openvpn.
Автор: vlary
Дата сообщения: 04.06.2016 02:13
koddy
Если тебе нужно не шашечки, а чтобы ехало, на предыдущей странице
списка тем раздела есть тема про     SoftEther.
Все настраивается и работает с пол-пинка.
В режиме OpenVPN тоже может работать.
Только у тебя, как понимаю, проблемы не с сервером, а клиентом.
Автор: koddy
Дата сообщения: 04.06.2016 09:54
vlary
SoftEther еще надо как-то поставить, а учитывая,что бинарников под мою платформу(arm5) нету, не факт,что я с сырцов поставлю, тем более я не спец в этом.

Цитата:
Только у тебя, как понимаю, проблемы не с сервером, а клиентом.

Ну,я это тоже понимаю, иначе бы нашел решение в гугле и не пришел сюда.
Автор: Vania
Дата сообщения: 05.06.2016 01:47
На VPS 2 IPv4. VPN создавался для выхода через него в интернет. Установил OpenVPN, и настроил его на подключение к второму IPv4 156.214.109.223
В конфиге сервера в local прописал этот IP.

Добавляю правила iptables

Код:
iptables -t nat -A POSTROUTING -o eth0:0 -j SNAT --to 156.214.109.223
iptables -A FORWARD -i eth0:0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0:0 -j ACCEPT
Автор: admin931
Дата сообщения: 05.06.2016 03:51

Цитата:
iptables -t nat -A POSTROUTING -o eth0:0 -j SNAT --to 156.214.109.223
iptables -A FORWARD -i eth0:0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0:0 -j ACCEPT

правильно ли я понял:
должно быть на сервере:

Цитата:
iptables -t nat -A POSTROUTING -s <IP клиента VPN или сети> -o eth0 -j SNAT --to-source <Внейний IP сервера>

-o eth0 - интерфейс с внешним IP на сервере
-s <IP клиента VPN или сети> можно опустить если разрешено всем клиентам


при этом на сервере должна быть включена поддержка форвардинга:
sysctl -a |grep net.ipv4.ip_forward

Цитата:
net.ipv4.ip_forward = 1

а на клиенте прописаны(или переданы при установке соединения) маршруты.

Это так?

Добавлено:
+ не очень понятен смысл второго интерфейса в той-же сети...
у него отдельные настройки выхода в интернет? Они у него вообще прописаны?
покажите список маршрутов на сервере
Автор: vlary
Дата сообщения: 05.06.2016 11:30
Vania
Если ты пытаешься получить каскадное соединене,
то SoftEther VPN для этого подойдет лучше.
Автор: Vania
Дата сообщения: 05.06.2016 14:38

Цитата:
правильно ли я понял:
должно быть на сервере:

Цитата:
iptables -t nat -A POSTROUTING -s <IP клиента VPN или сети> -o eth0 -j SNAT --to-source <Внейний IP сервера>

-o eth0 - интерфейс с внешним IP на сервере
-s <IP клиента VPN или сети> можно опустить если разрешено всем клиентам

Только я один буду подключаться через этот VPN.

Цитата:
при этом на сервере должна быть включена поддержка форвардинга:

В файле /etc/sysctl.conf строчку net.ipv4.ip_forward = 1 расскомментировал сразу при настройки. Через основной IP всё работает, не соединяется только при подключении через второй IPv4.

Код:
sysctl -a |grep net.ipv4.ip_forward
error: permission denied on key 'net.ipv4.route.flush'
net.ipv4.ip_forward = 1
Автор: admin931
Дата сообщения: 08.06.2016 01:25

Цитата:
156.214.109.128 0.0.0.0 255.255.255.128 U 0 0 0 eth0
0.0.0.0 156.214.109.129 0.0.0.0 UG 0 0 0 eth0
0.0.0.0 156.214.109.129 0.0.0.0 UG 0 0 0 eth0

у вас весь трафик инета идет через eth0
по идее ваш второй ip вообще отвечать не должен, даже на пинг, он просто не знает куда отвечать

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


если не ошибаюсь то настройки интерфейса прописываются в
/etc/network/interfaces




Добавлено:
и если вы один, не очень понятно зачем юзать dhcp?
и зачем использовали интерфейс tun? это чем-то обосновано?

Автор: Vania
Дата сообщения: 08.06.2016 18:57

Цитата:
у вас весь трафик инета идет через eth0
по идее ваш второй ip вообще отвечать не должен, даже на пинг, он просто не знает куда отвечать

Отвечает на пинг. Я даже могу через второй IP подключиться по SSH к VPS.


Цитата:
еще раз уточню накой нужен второй тем более виртуальный ip

Вместе с VPS мне дали два IPv4. Я на первый IPv4 настроил веб-сервер. На второй IPv4 хотел настроить VPN.


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

Скорее всего в этом причина что я не могу подключаться к интернету при подключении через второй IPv4.


Цитата:
Добавлено:
и если вы один, не очень понятно зачем юзать dhcp?
и зачем использовали интерфейс tun? это чем-то обосновано?

dhcp я не настраивал, я его в таком виде получил. Устанавливал в tun как было по умолчанию. Могу изменить на tap если это поможет.


Как изменить правила iptables чтобы заработало подключение к интернету на VPS через второй IPv4?

Код:
iptables -t nat -A POSTROUTING -o eth0:0 -j SNAT --to 156.214.109.223
iptables -A FORWARD -i eth0:0 -o tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i tun0 -o eth0:0 -j ACCEPT
Автор: admin931
Дата сообщения: 09.06.2016 14:11
давай немного отделим зерна от плевел
проверим можешь ли ты ходить в нет через этот сервер в принципе
cat /etc/openvpn/server.conf

Цитата:
mode server
tls-server
daemon
ifconfig 10.8.0.1 255.255.255.0 # ip сервера
port 1194

proto tcp-server # для стабильности подключения и возможности юзать прокси на стороне клиента
dev tap # режим tap - для бродкастов и экономии Ip без создания подсетки клиента

# проверяем пути к ключам
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem

tls-auth /etc/openvpn/keys/ta.key 0

cipher AES-256-CBC #уровень шифрования

client-config-dir /etc/openvpn/ccd
push "route 10.8.0.0 255.255.255.0 10.8.0.1" #указываем где искать шлюз в VPN сети
# push "redirect-gateway def1" #вынес в конфиг клиента ибо не всем нужно

keepalive 10 120
comp-lzo
persist-key
persist-tun

verb 3
log-append /var/log/openvpn.log

# блок ниже нужен только для больших скоростей и большого кол-ва пользаков

sndbuf 0
rcvbuf 0

push "sndbuf 393216"
push "rcvbuf 393216"


cat /etc/openvpn/ccd/<ВашUser>

Цитата:
ifconfig-push 10.8.0.3 255.255.255.0
push "route 10.8.0.0 255.255.255.0 10.8.0.1"
push "redirect-gateway def1"


Правила iptables:
# networks

Цитата:
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to-source <ВнешнийIPВашегоСервера> # для всей сети

или

Цитата:
iptables -t nat -A POSTROUTING -s 10.8.0.3/32 -o eth0 -j SNAT --to-source <ВнешнийIPВашегоСервера> # для конкретного клиента



конфиг клиента:

Цитата:
client
;#proto udp
proto tcp
dev tap

ca ca.crt
cert claster.crt
key claster.key
tls-auth ta.key 1

remote <ВнешнийIpВашегоСервера> 1194
resolv-retry infinite
nobind

persist-key
persist-tun

ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3


Добавлено:
ВнешнийIpВашегоСервера - это который eth0
Цитата:
156.214.109.248
Автор: Vania
Дата сообщения: 09.06.2016 19:41
Проверил, подключение с новым конфигом устанавливается, IP назначается Назначенный IP: 10.8.0.3 , но при проверке мой IP не изменяется на IP VPS, то есть трафик через VPN не идёт.

Опишу подробно, может я где-то не так сделал.

Создал каталог ccd в каталоге openvpn и файл client, вписал содержимое

Код:
cd /etc/openvpn && mkdir ccd && cd ccd

vim client

ifconfig-push 10.8.0.3 255.255.255.0
push "route 10.8.0.0 255.255.255.0 10.8.0.1"
push "redirect-gateway def1"
Автор: admin931
Дата сообщения: 09.06.2016 23:45
что-то я как-то проглядел, а кто клиент? windows или linux?
Если Винда, то какие права на ней у тебя и запускается ли программа OpenVPN от админа?



Цитата:
Thu Jun 09 18:43:30 2016 NOTE: unable to redirect default gateway -- VPN gateway parameter (--route-gateway or --ifconfig) is missing

это он как-бы намекает, что мы забыли передать клиенту параметры
push "route-gateway 10.8.0.1" в ccd-файле, вообще по идеи должно хватать и

Цитата:
push "route 10.8.0.0 255.255.255.0 10.8.0.1"
, но могу ошибаться,
пропиши в ccd клиента на всякий случай и проверь - хуже не будет.


Цитата:
Thu Jun 09 18:43:30 2016 ROUTE: route addition failed using CreateIpForwardEntry: Этот объект уже существует. [status=5010 if_index=18]

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



Добавлено:
ЗЫ (PS)
я в личку контакт отправил, если что - связывайся.
Автор: vlary
Дата сообщения: 10.06.2016 12:12
Vania
Цитата:
push "route 10.8.0.0 255.255.255.0 10.8.0.1"
- это совершенно лишнее.
А вот push "route 0.0.0.0 0.0.0.0" может помочь.

Автор: admin931
Дата сообщения: 10.06.2016 19:58
мне больше интересно помогло ли
Цитата:
push "route-gateway 10.8.0.1"

и почему маршруты не проходили

Автор: Vania
Дата сообщения: 11.06.2016 02:22
Клиент Windows 7 с отключенным UAC.

При таких

Код:
ifconfig-push 10.8.0.3 255.255.255.0
push "route 10.8.0.0 255.255.255.0 10.8.0.1"
push "route-gateway 10.8.0.1"
push "redirect-gateway def1"
Автор: vlary
Дата сообщения: 11.06.2016 16:33
Vania
Это показывает, как важно формулировать проблему, а не пользоваться
лексиконом девушек из бухгалтерии "интернет не работает".
Ведь связь-то была, проблемы были только с ДНС.
А по поводу данной проблемы - ну создай группу nobody, внеси туда юзера nobody.
Либо посмотри, в какой он группе, и пропиши ее в конфиге. Решается за одну минуту.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273

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


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