27 Январь 2020, 13:32

Цитата дня:

Единственный способ установить границы возможного - это выйти за них в невозможное.
 Закон Кларка


Проблемы с OpenVPN, медленное подключение к клиентам, обрывы связи

Автор Призрак, 10 Май 2019, 21:10

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Вниз

Призрак

#35
23 Май 2019, 11:31 Последнее редактирование: 23 Май 2019, 11:33 от Призрак
Ну вот, при вашей схеме у меня есть связь только до 192.168.10.1, но нет связи до 192.168.10.12. Фиг знает почему. В общем, пришлось прописывать маршрут, только тогда всё заработало. Я очень опечален.
Если ничего не получается, значит это судьба.

Уваров А.С.

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

Призрак

#37
23 Май 2019, 20:48 Последнее редактирование: 23 Май 2019, 20:53 от Призрак
Вот как оно, оказывается, бывает. Как говорится, есть фраза - в чужом глазу соломинку ты видишь, в своём глазу бревна не разглядишь. Я допустил чудовищную ошибку в конфиге, вместо параметра.

push "route 192.168.10.0 255.255.255.0"

В конфиге сервера я написал следующее.

push "route 192.168.0.0 255.255.255.0"

То он у меня и ломился, по несуществующему адресу. Теперь всё работает отлично, всё пингуется. Вот, публикую конфиг сервера, с работы.

proto udp
port 1200
dev tun
tls-server
topology subnet
route-method exe
route-delay 5
dev-node OpenVPN
server 10.8.0.0 255.255.255.0
route-gateway 10.8.0.1
client-config-dir "C:\\Program Files\\OpenVPN\\ccd"
ca  "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt" 
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.crt" 
key  "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.key" 
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh2048.pem"
tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ta.key" 0
push "route 192.168.10.0 255.255.255.0"
route 192.168.20.0 255.255.255.0 10.8.0.2
route 192.168.30.0 255.255.255.0 10.8.0.3
route 192.168.50.0 255.255.255.0 10.8.0.5
route 192.168.60.0 255.255.255.0 10.8.0.6
cipher BF-CBC
comp-lzo
verb 1
keepalive 5 60
sndbuf 524288
rcvbuf 524288


Маршруты

route 192.168.20.0 255.255.255.0 10.8.0.2
route 192.168.30.0 255.255.255.0 10.8.0.3
route 192.168.50.0 255.255.255.0 10.8.0.5
route 192.168.60.0 255.255.255.0 10.8.0.6


Я прописал, чтобы на будущее, когда всё выправлю, сделать связь между клиентами. Файлы в ccd я очистил. У меня ещё будут вопросы, вот, например мой конфиг, с которым я подключаюсь из дома.

ifconfig-push 10.8.0.7 255.255.255.0
push "dhcp-option DNS 192.168.10.12"
push "dhcp-option DOMAIN xxxx.local"
push "route 192.168.30.0 255.255.255.0"
push "route 192.168.60.0 255.255.255.0"
push "sndbuf 524288"
push "rcvbuf 524288"
iroute 192.168.12.0 255.255.255.0


Я ведь правильно указал там маршруты

push "route 192.168.30.0 255.255.255.0"
push "route 192.168.60.0 255.255.255.0"


Потому - что сервер о них не знает или нет, и их надо убрать? Вроде бы до добавления этих надписей у меня доступа в ту сеть не было!

Иногда выдаёт почему - то такую ошибку.

Thu May 23 22:47:59 2019 TLS Error: local/remote TLS keys are out of sync: [AF_INET]xxx.xxx.xxx.xxx:1200
Если ничего не получается, значит это судьба.

Уваров А.С.

Эти маршруты нужны не серверу, а вашему клиенту, чтобы он знал, что делать с пакетами к сетям 30 и 60.

Призрак

Скажите ещё пожалуйста, в таком случае, строчка выделенная красным вообще нужна в конфиге клиента, если у меня в конфиге сервера есть такая строчка?

push "route 192.168.10.0 255.255.255.0"

dev tun
proto udp
port 1200
remote XX.XXX.XXX.XXX
tls-client
remote-cert-tls server
route-method exe
route-delay 10
route 192.168.0.0 255.255.255.0  (кстати, эта строчка и неправильная, нужно 10.0!)
pull
ca "C:\\Program Files\\OpenVPN\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\keys\\xx.crt"
key "C:\\Program Files\\OpenVPN\\keys\\xx.key"
tls-auth "C:\\Program Files\\OpenVPN\\keys\\ta.key" 1
cipher BF-CBC
comp-lzo
verb 1
keepalive 5 60
Если ничего не получается, значит это судьба.

Призрак

Кстати, я больше стал любить Linux и ненавидеть Windows и антивирусное программное обеспечение. Нужно было срочно поставить шлюз, в один из филиалов. Поставил Windows Server, накатил антивирус, все (!!!) патчи, включаю, только начинаю настраивать, хоп, прилетело! Уже служба маршрутизации не работает DHCP отпал, просто кошмар! Касперский стоит таких денег, даже для организации, как он мог такое вообще допустить, полное непонимание. Неизвестные службы, неизвестные скрипты в temp. Ладно, занюханная рабочая станция, но сервер!

В общем, проклиная всё и вся, я снёс эту мерзость, поставил Debian Linux. Буквально всё поднялось, сразу, заработало. И никаких проблем. Настроил клиента по этой статье.

https://interface31.ru/tech_it/2016/09/organizaciya-kanalov-mezhdu-ofisami-pri-pomoshhi-openvpn-na-platforme-linux.html

И всё завелось со свистом. Хочется узнать, как на Debian Linux настроить брандмауэр по нормальному и уже чтобы ни о чём не беспокоиться. Создателю сего дистрибутива надо памятник при жизни ставить.
Если ничего не получается, значит это судьба.

STALKER_SLX

Хочется узнать, как на Debian Linux настроить брандмауэр по нормальному и уже чтобы ни о чём не беспокоиться.
Начните от сюда:
https://serveradmin.ru/debian-nastroyka-servera/
https://serveradmin.ru/nastroyka-internet-shlyuza-na-debian/
https://serveradmin.ru/nastroyka-seti-v-debian/


Там на русском языке и с подробным описанием того, что и как для Debian 8, но практически ВСЁ применимо и для 9-й версии! А дальше уже посмотрите, какие сервисы у Вас там крутятся и какие правила Вам добавлять/удалять и какие порты нужно открывать/закрывать!


Уваров А.С.

Скажите ещё пожалуйста, в таком случае, строчка выделенная красным вообще нужна в конфиге клиента, если у меня в конфиге сервера есть такая строчка?
Не нужна. Вы уже передаете этот маршрут с сервера.


Хочется узнать, как на Debian Linux настроить брандмауэр по нормальному и уже чтобы ни о чём не беспокоиться.
Кажется уже сто раз обсуждали этот вопрос. Берите хоть статью про микротик, хоть про роутер: https://interface31.ru/tech_it/2014/02/ubuntu-server-nastraivaem-router-nat-dhcp-squid3.html - там приведен базовый набор правил, которые обеспечивают необходимый минимум, т.е. нормально открытый брандмауэр для внутренней сети и нормально закрытый для внешней. А далее - дорабатываем под собственные потребности.


Призрак

#43
28 Май 2019, 07:40 Последнее редактирование: 28 Май 2019, 07:43 от Призрак
Рано я радовался. Возникают вот такие ошибки

Tue May 28 09:39:03 2019 XXX.XXX.217.205:1200 TLS Error: local/remote TLS keys are out of sync: [AF_INET6]::ffff:XXX.XXX.217.205:1200 [1]
Tue May 28 09:39:03 2019 XXX.XXX.217.205:1200 TLS Error: local/remote TLS keys are out of sync: [AF_INET6]::ffff:XXX.XXX.217.205:1200 [1]
Если ничего не получается, значит это судьба.

Призрак

Ещё перестал подключаться один из клиентов, из дома. Входящих нет исходящие есть.
Если ничего не получается, значит это судьба.

Уваров А.С.

TLS Error: local/remote TLS keys are out of sync
На UDP это нормально. Пояснения от разработчиков: https://openvpn.net/archive/openvpn-users/2004-12/msg00022.html

В вашем случае я бы вообще убрал tls-auth, или у вас в нем есть реальная необходимость? Данная опция дополнительно подписывает пакеты, неподписанные пакеты отбрасываются без обработки. Это позволят снизить нагрузку на сервер и защититься от ряда атак на отказ в обслуживании. Для большинства локальных систем это неактуально, нужно преимущественно публичным серверам с большим количеством клиентов.

Призрак

Большое спасибо, всё получилось. Только остался ещё важный вопрос - не сломается ли у меня репликация? Вообще, можно ссылку на грамотную статью, как она проходит и как её правильно настроить? У нас остался один сервер, когда мы перенесём всё на новый я хотел бы вплотную заняться этими важными вопросами. Чтобы больше никогда не было проблем.
Если ничего не получается, значит это судьба.

Уваров А.С.

Только остался ещё важный вопрос - не сломается ли у меня репликация?
А почему она должна сломаться? Может на надо пытаться чинить то, что не сломано?

IP-связность сети осталась? Осталась. DNS-доступны? Доступны. В остальном контроллеры разберутся сами.

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

Призрак

Всё, я внедрил решение на работе. Стало гораздо быстрее всё работать, удобнее настраивать. Огромная благодарность за помощь. Из дома клиенты подключаются без проблем, всё доступно, маршрутизация работает.
Если ничего не получается, значит это судьба.

Призрак

Буквально сегодня начались проблемы. В связи с чем пришлось мне выключить tls-auth, всё заработало. Просто достали уже эти сообщения, связь рвётся постоянно, пинги пропадают. Что же это за опция такая, деструктивная. Мне говорят, что нужно проверить дату на устройствах. Везде дата нормальная.
Если ничего не получается, значит это судьба.

Уваров А.С.

Я вам уже писал, что такое  tls-auth и для чего она нужна. В корпоративных сценариях данная опция скорее не нужна, чем нужна.

Призрак

Почему - то всё равно не прокатило, ошибки те же, причём добавились ещё такие

TLS Error: local/remote TLS keys are out of sync: [AF_INET6]::ffff:89.250.217.204:1200 [1]
TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS handshake failed


При этом всё прекрасно пинговалось, всё работало, я имею в виду белые адреса. Серые вырубились напрочь, удаленные. Не понимаю, почему такое случилось. При этом я удивился ещё тому, что это произошло аккурат во время добавления контроллера домена в существующем домене, BG81-DC-02. Я проделывал это два раза, для починки репликации (выводил и перезаводил снова) и в обоих случаях такая ситуация.

Я ведь отключил авторизацию, может дело в опции tls-client? И, соответственно, на сервере?
Если ничего не получается, значит это судьба.

Призрак

Вот ещё на клиенте какая ошибка

Unroutable control packet received from [AF_INET]XX.XXX.XXX.XXX:1200 (si=3 op=P_CONTROL_V1)
Если ничего не получается, значит это судьба.

Призрак

#53
07 Июнь 2019, 12:49 Последнее редактирование: 07 Июнь 2019, 12:50 от Призрак
Коллеги, простите, всё равно проблема. Соединение рвётся и восстанавливается не сразу, при этом в логах ничего нет, практически, по проблеме. Вот конфиги

Сервера

proto udp
port 1200
dev tun
tls-server
topology subnet
route-method exe
route-delay 5
dev-node OpenVPN
server 10.8.0.0 255.255.255.0
route-gateway 10.8.0.1
client-config-dir "C:\\Program Files\\OpenVPN\\ccd"
ca  "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt" 
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.crt" 
key  "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.key" 
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh2048.pem"
;tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ta.key" 0
push "route 192.168.10.0 255.255.255.0"
route 192.168.20.0 255.255.255.0 10.8.0.2
route 192.168.30.0 255.255.255.0 10.8.0.3
route 192.168.50.0 255.255.255.0 10.8.0.5
route 192.168.60.0 255.255.255.0 10.8.0.6
cipher AES-256-CBC
comp-lzo
verb 1
keepalive 5 60
sndbuf 524288
rcvbuf 524288


ccd

ifconfig-push 10.8.0.3 255.255.255.0
push "route 192.168.20.0 255.255.255.0"
push "route 192.168.50.0 255.255.255.0"
push "route 192.168.60.0 255.255.255.0"
push "sndbuf 524288"
push "rcvbuf 524288"
iroute 192.168.30.0 255.255.255.0


Клиента

dev tun
proto udp
port 1200
remote 89.250.XXX.XXX
tls-client
dev-node OpenVPN
remote-cert-tls server
route-method exe
route-delay 5
route 192.168.0.0 255.255.255.0
pull
ca "C:\\Program Files\\OpenVPN\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\keys\\bg81.crt"
key "C:\\Program Files\\OpenVPN\\keys\\bg81.key"
;tls-auth "C:\\Program Files\\OpenVPN\\keys\\ta.key" 1
cipher AES-256-CBC
comp-lzo
verb 1
keepalive 5 60


Честно, ничего не понимаю.
Если ничего не получается, значит это судьба.

Уваров А.С.

Коллеги, простите, всё равно проблема. Соединение рвётся
Рваться оно может по самым разным причинам. В том числе и внешним.

Цитировать
восстанавливается не сразу
Вам это ни о чем не говорит?

keepalive 5 60

Призрак

#55
07 Июнь 2019, 21:23 Последнее редактирование: 07 Июнь 2019, 21:28 от Призрак
Вам это ни о чем не говорит?
каждые 5 секунд посылать ping на удаленный хост, и, если за 60 секунд не было получено ни одного пакета - то перезапускать туннель.

Увеличить или уменьшить счётчик?

Кстати, добавил в конфиг сервера

persist-key
persist-tun


Вроде бы стало стабильнее.

tls-auth я убрал, как Вы и советовали. Больше ничего не стоит трогать?

Во вложении текущий лог журнала сервера. natokris это сотрудница, которая работает из дома, а ghost, это, соответственно, я, из дома. Остальное всё это филиалы.

Если ничего не получается, значит это судьба.

Уваров А.С.

каждые 5 секунд посылать ping на удаленный хост, и, если за 60 секунд не было получено ни одного пакета - то перезапускать туннель.
Увеличить или уменьшить счётчик?
Ну если надо переподключать быстрее, то уменьшить.


Призрак

Осталась одна проблема, даже проблемой её назвать трудно. Когда я добавляю маршрут в конфиг сервера и перезапускаю службу, то клиент на debian не подключается до тех пор, пока не выполню команду sudo /etc/init.d/openvpn restart.
Если ничего не получается, значит это судьба.

Призрак

#58
11 Июнь 2019, 07:42 Последнее редактирование: 11 Июнь 2019, 07:57 от Призрак
Надоел мне уже до чёртиков этот протокол udp. Каждый божий день рвётся соединение, по непонятной причине, с двумя филиалами, на Hyper-V которые! Надо, наверное, переходить на tcp. При этом самое подлое, что в логах либо ничего нет, либо в логах пишет опять ошибка синхронизации tls! Проверял все логи, всё бесполезно. Причина нестабильной работы vpn мне непонятна. Говорят, нужно время проверять. Я сто раз всё проверял, время одинаковое! Я даже на esxi проверял, в vcenter проверял, всё синхронизируется.
Если ничего не получается, значит это судьба.

Призрак

#59
11 Июнь 2019, 09:29 Последнее редактирование: 11 Июнь 2019, 09:34 от Призрак
Кстати, я ещё больше запутался. дело в том, что в логах выходит периодически сообщение

Process for C:\Program Files\OpenVPN\config\bg81.ovpn exited. Restarting in 10 sec.

Кстати, запускать или openvpn legacy service либо openvpn service. Что поставить на запуск?
Если ничего не получается, значит это судьба.

Уваров А.С.

При этом самое подлое, что в логах либо ничего нет, либо в логах пишет опять ошибка синхронизации tls!
Вроде бы уже писали - убирайте tls. И что вы хотите увидеть в логах от протокола без подтверждения доставки. Есть старый анекдот:

Цитировать
Я знаю отличную шутку про UDP, но не факт, что она до вас дойдет.
Если все равно рвет - проверяйте канал, смотрите ошибки на сетевых интерфейсах.

Про логи, при verb 1 там довольно мало отладочной информации, поднимайте уровень отладки (поддерживается от 0 до 11) и анализируйте.

Кстати, запускать или openvpn legacy service либо openvpn service. Что поставить на запуск?
Слово legacy ничего не говорит?

Призрак

Вроде бы уже писали - убирайте tls. И что вы хотите увидеть в логах от протокола без подтверждения доставки. Есть старый анекдот:
Так я же убрал строчку из файла tls-auth "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ta.key" 0 и на клиентах 1, что ещё убрать то?

Если все равно рвет - проверяйте канал, смотрите ошибки на сетевых интерфейсах.

Про логи, при verb 1 там довольно мало отладочной информации, поднимайте уровень отладки (поддерживается от 0 до 11) и анализируйте.
Хорошо, сделаю. Мне знакомый говорит, что на Hyper-V иногда бывают обрывы связи, но непонятно почему.

Слово legacy ничего не говорит?
Читал, что это старая служба. Само слово Legaсy переводится как наследие.
Если ничего не получается, значит это судьба.

Призрак

Вот ещё что мне клиент интересненькое на линуксе выдаёт. Приходится вручную перезапускать клиента.

Если ничего не получается, значит это судьба.

Призрак

parameter ca_file can only be specified tls mode
Если ничего не получается, значит это судьба.

Призрак

Всё, вроде разобрался. Убрал с сервера tls-server а на клиентах tls-client заменил на client.
Если ничего не получается, значит это судьба.

Призрак

#65
11 Июнь 2019, 14:33 Последнее редактирование: 11 Июнь 2019, 14:36 от Призрак
Нет, опять 25. Клиенты не подключаются, теперь, именно те, которые на Hyper-V. Мне это всё уже, честное слово, до чёртиков надоело. Я отключил ему tls авторизацию, ну скажите по человечески, что этой псине ещё нужно? Во вложении ещё и полный лог сервера.
Если ничего не получается, значит это судьба.

Призрак

В общем, что мы имеем.

1. Вырубаются только те подключения, которые в Hyper-V.

2. Всё мне пришлось вернуть на круги своя, tls-server и tls-client, без этого ни в какую не подключались.

3. включил verb5, красота опять в логи посыпалась. Отсутствие синхронизации плюс ещё плохие пакеты. Как отключить tls я не имею понятия, я сделал то, что сделал, в 64 посту, перестали подключаться клиенты.

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

Уваров А.С.

Отсутствие синхронизации плюс ещё плохие пакеты.
А это значит, что вы где-то накосячили с маршрутизацией. Вот это откуда и зачем?

route 192.168.20.0 255.255.255.0 10.8.0.2
route 192.168.30.0 255.255.255.0 10.8.0.3
route 192.168.50.0 255.255.255.0 10.8.0.5
route 192.168.60.0 255.255.255.0 10.8.0.6

Самодеятельность я выделил.

Призрак

Это была необходимость. Сейчас совсем всё поломалось, увы, не хочет никак нормально работать. До сети 10.8.0.0.есть пинг, а маршруты почему - то не работают. В полной растерянности, не знаю, что делать. Всё пропало.
Если ничего не получается, значит это судьба.

Призрак

Это была необходимость. Сейчас совсем всё поломалось, увы, не хочет никак нормально работать. До сети 10.8.0.0.есть пинг, а маршруты почему - то не работают. В полной растерянности, не знаю, что делать. Всё пропало.

Идет связь до

10.8.0.2
10.8.0.3
10.8.0.5
10.8.0.6

До соответствующих им сетей отклик не идёт. Всё пропало, маршрутизация сломалась. Окончательно.
Если ничего не получается, значит это судьба.

Вверх