Diagnostics

The Stingray Service Gateway logs are placed to /var/log/dpi

The file fastdpi_alert.log contains the information on errors and informative events. The first field denotes the message class. The diagnostic information and the message text or error text are placed next.

The information on successful renewal of black lists from cloud service:

[INFO ] bl_updater_thread : URL black list download with result, rc=1001 : Success.
[INFO ] bl_updater_thread : IP black list download with result, rc=1001 : Success.

The file fastdpi_stat.log contains statistical information.

The number of verified and blocked URL (for HTTP protocol):

url/lock=881557942/644

The number of verified and blocked sessions by certificate (for HTTPS protocol):

ssl/lock=1656734322/58

The number of verified and blocked packets by IP (for HTTPS protocol):

https/lock=3021320891/3

Check that the lists are up to date, the date is usually not far in the past (a few hours):

ls -la /var/lib/dpi/blcache*

Check if mode bypass is active (if present):

bpctl_util all get_bypass
Mistake:
-bash: bpctl_util: command not found
Means you don't have a bypass

Check if there is a service on the subscriber, if there is, whether it corresponds to the black_list_sm parameter:

looking for a login by IP (if logins are used)
fdpi_ctrl list all --bind_multi | grep 192.168.1.100
user_100:192.168.1.100
check the status of the service:
fdpi_ctrl list --service 4 --login user_100
Autodetected fastdpi params : dev='eth5', port=29000
connecting 192.168.0.2:29000 ...
================================
user_100 4 (0x8) default
Result processing login=user_100 :
1/1/0
Total: filtering service is active
Checking the state of the parameter:
service fastdpi reload
grep black_list_sm /var/log/dpi/fastdpi_alert.log | tail-1
black_list_sm : 0
ATTENTION! The parameter is set by default, which means that the inversion works - the active service disables filtering on the subscriber.
For details, see the section on filtering service management.

Check that the test subscriber's traffic goes through DPI:

check that the log files do not exceed 1GB:
ls -la /var/log/dpi/fastdpi_slave_?.log
if it exceeds then do:
echo "" > /var/log/dpi/fastdpi_slave_0.log
echo "" > /var/log/dpi/fastdpi_slave_1.log
echo "" > /var/log/dpi/fastdpi_slave_2.log
echo "" > /var/log/dpi/fastdpi_slave_3.log
Set the IP address of the test computer in the /etc/dpi/fastdpi.conf configuration:
trace_ip=<IP>
After installation do:
service fastdpi reload
Sample verification for protonmail.com:
1. Request
wget protonmail.com
--2020-02-09 19:50:15-- http://protonmail.com/
Resolving protonmail.com... 5.3.3.17, 2a02:2698:a002:1::3:17
Connecting to protonmail.com|5.3.3.17|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://vasexperts.ru/test/blocked.php [following]
--2020-02-09 19:50:16-- http://vasexperts.ru/test/blocked.php
Resolving vasexperts.ru... 45.151.108.17
Connecting to vasexperts.ru|45.151.108.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
2. checking log entries
grep -E "proton" -A5 /var/log/dpi/fastdpi_slave_?.log
/var/log/dpi/fastdpi_slave_1.log:HTTP_HOST=_protonmail.com_
/var/log/dpi/fastdpi_slave_1.log-HTTP_REFERER(0)=_null_
/var/log/dpi/fastdpi_slave_1.log-HTTP_USER-AGENT=_Wget/1.12 (linux-gnu)_
/var/log/dpi/fastdpi_slave_1.log-HTTP_COOKIE=_null_
/var/log/dpi/fastdpi_slave_1.log-[TRACE ][000000045177957936][0167666FC85BFC15] CHECK_HTTP 192.168.1.8:24359 --> 5.3.3.17:80 url_blocked=0x22, method=1 : URL=_/_
/var/log/dpi/fastdpi_slave_1.log: HTTP_HOST=_protonmail.com_
/var/log/dpi/fastdpi_slave_1.log- HTTP_REFERER=_null_
/var/log/dpi/fastdpi_slave_1.log- new_prg_id=0x0(0x0)
/var/log/dpi/fastdpi_slave_1.log- other_prg_id=0x0(0x0)
/var/log/dpi/fastdpi_slave_1.log- prof_idx={0,0,0,0,0,0}
/var/log/dpi/fastdpi_slave_1.log- ddos=0
--
/var/log/dpi/fastdpi_slave_1.log: HTTP_HOST=_protonmail.com_
/var/log/dpi/fastdpi_slave_1.log- HTTP_REFERER=_null_
/var/log/dpi/fastdpi_slave_1.log- NEW_URL=http://vasexperts.ru/test/blocked.php_
/var/log/dpi/fastdpi_slave_1.log- NEW_REFERER=_null_
The log shows that the resource is blocked:
... url_blocked=0x22 ...
and redirected to the blocking page:
NEW_URL=http://vasexperts.ru/test/blocked.php_