[Sysadmins] openvpn,pptp,dns...
Nikolay A. Fetisov
=?iso-8859-1?q?naf_=CE=C1_naf=2Enet=2Eru?=
Пн Мар 31 22:43:06 MSD 2008
On Mon, 31 Mar 2008 19:17:43 +0400
Alexander Volkov wrote:
> On 2008-03-31 12:06:38 +0400, Nikolay A. Fetisov wrote:
> NAF> Также хорошо бы посмотреть не одну строчку лога, а от начала
> NAF> установления соединения. С уровнем 'verb 7', или больше.
> вложил.
Ну, OpenVPN работает так, как может.
Перед тем, как изменить маршрут по-умолчанию (всё равно - с def1 или
без), необходимо отдельно прописать маршрут до самого сервера OpenVPN.
Этот маршрут устанавливается вызовом /sbin/ip вида
'ip <remote>/32 via <gateway>', где 'remote' - адрес сервера OpenVPN из
файла конфигурации, а gateway определяется из маршрута по-умолчанию,
установленного в системе на момент установления соединения.
Проблема в том, что device-based маршруты сейчас OpenVPN не
поддерживает, и записи
'default dev ppp9 scope link'
не понимает. Соответственно, задать маршрут до сервера он не может, и
маршрут по-умолчанию тоже не меняет.
Как выход - заменить маршрут по-умолчанию перед запуском openvpn; если
он стартует через свой init-скрипт, то можно рядом с файлом
конфигурации положить скрипт с тем же именем и расширением .sh вида
#!/bin/bash
if [ $(/sbin/ip route list exact default |\
/usr/bin/awk '/^default/ {print $2}') = dev ];
then
IF=$(/sbin/ip route | awk '/^default/ {print $3}')
GW=$(/sbin/ip address show $IF |\
/usr/bin/awk '/peer/ {print $4}' | cut -d"/" -f1)
/sbin/ip route replace default via $GW dev $IF
fi
См. http://openvpn.net/archive/openvpn-users/2007-12/msg00028.html
--
С уважением,
Николай Фетисов
Подробная информация о списке рассылки Sysadmins