doc:appunti:linux:sa:ulogd2
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
doc:appunti:linux:sa:ulogd2 [2025/04/03 11:49] – niccolo | doc:appunti:linux:sa:ulogd2 [2025/04/03 12:43] (current) – [/etc/logrotate.d/ulogd2] niccolo | ||
---|---|---|---|
Line 5: | Line 5: | ||
</ | </ | ||
- | === / | + | ==== / |
In the configuration file **/ | In the configuration file **/ | ||
Line 14: | Line 14: | ||
</ | </ | ||
- | This **stack** definition in the ulog2 configuration file defines a **pipeline of processing modules** that handle network flow data. Each module in the stack performs a specific transformation or logging function. Here's a breakdown of the components: | + | This **stack** definition in the ulog2 configuration file defines a **pipeline of processing modules** that handle network flow data. Each module in the stack performs a specific transformation or logging function. |
+ | |||
+ | - One input plugin | ||
+ | - None, one or multiple filter plugins | ||
+ | - One output plugin | ||
+ | |||
+ | Each plugin module in the stack is referenced with an **instance_name**: | ||
+ | |||
+ | Here's a breakdown of the components | ||
- **ct1: | - **ct1: | ||
* '' | * '' | ||
- | * This module extracts connection tracking (conntrack) information from packets, such as session state, source/ | + | * This input plogin |
- **ip2str1: | - **ip2str1: | ||
* '' | * '' | ||
Line 27: | Line 35: | ||
- **emu1: | - **emu1: | ||
* '' | * '' | ||
- | * This module is responsible for sending logs to a file, database, or another destination. | + | * This is the output plugin |
- | FIXME | + | === Configuring the NFCT Netfilter Connection Tracking === |
+ | |||
+ | The // | ||
< | < | ||
Line 37: | Line 47: | ||
</ | </ | ||
- | === Plugin Stacks Explained === | + | In this case the module will consider only **new connections** packets because the bitmask 0x00000001 matches new connections only. The option '' |
- | * Input plugin | + | === The IP2STR and PRINTFLOW modules === |
- | * None, one or multiple filter plugins | + | |
- | * One output | + | These two modules are used at their defaults, no custom configuration is used for their instances. |
+ | |||
+ | === The LOGEMU module === | ||
+ | |||
+ | The **LOGEMU** modules is configured as follow in the same configuration file: | ||
+ | |||
+ | < | ||
+ | [emu1] | ||
+ | file="/ | ||
+ | sync=1 | ||
+ | </ | ||
+ | |||
+ | This means that the log is written in the specified file, every log entry is flushed immediately to the disk due the '' | ||
+ | |||
+ | ==== Bitmask Breakdown of event_mask in NFCT ==== | ||
+ | |||
+ | ^ Bit Position | ||
+ | | 0 | 0x00000001 | 1 | **New connection** (conntrack entry created) | ||
+ | | 1 | 0x00000002 | 2 | **Connection update** (state changes, e.g., from SYN_SENT to ESTABLISHED) | ||
+ | | 2 | 0x00000004 | 4 | **Destroyed connection** (entry removed from conntrack table) | ||
+ | | 3 | 0x00000008 | 8 | **Assured connection** (fully established, | ||
+ | | 4 | 0x00000010 | | ||
+ | | 5 | 0x00000020 | 32 | **Expectation event** (related to NAT helper expectations) | ||
+ | | 6 | 0x00000040 | 64 | **Helper event** (connection helper activity, e.g., FTP, SIP) | | ||
+ | | 7 | 0x00000080 | 128 | **Destroy by GC** (garbage collector removed the connection) | ||
+ | | 8-31 | - | - | (Reserved or unused in most implementations) | ||
+ | |||
+ | So if I want to track new and destroyed connections, | ||
+ | |||
+ | ==== Logging bytes_sent and bytes_received ==== | ||
+ | |||
+ | Check that conntrack has the **bytes=** field in this output: | ||
+ | |||
+ | < | ||
+ | conntrack -L -o extended | ||
+ | </ | ||
+ | |||
+ | Run the following: | ||
+ | |||
+ | < | ||
+ | sysctl -w net.netfilter.nf_conntrack_acct=1 | ||
+ | </ | ||
+ | |||
+ | for permanent setting across reboot create the file **/ | ||
+ | |||
+ | < | ||
+ | net.netfilter.nf_conntrack_acct=1 | ||
+ | </ | ||
- | In the example above we use the **NFCT** input plugin, which interfaces with the **nfnetlink_conntrack** kernel subsystem, and provides flow-based logging. FIXME | ||
- | The option **hash_enable** ... FIXME | ||
- | === / | + | ==== / |
< | < |
doc/appunti/linux/sa/ulogd2.1743673756.txt.gz · Last modified: 2025/04/03 11:49 by niccolo