Graduated from a high school.

Graduated from a high school.

Organized the first meeting of Gomel Linux User Group.

Attended LVEE 2009.

The goal is to provide clients from a local network access to the internet, limit download traffic and bandwith for each client.

Server machine has 2 Ethernet connection: to local network and to the internet. I configured a VPN server using pptpd and configured NAT in Linux kernel firewall using iptables.
User logins and passwords are stored in a database in a MySQL server.
pptpd uses FreeRADIUS for authentication and freeradius-mysql with custom configuration to pull login and password from the database. I had to additionally configure radiusclient to support MS-CHAP so clients with Windows can connect.
ulog-acctd was configured to monitor IP packets and write an aggregated log file in needed format: timestamp source_ip destination_ip bytes.
A script is written to parse ulog’s log file and update traffic used by a user in the database. This script is lauched by cron every minute.
Additionally, the script checks if user’s limit is exceeded and kills particular session (ip addr show & kill cat /var/run/ppp4.pid).
In order to limit bandwidth I mark all the packets coming to VPN IP addresses and use tc to configure limits. This code is executed in an ip-up script.
billing.tar.gz (modified on March 2021, docker-compose.yml is added to run it easy on modern computers, texts were translated to English, database.sql contains database migrations code).
mycomp.info is launched, a personal website with my posts about linux and technologies.
Internet Archive: http://web.archive.org/web/20081106125951/http://mycomp.info:80/.
Tag cloud generator is implemented on PHP 4.

tags.tar.gz (modified on January 2019, docker-compose.yml added to run it easily on modern computers).
Launched a website compportal.at.tt with news about computers and technologies.

P.S. “isq” on the screenshot above means ICQ.