]> git.ipfire.org Git - thirdparty/systemd.git/commit
core: firewall integration with ControlGroupNFTSet=
authorTopi Miettinen <toiwoton@gmail.com>
Sun, 22 May 2022 11:21:02 +0000 (14:21 +0300)
committerTopi Miettinen <toiwoton@gmail.com>
Tue, 7 Jun 2022 17:16:31 +0000 (20:16 +0300)
commitceb46a31a01b3d3d1d6095d857e29ea214a2776b
treedc9244a8d711a7ea222ce1cd1bae7bc803459c8d
parent51bb9076ab8c050bebb64db5035852385accda35
core: firewall integration with ControlGroupNFTSet=

New directive `ControlGroupNFTSet=` provides a method for integrating services
into firewall rules with NFT sets.

Example:

```
table inet filter {
...
        set timesyncd {
                type cgroupsv2
        }

        chain ntp_output {
                socket cgroupv2 != @timesyncd counter drop
                accept
        }
...
}
```

/etc/systemd/system/systemd-timesyncd.service.d/override.conf
```
[Service]
ControlGroupNFTSet=inet:filter:timesyncd
```

```
$ sudo nft list set inet filter timesyncd
table inet filter {
        set timesyncd {
                type cgroupsv2
                elements = { "system.slice/systemd-timesyncd.service" }
        }
}
```
15 files changed:
man/org.freedesktop.systemd1.xml
man/systemd.resource-control.xml
src/core/cgroup.c
src/core/cgroup.h
src/core/dbus-cgroup.c
src/core/load-fragment-gperf.gperf.in
src/core/load-fragment.c
src/core/load-fragment.h
src/shared/bus-unit-util.c
test/fuzz/fuzz-unit-file/directives.mount
test/fuzz/fuzz-unit-file/directives.scope
test/fuzz/fuzz-unit-file/directives.service
test/fuzz/fuzz-unit-file/directives.slice
test/fuzz/fuzz-unit-file/directives.socket
test/fuzz/fuzz-unit-file/directives.swap