All checks were successful
Check meta / check_meta (pull_request) Successful in 15s
Check meta / check_dns (pull_request) Successful in 19s
Check workflows / check_workflows (pull_request) Successful in 22s
Build all the nodes / netcore02 (pull_request) Successful in 24s
Build all the nodes / netcore01 (pull_request) Successful in 28s
Build all the nodes / netaccess01 (pull_request) Successful in 28s
Build all the nodes / ap01 (pull_request) Successful in 35s
Build the shell / build-shell (pull_request) Successful in 26s
Run pre-commit on all files / pre-commit (pull_request) Successful in 38s
Build all the nodes / geo02 (pull_request) Successful in 1m38s
Build all the nodes / web02 (pull_request) Successful in 1m32s
Build all the nodes / hypervisor03 (pull_request) Successful in 1m56s
Build all the nodes / hypervisor01 (pull_request) Successful in 2m4s
Build all the nodes / hypervisor02 (pull_request) Successful in 2m6s
Build all the nodes / build01 (pull_request) Successful in 2m8s
Build all the nodes / geo01 (pull_request) Successful in 2m13s
Build all the nodes / bridge01 (pull_request) Successful in 2m12s
Build all the nodes / tower01 (pull_request) Successful in 2m11s
Build all the nodes / rescue01 (pull_request) Successful in 2m20s
Build all the nodes / storage01 (pull_request) Successful in 2m24s
Build all the nodes / web03 (pull_request) Successful in 2m1s
Build all the nodes / web01 (pull_request) Successful in 2m19s
Build all the nodes / vault01 (pull_request) Successful in 2m26s
Build all the nodes / compute01 (pull_request) Successful in 2m50s
Build all the nodes / netcore02 (push) Successful in 24s
Build all the nodes / netcore01 (push) Successful in 26s
Build all the nodes / netaccess01 (push) Successful in 33s
Build all the nodes / ap01 (push) Successful in 35s
Build the shell / build-shell (push) Successful in 22s
Run pre-commit on all files / pre-commit (push) Successful in 25s
Build all the nodes / tower01 (push) Successful in 1m37s
Build all the nodes / hypervisor02 (push) Successful in 1m41s
Build all the nodes / build01 (push) Successful in 1m44s
Build all the nodes / web02 (push) Successful in 1m47s
Build all the nodes / hypervisor01 (push) Successful in 1m51s
Build all the nodes / bridge01 (push) Successful in 1m51s
Build all the nodes / geo01 (push) Successful in 2m0s
Build all the nodes / hypervisor03 (push) Successful in 2m2s
Build all the nodes / geo02 (push) Successful in 2m4s
Build all the nodes / vault01 (push) Successful in 2m6s
Build all the nodes / rescue01 (push) Successful in 2m9s
Build all the nodes / storage01 (push) Successful in 2m11s
Build all the nodes / web03 (push) Successful in 2m17s
Build all the nodes / compute01 (push) Successful in 2m37s
Build all the nodes / web01 (push) Successful in 2m42s
35 lines
1,010 B
Nix
35 lines
1,010 B
Nix
# SPDX-FileCopyrightText: 2025 Lubin Bailly <lubin.bailly@dgnum.eu>
|
|
#
|
|
# SPDX-License-Identifier: EUPL-1.2
|
|
|
|
{
|
|
writeShellApplication,
|
|
postgresql,
|
|
}:
|
|
writeShellApplication {
|
|
name = "nat-request-daddr";
|
|
runtimeInputs = [ postgresql ];
|
|
text = ''
|
|
TARGET_TIMESTAMP=$2
|
|
TARGET_PREFIX=$1
|
|
psql -d ulogd -U ulogd -c "
|
|
select
|
|
vlan_id,
|
|
reply_ip_daddr_str as used_ip,
|
|
reply_l4_dport as used_port,
|
|
orig_ip_daddr_str as daddr,
|
|
orig_l4_dport as dport,
|
|
flow_start_sec, flow_end_sec
|
|
from ulog2_ct
|
|
join vlan_prefixes on ulog2_ct.orig_ip_saddr_str <<= vlan_prefixes.prefix
|
|
where
|
|
-- if we don't have conn start, we considered it started before the target time
|
|
( flow_start_sec IS NULL or flow_start_sec <= $TARGET_TIMESTAMP )
|
|
and
|
|
-- similar for conn end
|
|
( flow_end_sec IS NULL or flow_end_sec >= $TARGET_TIMESTAMP )
|
|
and
|
|
orig_ip_daddr_str <<= inet '$TARGET_PREFIX'
|
|
;"
|
|
'';
|
|
}
|