Слетает маршрут для VPN-туннеля

Автор Dr.Friend, 20 мая 2014, 07:16:59

« назад - далее »

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

Dr.Friend

Доброго времени суток.
Прошу не пинать, но помочь.
Есть 2 офиса с локалками. Шлюзами выступают железяки на Debian7 с iptables. Туннель на pptpd.
На впн-клиенте и сервере в /etc/ppp/ip-up добавлена строка
route add -net x.x.x.x netmask x.x.x.x gw x.x.x.x
Проблема в следующем.
Туннель периодически падает. Соответственно сбрасывается маршрут в удаленную сеть. И если на стороне клиента при автоподнятии туннеля после падения маршрут прописывается заново, то на стороне сервера - нет. А нужно, чтобы и на сервере он поднимался автоматом.
Гугль ничего не дал. Мозг решения не выдал.

315th

#1
Всё-таки попинаю.  ::)
Во-первых смотрите лог pppd. Выполняется ли вообще ip-up, при восстановлении туннеля, если выполняется смотрите значение переменной $PATH при выполнении скрипта.
Во-вторых, пользовательские скрипты нужно класть в /etc/ppp/ip-up.d/
И в третьих net-tools, в состав которого входит утилита route, уже не первый год как объявлена устаревшей. Пользуйтесь iproute2, в частности утилитой ip.
Код (/etc/ppp/ip-up.d/sample) Выделить

#!/bin/sh
/sbin/ip route add remote_network/mask dev $PPP_IFACE

Debian GNU/Linux 7.11 (wheezy) - CLI
ICH7; D525MV; r8169; Linux 4.14.32-atomd525mv-imq-ja1 (i686); Intel Atom D525 1.8 GHz

gardarea51

#2
Еще было бы неплохо проверять то ли это соединение через IPPARAM, потому что скрипты из /etc/ppp/ip-up.d/ и /etc/ppp/ip-down.d/ выполняются для _каждого_ подключения.
if [ "$PPP_IPPARAM" = "vpn_name" ]; then
.....
fi


Сам параметр ipparam задается в файле описания пира одноименной опцией ipparam, к примеру так
...
ipparam vpn_name
...