Re: Client history

Peter Davis via Openvpn-users <[email protected]>
Newsgroups gmane.network.openvpn.user
Message-ID <BdcqAyp0W2IsW003SrLnm3q4FEqPKP7P20zKDkiRSSNadDxT6AWgepyWCfPXy02CXmvUSpK3IvscLkI-lcgcPrQtNoLU_kAj491GDJ1aCzI=@proton.me>
> On Sunday, February 18th, 2024 at 12:27 PM, Bo Berglund <[email protected]> wrote:

> On Sun, 18 Feb 2024 06:50:06 +0000, Peter Davis via Openvpn-users
> [email protected] wrote:
> 
> > > SOLUTION
> > > 
> > > Just to follow up on my question
> > > ---------------------------------
> > > I have done the following and it seems to work:
> > > 
> > > /etc/openvpn/server/serverlocal.conf:
> > > 
> > > #Add logging of client connect/disconnect events:
> > > script-security 2
> > > client-connect /etc/openvpn/scripts/serverlocal-events.sh
> > > client-disconnect /etc/openvpn/scripts/serverlocal-events.sh
> > > 
> > > /etc/openvpn/scripts/serverlocal-events.sh:
> > > 
> > > #!/bin/bash
> > > # Executed on the server side for client connect and disconnect events.
> > > # Log file path
> > > LOG_FILE="/etc/openvpn/log/serverlocal-events.log"
> > > # Log timestamp
> > > LOG_TIMESTAMP=$(date "+%Y-%m-%d %H:%M:%S")
> > > # Log client connect or disconnect event with IP address
> > > if [ "$script_type" == "client-connect" ]; then
> > > echo "$LOG_TIMESTAMP - $common_name connected with IP $trusted_ip" >>
> > > 
> > > "$LOG_FILE"
> > > elif [ "$script_type" == "client-disconnect" ]; then
> > > echo "$LOG_TIMESTAMP - $common_name disconnected with IP $trusted_ip" >>
> > > 
> > > "$LOG_FILE"
> > > fi
> > > 
> > > And when I test this with a connect - disconnect cycle this is what I get:
> > > 
> > > 2024-02-16 11:34:26 - BosseUbu connected with IP 217.213.74.168
> > > 2024-02-16 11:34:32 - BosseUbu disconnected with IP 217.213.74.168
> > > 
> > > So it seems to work as expected...
> > > 
> > > --
> > > Bo Berglund
> > > Developer in Sweden
> > > 
> > > _______________________________________________
> > > Openvpn-users mailing list
> > > [email protected]
> > > https://lists.sourceforge.net/lists/listinfo/openvpn-users
> > 
> > Hi,
> > Thank you so much for your great reply.
> > What should script permission be? I got the following error:
> > 
> > --client-connect script fails with '/etc/openvpn/scripts/script.sh': Permission denied (errno=13)
> 
> 
> This is what I have:
> 
> /etc/openvpn/scripts$ ls -la
> -rwxr-xr-x 1 root root 567 2024-02-16 11:47 server-events.sh
> -rwxr-xr-x 1 root root 572 2024-02-16 11:34 serverlocal-events.sh
> 
> Created as follows:
> 
> cd /etc/openvpn/scripts
> sudo touch server-events.sh
> sudo chmod +x server-events.sh
> sudo nano server-events.sh
> (add the text for the script as shown above)
> 
> Then copy the script to use for the other service:
> sudo cp server-events.sh serverlocal-events.sh
> sudo nano serverlocal-events.sh
> (modify the script LOG_FILE entry to fit the other openvpn service)
> 
> And of course add the call for the script to the conf files for the services:
> 
> #Add logging of client connect/disconnect events:
> script-security 2 # This MUST be set in order for the scripts to execute
> client-connect /etc/openvpn/scripts/server-events.sh
> client-disconnect /etc/openvpn/scripts/server-events.sh
> 
> #Add logging of client connect/disconnect events:
> script-security 2
> client-connect /etc/openvpn/scripts/serverlocal-events.sh
> client-disconnect /etc/openvpn/scripts/serverlocal-events.sh
> 
> My two scripts differ only by the name of the log file so one could use only a
> single script provided that the call from the two conf files are modified to
> supply the log file name as a argument #1 like this (note that my newsreader
> inserts line breaks on long lines...:
> 
> script-security 2
> 
> client-connect /etc/openvpn/scripts/server-events.sh
> "/etc/openvpn/log/server-events.log"
> 
> client-disconnect /etc/openvpn/scripts/server-events.sh
> "/etc/openvpn/log/server-events.log"
> 
> And then use this in the now single script to read the log file name from the
> call argument:
> 
> LOG_FILE="$1"
> 
> 
> 
> --
> Bo Berglund
> Developer in Sweden
> 
> 
> 
> _______________________________________________
> Openvpn-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/openvpn-users

Hi,
Mine is:

# ls -l scripts/script-events.sh 
-rwxr-xr-x 1 root root 543 Feb 18 10:11 scripts/script-events.sh

And Server.conf is:
...
script-security 2
client-connect /etc/openvpn/scripts/script-events.sh
client-disconnect /etc/openvpn/scripts/script-events.sh

I have three questions:

1- Your script has an error:

# sh scripts/script-events.sh 
scripts/script-events.sh: 10: Syntax error: newline unexpected

2- Should both "client-connect" and "client-disconnect" be the same?

3- Should both "client-connect" and "client-disconnect" be defined? Is it not possible to use script only for "client-connect"?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.