Страница 1 из 1

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

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

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

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

Добавлено: 2010-05-31 19:55:35
SniZ

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

[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
Если кому надо :)

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

Добавлено: 2010-06-01 9:58:22
Al
Если стоит квага - можно прописать туда статически. Она сама будет добавлять их при поднятии интерфейса и убирать при падении.

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

Добавлено: 2010-06-07 13:35:52
ready
А не подскажите, как сделать, что б при авторизации пользователя и его отключения отправлялось сообщение?

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

Добавлено: 2010-06-07 13:49:44
Гость
кому отпралять? пользователю по протоколу ppp? = никак

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

Добавлено: 2010-06-07 14:08:00
ready
нет, при подключении пользователя отправлять смс например через почтовый сервак и уведомлять что пользователь подключился
и тоже самое делать когда человек отключился от сервера ...

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

Добавлено: 2010-06-11 13:45:28
SniZ
Тебе надо написать скрипт, который будет отсылать сообщение куда надо.

потом надо добавить вот это (к примеру), в файл конфига 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

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