Доброго времени суток господаСуть проблемы в том что когда происходит дисконект клиента, на сервере старый интерфейс еще висит, а клиент инициирует уже новое соединение в итоге получается два соединения и не по одному трафик не идет
Проблема может быть и не новая, но че то допетрить ни как не могу возможно ли избавится от такого вообще.
В качестве vpn сервера pptpd OS Debian lenny.
/etc/pptpd.conf
ppp /usr/sbin/pppd
option /etc/ppp/peers/vpn-server
stimeout 5
connections 10
localip 192.168.10.1
remoteip 192.168.10.2-11
/etc/ppp/peers/vpn-servername SERVER
lock
mtu 1480
mru 1480
ms-dns 192.168.0.1
ms-dns 192.168.0.2
nodefaultroute
proxyarp
auth
refuse-pap
refuse-chap
require-mschap
require-mschap-v2
require-mppe
require-mppe
require-mppe-40
require-mppe-128
lcp-echo-interval 5
lcp-echo-failure 30
nodeflate
nobsdcompБуду признателен за помощ
P.S. Чуть не забыл, есть еще такой вопрос удаленный клиент подключается к серверу и работает, через какоето время какимто образом другой клиент подключается к этому же серверу причем с темже login'ом и паролем, опять же поднимаются два идентичных интерфейса(кроме буквы :-)) и опять трафик ни где не идет. Это
вариант с дублированием подключений у нас не рассматривался, т.к. это было запрещено и наказывался тот кто использовал чужие логины.
для закрывания зависших сессий использовася скрипт#!/bin/sh
PPPD=/usr/sbin/pppd
[ -x $PPPD ] || exit 1
export call_from="$6"
kill -s INT `ps -eF | grep " $6 " | awk '$11=="/usr/sbin/pppd" {print $2}'`
if [ "$call_from" != "" ]; then
export ARP=`arp $call_from | tail -1 | awk {'print $3" - "$5'}`
if [ "$ARP" != "-- - entry" ]; then
exec $PPPD remotenumber "$call_from - $ARP" $*
else
exec $PPPD remotenumber "$call_from" $*
fi
else
exec $PPPD $*
fi
который был прописан в /etc/pptpd.conf какppp /PATH-to-SCRIPT/script.sh
>[оверквотинг удален]
>nodeflate
>nobsdcomp
>
>Буду признателен за помощ
>
>P.S. Чуть не забыл, есть еще такой вопрос удаленный клиент подключается к
>серверу и работает, через какоето время какимто образом другой клиент подключается
>к этому же серверу причем с темже login'ом и паролем, опять
>же поднимаются два идентичных интерфейса(кроме буквы :-)) и опять трафик ни
>где не идет. Это
Спасибо за скриптик и за идею, так в принципе если посторатся то можно и соединения на повтор контролировать можно(типа тех кто под чужими логинами ходит)тока вот это не понятно зачем, что это дает и зачем экспорт переменных делать:
if [ "$call_from" != "" ]; then
export ARP=`arp $call_from | tail -1 | awk {'print $3" - "$5'}`
if [ "$ARP" != "-- - entry" ]; then
exec $PPPD remotenumber "$call_from - $ARP" $*
else
exec $PPPD remotenumber "$call_from" $*
fi
else