PPTP-MyStatus


Aceasta solutie se preteaza la un server cu putini utilizatori de VPN, pentru a avea log-uri cu conexiunile noi initiate de clienti.
Pentru aceasta trebuie sa aveti iptables si ulogd.

Se adauga in regulile iptables:
/sbin/iptables -A FORWARD -m state --state NEW -i ppp+ -s network_vpn -p tcp -j ULOG --ulog-prefix "NEW" --ulog-nlgroup 1
unde network_vpn reprezinta ip-urile pe care le vor obtine clientii atunci cand se conecteaza la VPN.

Fisierul ulogd.conf, in mare, arata asa:
[global]
nlgroup=1
logfile="/var/log/ulogd/ulogd.log"
loglevel=5
plugin="/usr/lib/ulogd/ulogd_BASE.so"
plugin="/usr/lib/ulogd/ulogd_LOGEMU.so"
[LOGEMU]
file="/var/log/ulogd/ulogd.syslogemu"
sync=1

Fisierul /etc/ppp/ip-up.local se va modifica dupa cum urmeaza:
number="logon"$1
echo `hostname;` >> /tmp/$number
echo >> /tmp/$number
echo "LOGIN INFO:" >> /tmp/$number
echo `date;` >> /tmp/$number
echo "PPP: "$1 >> /tmp/$number
echo "IP VPN: "$4 >> /tmp/$number
echo "IP alocat: "$5 >> /tmp/$number
case "$5" in
192.168.0.92 ) echo "User1" >> /tmp/$number ;;
192.168.0.93 ) echo "User2" >> /tmp/$number ;;
192.168.0.94 ) echo "User3" >> /tmp/$number ;;
192.168.0.95 ) echo "User4" >> /tmp/$number ;;
192.168.0.96 ) echo "User5" >> /tmp/$number ;;
192.168.0.97 ) echo "User6" >> /tmp/$number ;;
192.168.0.98 ) echo "User7" >> /tmp/$number ;;
192.168.0.99 ) echo "User8" >> /tmp/$number ;;
*           ) echo "User necunoscut!" >> /tmp/$number ;;
esac
echo "IP LAN: "$6 >> /tmp/$number
echo "=================" >> /tmp/$number
echo >> /tmp/$number

Fisierul /etc/ppp/ip-down.local se va modifica dupa cum urmeaza:
number="logon"$1
echo "=================" >> /tmp/$number
echo >> /tmp/$number
luna=`date +%b`
ziua=`date +%e`
azi=`echo $luna' '$ziua`
/bin/grep -h "^$azi" /var/log/ulogd/ulogd.syslogemu | /bin/grep $5 | awk '{print $10"  "$19}' >> /tmp/$number
echo "LOGOUT INFO:" >> /tmp/$number
echo `date;` >> /tmp/$number
cat /tmp/$number | mail -s "PPTP LOGINS INFO FROM "$5 adresa_mail_care_primeste_rapoartele
rm -f /tmp/$number

lucian (at) climb.ro