<html>
<head>
<meta content="text/html; charset=koi8-r" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Приветствую!<br>
</p>
<br>
<div class="moz-cite-prefix">On 12.04.2018 13:45, Nikolay A. Fetisov
wrote:<br>
</div>
<blockquote
cite="mid:52f6bd53ac4856cd963824280496cfacf76cb5ee.camel@naf.net.ru"
type="cite">
<pre wrap="">Здравствуйте!
В Чт, 12/04/2018 в 12:18 +0500, Stas пишет:
</pre>
<blockquote type="cite">
<pre wrap="">Сервер обновлён с P7 до P8 в прошлом году.
</pre>
</blockquote>
<pre wrap="">....
</pre>
<blockquote type="cite">
<pre wrap="">Openvpn-клиент работает постоянно и несколько месяцев назад стал
время от времени падать с диагностикой "недостаточно прав". Падение
происходит после обрява соединения с сервером, при попытке
восстановить туннель.
</pre>
</blockquote>
<pre wrap="">
На сервере меняется конфигурация туннеля. Или есть несколько серверов
с разной конфигурацией, и при переподключении выбирается другой.</pre>
</blockquote>
<br>
Сервер один, на нём конфиг неизменен. Более того, процесс openvpn на
сервере работает непрерывно много дней.<br>
Просто упал канал между сервером и клиентом, клиент по таймауту
переподключается.<br>
<br>
<blockquote
cite="mid:52f6bd53ac4856cd963824280496cfacf76cb5ee.camel@naf.net.ru"
type="cite">
<blockquote type="cite">
<pre wrap="">Первое, что было не так - отсутствовал /var/lib/openvpn/dev/net/tun ,
не было даже /var/lib/openvpn/dev/net (при установлении соединения
была ошибка"ERROR: Cannot open TUN/TAP dev /dev/net/tun: No such file
or directory (errno=2)"
</pre>
</blockquote>
<pre wrap="">
Это не требуется. При наличии persist-tun интерфейс открывается при
запуске openvpn и при переподключении соединение не закрывается.</pre>
</blockquote>
<br>
Я тоже так думал. :)<br>
Конфиг клиента (я убрал только строку remote), persist-tun стоит:<br>
===============<br>
<tt>client</tt><tt><br>
</tt><tt>ns-cert-type server</tt><tt><br>
</tt><tt>nobind</tt><tt><br>
</tt><tt>dev tun1</tt><tt><br>
</tt><tt>comp-lzo</tt><tt><br>
</tt><tt>proto udp</tt><tt><br>
</tt><tt>tls-client</tt><tt><br>
</tt><tt>keysize 448</tt><tt><br>
</tt><tt>pkcs12 /etc/openvpn/keys/client.p12</tt><tt><br>
</tt><tt>verb 3</tt><tt><br>
</tt><tt>mute 10</tt><tt><br>
</tt><tt>pull</tt><tt><br>
</tt><tt>keepalive 5 45</tt><tt><br>
</tt><tt>persist-key</tt><tt><br>
</tt><b><tt>persist-tun</tt></b><tt><br>
</tt><tt>auth-nocache</tt><br>
===============<br>
<br>
<br>
<blockquote
cite="mid:52f6bd53ac4856cd963824280496cfacf76cb5ee.camel@naf.net.ru"
type="cite">
<pre wrap="">С другой стороны, внутри chroot OpenVPN работает от обычного
пользователя - создать и настроить заново интерфейс он всё равно не
сможет.
</pre>
<blockquote type="cite">
<pre wrap="">
На другом сервере , где до сих пор работает P7, таких ошибок нет -
соединение восстанавливется без проблем.
</pre>
</blockquote>
<pre wrap="">
С тем же сервером? С той же конфигурацией?</pre>
</blockquote>
<br>
Да. На тот сервер с P8 постоянно подняты два тоннеля, один с P8,
проблемный, второй с Debian, он стабилен (там openvpn старой версии
в режиме клиента).<br>
<br>
У меня таких серверов, различающихся только сертификатами, шесть
штук, из них на трёх работает как openvpn-сервер, так и
openvpn-клиент(ы). И только один тоннель не восстанавливается при
обрыве - между серверами с P8, апгрейженными с P7.<br>
<br>
Если не удастся разобраться, придётся убирать openvpn-клиент из
chroot?<br>
<blockquote
cite="mid:52f6bd53ac4856cd963824280496cfacf76cb5ee.camel@naf.net.ru"
type="cite">
<blockquote type="cite">
<pre wrap="">Apr 12 01:38:03 serv openvpn[4477]: NOTE: Pulled options changed on
restart, will need to close and reopen TUN/TAP device.
</pre>
</blockquote>
<pre wrap="">
^^^ На сервере поменялась конфигурация. Просто переустановление
соединения невозможно.
</pre>
<blockquote type="cite">
<pre wrap="">Apr 12 01:38:03 serv openvpn[4477]: OPTIONS IMPORT: --ifconfig/up
options modified
Apr 12 01:38:03 serv openvpn[4477]: OPTIONS IMPORT: peer-id set
Apr 12 01:38:03 serv openvpn[4477]: OPTIONS IMPORT: route options
modified
Apr 12 01:38:03 serv openvpn[4477]: OPTIONS IMPORT: timers and/or
timeouts modified
Apr 12 01:38:03 serv openvpn[4477]: Preserving previous TUN/TAP
instance: tun1
</pre>
</blockquote>
<pre wrap="">....
</pre>
<blockquote type="cite">
<pre wrap="">Apr 12 01:38:04 serv openvpn[4477]: ERROR: Cannot ioctl TUNSETIFF
tun1: Operation not permitted (errno=1)
</pre>
</blockquote>
<pre wrap="">
... т.к. в chroot клиент OpenVPN работает от непривилегированного
пользователя.
Т.е., или разбираться с сервером (серверами), к которым идёт
подключение, или (наверное, самое простое и правильное) отслеживать
состояние канала и при его падении перезапускать, или вытаскивать
клиента из chroot и запускать от root.
</pre>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Станислав Дёгтев
Служба "Ваш админ"
Мои контакты:
- jabber: <a class="moz-txt-link-abbreviated" href="mailto:grumbler@grumbler.org">grumbler@grumbler.org</a>
- email: <a class="moz-txt-link-abbreviated" href="mailto:stas.grumbler@gmail.com">stas.grumbler@gmail.com</a> и <a class="moz-txt-link-abbreviated" href="mailto:stas@vashadmin.su">stas@vashadmin.su</a>
- телефоны в Е-бурге +79045430461, +79222112259, +79505571146
</pre>
</body>
</html>