mpd5 + pptp-server = добавить маршрут на подсеть клиента

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
SniZ
рядовой
Сообщения: 23
Зарегистрирован: 2008-06-19 22:07:51

mpd5 + pptp-server = добавить маршрут на подсеть клиента

Непрочитанное сообщение SniZ » 2010-05-31 18:45:41

В общем, есть mpd5 в качестве сервера.
Есть несколько клиентов (филлиалы компании), у которых стоит pptp-client, который подключается к нашему серверу.

Есть проблема, надо как то добавлять роут на подсети клиентов. Вручную пожалуйста, а вот как сделать автоматом?
А то не очень хочется добавлять роут каждый раз после переподключения клиента

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

SniZ
рядовой
Сообщения: 23
Зарегистрирован: 2008-06-19 22:07:51

Re: mpd5 + pptp-server = добавить маршрут на подсеть клиента

Непрочитанное сообщение SniZ » 2010-05-31 19:55:35

Код: Выделить всё

[root@gate ~]# cat /usr/local/etc/mpd5/vpn_up_mpd.sh
#!/bin/sh

if [ "$5" = "vgomel" ]
then
        # Add route
        route add -net 192.168.1.0/24 $4
        echo "[`date`] Added route to 192.168.1.0/24 via $1 ($4)" >> /var/log/mpd5_vpn_server.log
else
        # No founded args
        # echo "No arguments set."
fi

echo "[`date`] Added if $1 ($3 => $4) by user $5" >> /var/log/mpd5_vpn_server.log
Если кому надо :)

Al
ст. прапорщик
Сообщения: 501
Зарегистрирован: 2007-10-18 13:42:48
Откуда: Тверь
Контактная информация:

Re: mpd5 + pptp-server = добавить маршрут на подсеть клиента

Непрочитанное сообщение Al » 2010-06-01 9:58:22

Если стоит квага - можно прописать туда статически. Она сама будет добавлять их при поднятии интерфейса и убирать при падении.

ready
проходил мимо

Re: mpd5 + pptp-server = добавить маршрут на подсеть клиента

Непрочитанное сообщение ready » 2010-06-07 13:35:52

А не подскажите, как сделать, что б при авторизации пользователя и его отключения отправлялось сообщение?

Гость
проходил мимо

Re: mpd5 + pptp-server = добавить маршрут на подсеть клиента

Непрочитанное сообщение Гость » 2010-06-07 13:49:44

кому отпралять? пользователю по протоколу ppp? = никак

ready
проходил мимо

Re: mpd5 + pptp-server = добавить маршрут на подсеть клиента

Непрочитанное сообщение ready » 2010-06-07 14:08:00

нет, при подключении пользователя отправлять смс например через почтовый сервак и уведомлять что пользователь подключился
и тоже самое делать когда человек отключился от сервера ...

SniZ
рядовой
Сообщения: 23
Зарегистрирован: 2008-06-19 22:07:51

Re: mpd5 + pptp-server = добавить маршрут на подсеть клиента

Непрочитанное сообщение SniZ » 2010-06-11 13:45:28

Тебе надо написать скрипт, который будет отсылать сообщение куда надо.

потом надо добавить вот это (к примеру), в файл конфига mpd5:

Код: Выделить всё

        set iface up-script /usr/local/etc/mpd5/vpn_up_mpd.sh
        set iface down-script /usr/local/etc/mpd5/vpn_down_mpd.sh
что соответственно, будет выполнять скрипты при опускании\поднимании подключения.

как бы, этим скриптам, будут передаваться такие параметры:

Код: Выделить всё

$0 - имя скрипта
$1 - имя интерфейса
$2 - протокол
$3 - Локальный IP
$4 - Удаленный IP
$5 - Имя пользователя
Вот краткая теория.
То есть, чтобы отправить письмо-уведомление, надо наверное так:
vpn_up_mpd.sh

Код: Выделить всё

[root@gate ~]# cat /usr/local/etc/mpd5/vpn_up_mpd.sh
#!/bin/sh

if [ "$5" = "user" ]
then
        # Send mail
        echo "User $5 connected"|mail -s mail.server.com name@domain.com
else
        # No founded args
        # echo "No arguments set."
fi

echo "[`date`] Added if $1 ($3 => $4) by user $5" >> /var/log/mpd5_vpn_server.log
vpn_down_mpd.sh

Код: Выделить всё

[root@gate ~]# cat /usr/local/etc/mpd5/vpn_down_mpd.sh
#!/bin/sh

if [ "$5" = "user" ]
then
        # Send mail
        echo "User $5 disconnected"|mail -s mail.server.com name@domain.com
else
        # No founded args
        # echo "No arguments set."
fi

echo "[`date`] Deleted if $1 ($3 => $4) by user $5" >> /var/log/mpd5_vpn_server.log

Учти! Я могу и ошибаться, за правильность скриптов не отвечаю. Просто дал тебе ход мыслей ;)