LINUX.ORG.RU
решено ФорумAdmin

Маршрутизация в VPN

 ,


0

1

Доброго дня уважаемые форумчане.

Есть debian сервер поднятым PPTP сервером.

10.0.0.0/24 (Сеть для выдачи адресов pptp клиентам) шлюз 10.0.0.1

Также имеется два удаленных офиса (pptp клиенты) и несколько клиентов не привязанных к месту.

Офис 1: 192.168.10.0/24 (10.0.0.2 адрес в vpn)

Офис 2: 192.168.110.0/24 (10.0.0.3 адрес в vpn)

Необходимо настроить маршрутизацию, таким образом, что-бы офис-1 видел офис-2, подключаемые клиенты видели все офисы.

Первое что пришло на ум, прописать маршруты:

на сервере route add -net 192.168.10.0/24 gateway 10.0.0.2 route add -net 192.168.110.0/24 gateway 10.0.0.3

на офисе 1 route add -net 192.168.110.0/24 gateway 10.0.0.1

на офисе 2 route add -net 192.168.10.0/24 gateway 10.0.0.1

Сети заработали, все вроде-бы отлично, после разрыва связи, такие маршруты удаляются. И приходится их прописывать заново.

Посему прошу совета. Уважаемые коллеги, кто нибудь сталкивался с подобной ситуацией и как из нее выходили . Заранее благодарен за ответы и советы.

Можно прописать эти маршруты в параметры сетевого соединения, чтоб при поднятии интерфейса они автоматически подтягивались (в /etc/network/if-up.d например). Возможно это и на уровне конфигов PPTP можно прописать.

alozovskoy ★★★★★ ()
Последнее исправление: alozovskoy (всего исправлений: 1)
Ответ на: комментарий от alozovskoy

На клиентах и так все будет. А что делать на VPN сервере? Там же при подключении клиента if-up.d Сработает если я не ошибаюсь при каждом клиентском подключении, а мне необходимо на отдельных.

drodman ()
Ответ на: комментарий от drodman

Нет, if-up работает при поднятии интерфейса - поднялся интерфейс ppp0 или что там относится к vpn - выполнился скрипт из if-up. Соответственно это выполнять на сервере нужно (проблема с маршрутами же на сервере, правильно?).

alozovskoy ★★★★★ ()
Ответ на: комментарий от alozovskoy

Понял, спасибо. Осталось только определить какой ip адрес присвоили текущему подключению pppX, я так думаю в какой-то переменной он же должен быть?

drodman ()
Ответ на: комментарий от drodman

Можно грепнуть в /sbin/ifconfig или /sbin/ip, но что-то я не понял какой адрес нужен и где (на сервере или на клиентах) вы хотите его посмотреть.

alozovskoy ★★★★★ ()
Последнее исправление: alozovskoy (всего исправлений: 1)
Ответ на: комментарий от alozovskoy

На сервере, выполнить проверку если выдан 10.0.0.2 то прописать маршрут на 192.168.110.0/,

если 10.0.0.1 то на 192.168.10.0/24.

grep неохота, там же есть $переменные, думаю где-то должен передаваться адрес.

drodman ()
Ответ на: комментарий от drodman

Я, честно говоря, не знаю о существовании такой переменной, надеюсь придет кто-то более компетентный и подскажет? А нет возможности прописать статические адреса?

alozovskoy ★★★★★ ()
Ответ на: комментарий от drodman

Осталось только определить какой ip адрес присвоили текущему подключению pppX, я так думаю в какой-то переменной он же должен быть?

У меня Gentoo, выдержка из /etc/ppp/ip-up

# This script is run by pppd after the link is established.
# It executes all the scripts available in /etc/ppp/ip-up.d directory,
# with the following parameters:
# $1 = interface name (e.g. ppp0)
# $2 = tty device
# $3 = speed
# $4 = local IP address
# $5 = remote IP address
# $6 = ipparam (user specified parameter, see man pppd)

В /etc/ppp/ip-up.d можно покласть свои скрипты. Как у тебя - смотри сам. Тебе нужен remote IP address

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Спасибо Pinkbyte. Подобное тоже в тырнете нашел, разбираюсь.

drodman ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.