Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / REFERENCE.md @ 3b26826f

Historique | Voir | Annoter | Télécharger (55,3 ko)

1
# Reference
2

    
3
<!-- DO NOT EDIT: This document was generated by Puppet Strings -->
4

    
5
## Table of Contents
6

    
7
### Classes
8

    
9
* [`nftables`](#nftables): Configure nftables
10
* [`nftables::bridges`](#nftables--bridges): allow forwarding traffic on bridges
11
* [`nftables::inet_filter`](#nftables--inet_filter): manage basic chains in table inet filter
12
* [`nftables::inet_filter::fwd_conntrack`](#nftables--inet_filter--fwd_conntrack): enable conntrack for fwd
13
* [`nftables::inet_filter::in_out_conntrack`](#nftables--inet_filter--in_out_conntrack): manage input & output conntrack
14
* [`nftables::ip_nat`](#nftables--ip_nat): manage basic chains in table ip nat
15
* [`nftables::rules::activemq`](#nftables--rules--activemq): Provides input rules for Apache ActiveMQ
16
* [`nftables::rules::afs3_callback`](#nftables--rules--afs3_callback): Open call back port for AFS clients
17
* [`nftables::rules::ceph`](#nftables--rules--ceph): Ceph is a distributed object store and file system. Enable this to support Ceph's Object Storage Daemons (OSD), Metadata Server Daemons (MDS)
18
* [`nftables::rules::ceph_mon`](#nftables--rules--ceph_mon): Ceph is a distributed object store and file system.
19
Enable this option to support Ceph's Monitor Daemon.
20
* [`nftables::rules::dhcpv6_client`](#nftables--rules--dhcpv6_client): allow DHCPv6 requests in to a host
21
* [`nftables::rules::dns`](#nftables--rules--dns): manage in dns
22
* [`nftables::rules::docker_ce`](#nftables--rules--docker_ce): Default firewall configuration for Docker-CE
23
* [`nftables::rules::http`](#nftables--rules--http): manage in http
24
* [`nftables::rules::https`](#nftables--rules--https): manage in https
25
* [`nftables::rules::icinga2`](#nftables--rules--icinga2): manage in icinga2
26
* [`nftables::rules::icmp`](#nftables--rules--icmp)
27
* [`nftables::rules::igmp`](#nftables--rules--igmp): allow incoming IGMP messages
28
* [`nftables::rules::ldap`](#nftables--rules--ldap): manage in ldap
29
* [`nftables::rules::llmnr`](#nftables--rules--llmnr): allow incoming Link-Local Multicast Name Resolution
30
* [`nftables::rules::mdns`](#nftables--rules--mdns): allow incoming multicast DNS
31
* [`nftables::rules::multicast`](#nftables--rules--multicast): allow incoming multicast traffic
32
* [`nftables::rules::nfs`](#nftables--rules--nfs): manage in nfs4
33
* [`nftables::rules::nfs3`](#nftables--rules--nfs3): manage in nfs3
34
* [`nftables::rules::node_exporter`](#nftables--rules--node_exporter): manage in node exporter
35
* [`nftables::rules::ospf`](#nftables--rules--ospf): manage in ospf
36
* [`nftables::rules::ospf3`](#nftables--rules--ospf3): manage in ospf3
37
* [`nftables::rules::out::active_directory`](#nftables--rules--out--active_directory): manage outgoing active diectory
38
* [`nftables::rules::out::all`](#nftables--rules--out--all): allow all outbound
39
* [`nftables::rules::out::ceph_client`](#nftables--rules--out--ceph_client): Ceph is a distributed object store and file system.
40
Enable this to be a client of Ceph's Monitor (MON),
41
Object Storage Daemons (OSD), Metadata Server Daemons (MDS),
42
and Manager Daemons (MGR).
43
* [`nftables::rules::out::chrony`](#nftables--rules--out--chrony): manage out chrony
44
* [`nftables::rules::out::dhcp`](#nftables--rules--out--dhcp): manage out dhcp
45
* [`nftables::rules::out::dhcpv6_client`](#nftables--rules--out--dhcpv6_client): Allow DHCPv6 requests out of a host
46
* [`nftables::rules::out::dns`](#nftables--rules--out--dns): manage out dns
47
* [`nftables::rules::out::hkp`](#nftables--rules--out--hkp): allow outgoing hkp connections to gpg keyservers
48
* [`nftables::rules::out::http`](#nftables--rules--out--http): manage out http
49
* [`nftables::rules::out::https`](#nftables--rules--out--https): manage out https
50
* [`nftables::rules::out::icmp`](#nftables--rules--out--icmp): control outbound icmp packages
51
* [`nftables::rules::out::igmp`](#nftables--rules--out--igmp): allow outgoing IGMP messages
52
* [`nftables::rules::out::imap`](#nftables--rules--out--imap): allow outgoing imap
53
* [`nftables::rules::out::kerberos`](#nftables--rules--out--kerberos): allows outbound access for kerberos
54
* [`nftables::rules::out::ldap`](#nftables--rules--out--ldap): manage outgoing ldap
55
* [`nftables::rules::out::mdns`](#nftables--rules--out--mdns): allow outgoing multicast DNS
56
* [`nftables::rules::out::mldv2`](#nftables--rules--out--mldv2): allow multicast listener requests
57
* [`nftables::rules::out::mysql`](#nftables--rules--out--mysql): manage out mysql
58
* [`nftables::rules::out::nfs`](#nftables--rules--out--nfs): manage out nfs
59
* [`nftables::rules::out::nfs3`](#nftables--rules--out--nfs3): manage out nfs3
60
* [`nftables::rules::out::openafs_client`](#nftables--rules--out--openafs_client): allows outbound access for afs clients
61
7000 - afs3-fileserver
62
7002 - afs3-ptserver
63
7003 - vlserver
64
* [`nftables::rules::out::ospf`](#nftables--rules--out--ospf): manage out ospf
65
* [`nftables::rules::out::ospf3`](#nftables--rules--out--ospf3): manage out ospf3
66
* [`nftables::rules::out::pop3`](#nftables--rules--out--pop3): allow outgoing pop3
67
* [`nftables::rules::out::postgres`](#nftables--rules--out--postgres): manage out postgres
68
* [`nftables::rules::out::puppet`](#nftables--rules--out--puppet): manage outgoing puppet
69
* [`nftables::rules::out::pxp_agent`](#nftables--rules--out--pxp_agent): manage outgoing pxp-agent
70
* [`nftables::rules::out::smtp`](#nftables--rules--out--smtp): allow outgoing smtp
71
* [`nftables::rules::out::smtp_client`](#nftables--rules--out--smtp_client): allow outgoing smtp client
72
* [`nftables::rules::out::ssh`](#nftables--rules--out--ssh): manage out ssh
73
* [`nftables::rules::out::ssh::remove`](#nftables--rules--out--ssh--remove): disable outgoing ssh
74
* [`nftables::rules::out::tor`](#nftables--rules--out--tor): manage out tor
75
* [`nftables::rules::out::whois`](#nftables--rules--out--whois): allow clients to query remote whois server
76
* [`nftables::rules::out::wireguard`](#nftables--rules--out--wireguard): manage out wireguard
77
* [`nftables::rules::puppet`](#nftables--rules--puppet): manage in puppet
78
* [`nftables::rules::pxp_agent`](#nftables--rules--pxp_agent): manage in pxp-agent
79
* [`nftables::rules::qemu`](#nftables--rules--qemu): Bridged network configuration for qemu/libvirt
80
* [`nftables::rules::samba`](#nftables--rules--samba): manage Samba, the suite to allow Windows file sharing on Linux resources.
81
* [`nftables::rules::smtp`](#nftables--rules--smtp): manage in smtp
82
* [`nftables::rules::smtp_submission`](#nftables--rules--smtp_submission): manage in smtp submission
83
* [`nftables::rules::smtps`](#nftables--rules--smtps): manage in smtps
84
* [`nftables::rules::spotify`](#nftables--rules--spotify): allow incoming spotify
85
* [`nftables::rules::ssh`](#nftables--rules--ssh): manage in ssh
86
* [`nftables::rules::tor`](#nftables--rules--tor): manage in tor
87
* [`nftables::rules::wireguard`](#nftables--rules--wireguard): manage in wireguard
88
* [`nftables::services::dhcpv6_client`](#nftables--services--dhcpv6_client): Allow in and outbound traffic for DHCPv6 server
89
* [`nftables::services::openafs_client`](#nftables--services--openafs_client): Open inbound and outbound ports for an AFS client
90

    
91
### Defined types
92

    
93
* [`nftables::chain`](#nftables--chain): manage a chain
94
* [`nftables::config`](#nftables--config): manage a config snippet
95
* [`nftables::file`](#nftables--file): Insert a file into the nftables configuration
96
* [`nftables::rule`](#nftables--rule): Provides an interface to create a firewall rule
97
* [`nftables::rules::dnat4`](#nftables--rules--dnat4): manage a ipv4 dnat rule
98
* [`nftables::rules::masquerade`](#nftables--rules--masquerade): masquerade all outgoing traffic
99
* [`nftables::rules::snat4`](#nftables--rules--snat4): manage a ipv4 snat rule
100
* [`nftables::set`](#nftables--set): manage a named set
101
* [`nftables::simplerule`](#nftables--simplerule): Provides a simplified interface to nftables::rule
102

    
103
### Data types
104

    
105
* [`Nftables::Addr`](#Nftables--Addr): Represents an address expression to be used within a rule.
106
* [`Nftables::Addr::Set`](#Nftables--Addr--Set): Represents a set expression to be used within a rule.
107
* [`Nftables::Port`](#Nftables--Port): Represents a port expression to be used within a rule.
108
* [`Nftables::Port::Range`](#Nftables--Port--Range): Represents a port range expression to be used within a rule.
109
* [`Nftables::RuleName`](#Nftables--RuleName): Represents a rule name to be used in a raw rule created via nftables::rule.
110
It's a dash separated string. The first component describes the chain to
111
add the rule to, the second the rule name and the (optional) third a number.
112
Ex: 'default_in-sshd', 'default_out-my_service-2'.
113
* [`Nftables::SimpleRuleName`](#Nftables--SimpleRuleName): Represents a simple rule name to be used in a rule created via nftables::simplerule
114

    
115
## Classes
116

    
117
### <a name="nftables"></a>`nftables`
118

    
119
Configure nftables
120

    
121
#### Examples
122

    
123
##### allow dns out and do not allow ntp out
124

    
125
```puppet
126
class{ 'nftables':
127
  out_ntp => false,
128
  out_dns => true,
129
}
130
```
131

    
132
##### do not flush particular tables, fail2ban in this case
133

    
134
```puppet
135
class{ 'nftables':
136
  noflush_tables => ['inet-f2b-table'],
137
}
138
```
139

    
140
#### Parameters
141

    
142
The following parameters are available in the `nftables` class:
143

    
144
* [`out_all`](#-nftables--out_all)
145
* [`out_ntp`](#-nftables--out_ntp)
146
* [`out_http`](#-nftables--out_http)
147
* [`out_dns`](#-nftables--out_dns)
148
* [`out_https`](#-nftables--out_https)
149
* [`out_icmp`](#-nftables--out_icmp)
150
* [`in_ssh`](#-nftables--in_ssh)
151
* [`in_icmp`](#-nftables--in_icmp)
152
* [`inet_filter`](#-nftables--inet_filter)
153
* [`nat`](#-nftables--nat)
154
* [`nat_table_name`](#-nftables--nat_table_name)
155
* [`sets`](#-nftables--sets)
156
* [`log_prefix`](#-nftables--log_prefix)
157
* [`log_limit`](#-nftables--log_limit)
158
* [`reject_with`](#-nftables--reject_with)
159
* [`in_out_conntrack`](#-nftables--in_out_conntrack)
160
* [`fwd_conntrack`](#-nftables--fwd_conntrack)
161
* [`firewalld_enable`](#-nftables--firewalld_enable)
162
* [`noflush_tables`](#-nftables--noflush_tables)
163
* [`rules`](#-nftables--rules)
164
* [`configuration_path`](#-nftables--configuration_path)
165
* [`nft_path`](#-nftables--nft_path)
166
* [`echo`](#-nftables--echo)
167
* [`default_config_mode`](#-nftables--default_config_mode)
168

    
169
##### <a name="-nftables--out_all"></a>`out_all`
170

    
171
Data type: `Boolean`
172

    
173
Allow all outbound connections. If `true` then all other
174
out parameters `out_ntp`, `out_dns`, ... will be assuemed
175
false.
176

    
177
Default value: `false`
178

    
179
##### <a name="-nftables--out_ntp"></a>`out_ntp`
180

    
181
Data type: `Boolean`
182

    
183
Allow outbound to ntp servers.
184

    
185
Default value: `true`
186

    
187
##### <a name="-nftables--out_http"></a>`out_http`
188

    
189
Data type: `Boolean`
190

    
191
Allow outbound to http servers.
192

    
193
Default value: `true`
194

    
195
##### <a name="-nftables--out_dns"></a>`out_dns`
196

    
197
Data type: `Boolean`
198

    
199
Allow outbound to dns servers.
200

    
201
Default value: `true`
202

    
203
##### <a name="-nftables--out_https"></a>`out_https`
204

    
205
Data type: `Boolean`
206

    
207
Allow outbound to https servers.
208

    
209
Default value: `true`
210

    
211
##### <a name="-nftables--out_icmp"></a>`out_icmp`
212

    
213
Data type: `Boolean`
214

    
215
Allow outbound ICMPv4/v6 traffic.
216

    
217
Default value: `true`
218

    
219
##### <a name="-nftables--in_ssh"></a>`in_ssh`
220

    
221
Data type: `Boolean`
222

    
223
Allow inbound to ssh servers.
224

    
225
Default value: `true`
226

    
227
##### <a name="-nftables--in_icmp"></a>`in_icmp`
228

    
229
Data type: `Boolean`
230

    
231
Allow inbound ICMPv4/v6 traffic.
232

    
233
Default value: `true`
234

    
235
##### <a name="-nftables--inet_filter"></a>`inet_filter`
236

    
237
Data type: `Boolean`
238

    
239
Add default tables, chains and rules to process traffic.
240

    
241
Default value: `true`
242

    
243
##### <a name="-nftables--nat"></a>`nat`
244

    
245
Data type: `Boolean`
246

    
247
Add default tables and chains to process NAT traffic.
248

    
249
Default value: `true`
250

    
251
##### <a name="-nftables--nat_table_name"></a>`nat_table_name`
252

    
253
Data type: `String[1]`
254

    
255
The name of the 'nat' table.
256

    
257
Default value: `'nat'`
258

    
259
##### <a name="-nftables--sets"></a>`sets`
260

    
261
Data type: `Hash`
262

    
263
Allows sourcing set definitions directly from Hiera.
264

    
265
Default value: `{}`
266

    
267
##### <a name="-nftables--log_prefix"></a>`log_prefix`
268

    
269
Data type: `String`
270

    
271
String that will be used as prefix when logging packets. It can contain
272
two variables using standard sprintf() string-formatting:
273
 * chain: Will be replaced by the name of the chain.
274
 * comment: Allows chains to add extra comments.
275

    
276
Default value: `'[nftables] %<chain>s %<comment>s'`
277

    
278
##### <a name="-nftables--log_limit"></a>`log_limit`
279

    
280
Data type: `Variant[Boolean[false], String]`
281

    
282
String with the content of a limit statement to be applied
283
to the rules that log discarded traffic. Set to false to
284
disable rate limiting.
285

    
286
Default value: `'3/minute burst 5 packets'`
287

    
288
##### <a name="-nftables--reject_with"></a>`reject_with`
289

    
290
Data type: `Variant[Boolean[false], Pattern[/icmp(v6|x)? type .+|tcp reset/]]`
291

    
292
How to discard packets not matching any rule. If `false`, the
293
fate of the packet will be defined by the chain policy (normally
294
drop), otherwise the packet will be rejected with the REJECT_WITH
295
policy indicated by the value of this parameter.
296

    
297
Default value: `'icmpx type port-unreachable'`
298

    
299
##### <a name="-nftables--in_out_conntrack"></a>`in_out_conntrack`
300

    
301
Data type: `Boolean`
302

    
303
Adds INPUT and OUTPUT rules to allow traffic that's part of an
304
established connection and also to drop invalid packets.
305

    
306
Default value: `true`
307

    
308
##### <a name="-nftables--fwd_conntrack"></a>`fwd_conntrack`
309

    
310
Data type: `Boolean`
311

    
312
Adds FORWARD rules to allow traffic that's part of an
313
established connection and also to drop invalid packets.
314

    
315
Default value: `false`
316

    
317
##### <a name="-nftables--firewalld_enable"></a>`firewalld_enable`
318

    
319
Data type: `Variant[Boolean[false], Enum['mask']]`
320

    
321
Configures how the firewalld systemd service unit is enabled. It might be
322
useful to set this to false if you're externaly removing firewalld from
323
the system completely.
324

    
325
Default value: `'mask'`
326

    
327
##### <a name="-nftables--noflush_tables"></a>`noflush_tables`
328

    
329
Data type: `Optional[Array[Pattern[/^(ip|ip6|inet|arp|bridge|netdev)-[-a-zA-Z0-9_]+$/],1]]`
330

    
331
If specified only other existings tables will be flushed.
332
If left unset all tables will be flushed via a `flush ruleset`
333

    
334
Default value: `undef`
335

    
336
##### <a name="-nftables--rules"></a>`rules`
337

    
338
Data type: `Hash`
339

    
340
Specify hashes of `nftables::rule`s via hiera
341

    
342
Default value: `{}`
343

    
344
##### <a name="-nftables--configuration_path"></a>`configuration_path`
345

    
346
Data type: `Stdlib::Unixpath`
347

    
348
The absolute path to the principal nftables configuration file. The default
349
varies depending on the system, and is set in the module's data.
350

    
351
##### <a name="-nftables--nft_path"></a>`nft_path`
352

    
353
Data type: `Stdlib::Unixpath`
354

    
355
Path to the nft binary
356

    
357
##### <a name="-nftables--echo"></a>`echo`
358

    
359
Data type: `Stdlib::Unixpath`
360

    
361
Path to the echo binary
362

    
363
##### <a name="-nftables--default_config_mode"></a>`default_config_mode`
364

    
365
Data type: `Stdlib::Filemode`
366

    
367
The default file & dir mode for configuration files and directories. The
368
default varies depending on the system, and is set in the module's data.
369

    
370
### <a name="nftables--bridges"></a>`nftables::bridges`
371

    
372
allow forwarding traffic on bridges
373

    
374
#### Parameters
375

    
376
The following parameters are available in the `nftables::bridges` class:
377

    
378
* [`ensure`](#-nftables--bridges--ensure)
379
* [`bridgenames`](#-nftables--bridges--bridgenames)
380

    
381
##### <a name="-nftables--bridges--ensure"></a>`ensure`
382

    
383
Data type: `Enum['present','absent']`
384

    
385

    
386

    
387
Default value: `'present'`
388

    
389
##### <a name="-nftables--bridges--bridgenames"></a>`bridgenames`
390

    
391
Data type: `Regexp`
392

    
393

    
394

    
395
Default value: `/^br.+/`
396

    
397
### <a name="nftables--inet_filter"></a>`nftables::inet_filter`
398

    
399
manage basic chains in table inet filter
400

    
401
### <a name="nftables--inet_filter--fwd_conntrack"></a>`nftables::inet_filter::fwd_conntrack`
402

    
403
enable conntrack for fwd
404

    
405
### <a name="nftables--inet_filter--in_out_conntrack"></a>`nftables::inet_filter::in_out_conntrack`
406

    
407
manage input & output conntrack
408

    
409
### <a name="nftables--ip_nat"></a>`nftables::ip_nat`
410

    
411
manage basic chains in table ip nat
412

    
413
### <a name="nftables--rules--activemq"></a>`nftables::rules::activemq`
414

    
415
Provides input rules for Apache ActiveMQ
416

    
417
#### Parameters
418

    
419
The following parameters are available in the `nftables::rules::activemq` class:
420

    
421
* [`tcp`](#-nftables--rules--activemq--tcp)
422
* [`udp`](#-nftables--rules--activemq--udp)
423
* [`port`](#-nftables--rules--activemq--port)
424

    
425
##### <a name="-nftables--rules--activemq--tcp"></a>`tcp`
426

    
427
Data type: `Boolean`
428

    
429
Create the rule for TCP traffic.
430

    
431
Default value: `true`
432

    
433
##### <a name="-nftables--rules--activemq--udp"></a>`udp`
434

    
435
Data type: `Boolean`
436

    
437
Create the rule for UDP traffic.
438

    
439
Default value: `true`
440

    
441
##### <a name="-nftables--rules--activemq--port"></a>`port`
442

    
443
Data type: `Stdlib::Port`
444

    
445
The port number for the ActiveMQ daemon.
446

    
447
Default value: `61616`
448

    
449
### <a name="nftables--rules--afs3_callback"></a>`nftables::rules::afs3_callback`
450

    
451
Open call back port for AFS clients
452

    
453
#### Examples
454

    
455
##### allow call backs from particular hosts
456

    
457
```puppet
458
class{'nftables::rules::afs3_callback':
459
  saddr => ['192.168.0.0/16', '10.0.0.222']
460
}
461
```
462

    
463
#### Parameters
464

    
465
The following parameters are available in the `nftables::rules::afs3_callback` class:
466

    
467
* [`saddr`](#-nftables--rules--afs3_callback--saddr)
468

    
469
##### <a name="-nftables--rules--afs3_callback--saddr"></a>`saddr`
470

    
471
Data type: `Array[Stdlib::IP::Address::V4,1]`
472

    
473
list of source network ranges to a
474

    
475
Default value: `['0.0.0.0/0']`
476

    
477
### <a name="nftables--rules--ceph"></a>`nftables::rules::ceph`
478

    
479
Ceph is a distributed object store and file system.
480
Enable this to support Ceph's Object Storage Daemons (OSD),
481
Metadata Server Daemons (MDS), or Manager Daemons (MGR).
482

    
483
### <a name="nftables--rules--ceph_mon"></a>`nftables::rules::ceph_mon`
484

    
485
Ceph is a distributed object store and file system.
486
Enable this option to support Ceph's Monitor Daemon.
487

    
488
#### Parameters
489

    
490
The following parameters are available in the `nftables::rules::ceph_mon` class:
491

    
492
* [`ports`](#-nftables--rules--ceph_mon--ports)
493

    
494
##### <a name="-nftables--rules--ceph_mon--ports"></a>`ports`
495

    
496
Data type: `Array[Stdlib::Port,1]`
497

    
498
specify ports for ceph service
499

    
500
Default value: `[3300, 6789]`
501

    
502
### <a name="nftables--rules--dhcpv6_client"></a>`nftables::rules::dhcpv6_client`
503

    
504
allow DHCPv6 requests in to a host
505

    
506
### <a name="nftables--rules--dns"></a>`nftables::rules::dns`
507

    
508
manage in dns
509

    
510
#### Parameters
511

    
512
The following parameters are available in the `nftables::rules::dns` class:
513

    
514
* [`ports`](#-nftables--rules--dns--ports)
515

    
516
##### <a name="-nftables--rules--dns--ports"></a>`ports`
517

    
518
Data type: `Array[Stdlib::Port,1]`
519

    
520
Specify ports for dns.
521

    
522
Default value: `[53]`
523

    
524
### <a name="nftables--rules--docker_ce"></a>`nftables::rules::docker_ce`
525

    
526
The configuration distributed in this class represents the default firewall
527
configuration done by docker-ce when the iptables integration is enabled.
528

    
529
This class is needed as the default docker-ce rules added to ip-filter conflict
530
with the inet-filter forward rules set by default in this module.
531

    
532
When using this class 'docker::iptables: false' should be set.
533

    
534
#### Parameters
535

    
536
The following parameters are available in the `nftables::rules::docker_ce` class:
537

    
538
* [`docker_interface`](#-nftables--rules--docker_ce--docker_interface)
539
* [`docker_prefix`](#-nftables--rules--docker_ce--docker_prefix)
540
* [`manage_docker_chains`](#-nftables--rules--docker_ce--manage_docker_chains)
541
* [`manage_base_chains`](#-nftables--rules--docker_ce--manage_base_chains)
542

    
543
##### <a name="-nftables--rules--docker_ce--docker_interface"></a>`docker_interface`
544

    
545
Data type: `String[1]`
546

    
547
Interface name used by docker.
548

    
549
Default value: `'docker0'`
550

    
551
##### <a name="-nftables--rules--docker_ce--docker_prefix"></a>`docker_prefix`
552

    
553
Data type: `Stdlib::IP::Address::V4::CIDR`
554

    
555
The address space used by docker.
556

    
557
Default value: `'172.17.0.0/16'`
558

    
559
##### <a name="-nftables--rules--docker_ce--manage_docker_chains"></a>`manage_docker_chains`
560

    
561
Data type: `Boolean`
562

    
563
Flag to control whether the class should create the docker related chains.
564

    
565
Default value: `true`
566

    
567
##### <a name="-nftables--rules--docker_ce--manage_base_chains"></a>`manage_base_chains`
568

    
569
Data type: `Boolean`
570

    
571
Flag to control whether the class should create the base common chains.
572

    
573
Default value: `true`
574

    
575
### <a name="nftables--rules--http"></a>`nftables::rules::http`
576

    
577
manage in http
578

    
579
### <a name="nftables--rules--https"></a>`nftables::rules::https`
580

    
581
manage in https
582

    
583
### <a name="nftables--rules--icinga2"></a>`nftables::rules::icinga2`
584

    
585
manage in icinga2
586

    
587
#### Parameters
588

    
589
The following parameters are available in the `nftables::rules::icinga2` class:
590

    
591
* [`ports`](#-nftables--rules--icinga2--ports)
592

    
593
##### <a name="-nftables--rules--icinga2--ports"></a>`ports`
594

    
595
Data type: `Array[Stdlib::Port,1]`
596

    
597
Specify ports for icinga2
598

    
599
Default value: `[5665]`
600

    
601
### <a name="nftables--rules--icmp"></a>`nftables::rules::icmp`
602

    
603
The nftables::rules::icmp class.
604

    
605
#### Parameters
606

    
607
The following parameters are available in the `nftables::rules::icmp` class:
608

    
609
* [`v4_types`](#-nftables--rules--icmp--v4_types)
610
* [`v6_types`](#-nftables--rules--icmp--v6_types)
611
* [`order`](#-nftables--rules--icmp--order)
612

    
613
##### <a name="-nftables--rules--icmp--v4_types"></a>`v4_types`
614

    
615
Data type: `Optional[Array[String]]`
616

    
617

    
618

    
619
Default value: `undef`
620

    
621
##### <a name="-nftables--rules--icmp--v6_types"></a>`v6_types`
622

    
623
Data type: `Optional[Array[String]]`
624

    
625

    
626

    
627
Default value: `undef`
628

    
629
##### <a name="-nftables--rules--icmp--order"></a>`order`
630

    
631
Data type: `String`
632

    
633

    
634

    
635
Default value: `'10'`
636

    
637
### <a name="nftables--rules--igmp"></a>`nftables::rules::igmp`
638

    
639
allow incoming IGMP messages
640

    
641
### <a name="nftables--rules--ldap"></a>`nftables::rules::ldap`
642

    
643
manage in ldap
644

    
645
#### Parameters
646

    
647
The following parameters are available in the `nftables::rules::ldap` class:
648

    
649
* [`ports`](#-nftables--rules--ldap--ports)
650

    
651
##### <a name="-nftables--rules--ldap--ports"></a>`ports`
652

    
653
Data type: `Array[Integer,1]`
654

    
655
ldap server ports
656

    
657
Default value: `[389, 636]`
658

    
659
### <a name="nftables--rules--llmnr"></a>`nftables::rules::llmnr`
660

    
661
allow incoming Link-Local Multicast Name Resolution
662

    
663
* **See also**
664
  * https://datatracker.ietf.org/doc/html/rfc4795
665

    
666
#### Parameters
667

    
668
The following parameters are available in the `nftables::rules::llmnr` class:
669

    
670
* [`ipv4`](#-nftables--rules--llmnr--ipv4)
671
* [`ipv6`](#-nftables--rules--llmnr--ipv6)
672

    
673
##### <a name="-nftables--rules--llmnr--ipv4"></a>`ipv4`
674

    
675
Data type: `Boolean`
676

    
677
Allow LLMNR over IPv4
678

    
679
Default value: `true`
680

    
681
##### <a name="-nftables--rules--llmnr--ipv6"></a>`ipv6`
682

    
683
Data type: `Boolean`
684

    
685
Allow LLMNR over IPv6
686

    
687
Default value: `true`
688

    
689
### <a name="nftables--rules--mdns"></a>`nftables::rules::mdns`
690

    
691
allow incoming multicast DNS
692

    
693
#### Parameters
694

    
695
The following parameters are available in the `nftables::rules::mdns` class:
696

    
697
* [`ipv4`](#-nftables--rules--mdns--ipv4)
698
* [`ipv6`](#-nftables--rules--mdns--ipv6)
699

    
700
##### <a name="-nftables--rules--mdns--ipv4"></a>`ipv4`
701

    
702
Data type: `Boolean`
703

    
704
Allow mdns over IPv4
705

    
706
Default value: `true`
707

    
708
##### <a name="-nftables--rules--mdns--ipv6"></a>`ipv6`
709

    
710
Data type: `Boolean`
711

    
712
Allow mdns over IPv6
713

    
714
Default value: `true`
715

    
716
### <a name="nftables--rules--multicast"></a>`nftables::rules::multicast`
717

    
718
allow incoming multicast traffic
719

    
720
### <a name="nftables--rules--nfs"></a>`nftables::rules::nfs`
721

    
722
manage in nfs4
723

    
724
### <a name="nftables--rules--nfs3"></a>`nftables::rules::nfs3`
725

    
726
manage in nfs3
727

    
728
### <a name="nftables--rules--node_exporter"></a>`nftables::rules::node_exporter`
729

    
730
manage in node exporter
731

    
732
#### Parameters
733

    
734
The following parameters are available in the `nftables::rules::node_exporter` class:
735

    
736
* [`prometheus_server`](#-nftables--rules--node_exporter--prometheus_server)
737
* [`port`](#-nftables--rules--node_exporter--port)
738

    
739
##### <a name="-nftables--rules--node_exporter--prometheus_server"></a>`prometheus_server`
740

    
741
Data type: `Optional[Variant[String,Array[String,1]]]`
742

    
743
Specify server name
744

    
745
Default value: `undef`
746

    
747
##### <a name="-nftables--rules--node_exporter--port"></a>`port`
748

    
749
Data type: `Stdlib::Port`
750

    
751
Specify port to open
752

    
753
Default value: `9100`
754

    
755
### <a name="nftables--rules--ospf"></a>`nftables::rules::ospf`
756

    
757
manage in ospf
758

    
759
### <a name="nftables--rules--ospf3"></a>`nftables::rules::ospf3`
760

    
761
manage in ospf3
762

    
763
### <a name="nftables--rules--out--active_directory"></a>`nftables::rules::out::active_directory`
764

    
765
manage outgoing active diectory
766

    
767
#### Parameters
768

    
769
The following parameters are available in the `nftables::rules::out::active_directory` class:
770

    
771
* [`adserver`](#-nftables--rules--out--active_directory--adserver)
772
* [`adserver_ports`](#-nftables--rules--out--active_directory--adserver_ports)
773

    
774
##### <a name="-nftables--rules--out--active_directory--adserver"></a>`adserver`
775

    
776
Data type: `Variant[Stdlib::IP::Address,Array[Stdlib::IP::Address,1]]`
777

    
778
adserver IPs
779

    
780
##### <a name="-nftables--rules--out--active_directory--adserver_ports"></a>`adserver_ports`
781

    
782
Data type: `Array[Stdlib::Port,1]`
783

    
784
adserver ports
785

    
786
Default value: `[389, 636, 3268, 3269]`
787

    
788
### <a name="nftables--rules--out--all"></a>`nftables::rules::out::all`
789

    
790
allow all outbound
791

    
792
### <a name="nftables--rules--out--ceph_client"></a>`nftables::rules::out::ceph_client`
793

    
794
Ceph is a distributed object store and file system.
795
Enable this to be a client of Ceph's Monitor (MON),
796
Object Storage Daemons (OSD), Metadata Server Daemons (MDS),
797
and Manager Daemons (MGR).
798

    
799
#### Parameters
800

    
801
The following parameters are available in the `nftables::rules::out::ceph_client` class:
802

    
803
* [`ports`](#-nftables--rules--out--ceph_client--ports)
804

    
805
##### <a name="-nftables--rules--out--ceph_client--ports"></a>`ports`
806

    
807
Data type: `Array[Stdlib::Port,1]`
808

    
809
Specify ports to open
810

    
811
Default value: `[3300, 6789]`
812

    
813
### <a name="nftables--rules--out--chrony"></a>`nftables::rules::out::chrony`
814

    
815
manage out chrony
816

    
817
#### Parameters
818

    
819
The following parameters are available in the `nftables::rules::out::chrony` class:
820

    
821
* [`servers`](#-nftables--rules--out--chrony--servers)
822

    
823
##### <a name="-nftables--rules--out--chrony--servers"></a>`servers`
824

    
825
Data type: `Array[Stdlib::IP::Address]`
826

    
827
single IP-Address or array of IP-addresses from NTP servers
828

    
829
Default value: `[]`
830

    
831
### <a name="nftables--rules--out--dhcp"></a>`nftables::rules::out::dhcp`
832

    
833
manage out dhcp
834

    
835
### <a name="nftables--rules--out--dhcpv6_client"></a>`nftables::rules::out::dhcpv6_client`
836

    
837
Allow DHCPv6 requests out of a host
838

    
839
### <a name="nftables--rules--out--dns"></a>`nftables::rules::out::dns`
840

    
841
manage out dns
842

    
843
#### Parameters
844

    
845
The following parameters are available in the `nftables::rules::out::dns` class:
846

    
847
* [`dns_server`](#-nftables--rules--out--dns--dns_server)
848

    
849
##### <a name="-nftables--rules--out--dns--dns_server"></a>`dns_server`
850

    
851
Data type: `Optional[Variant[String,Array[String,1]]]`
852

    
853
specify dns_server name
854

    
855
Default value: `undef`
856

    
857
### <a name="nftables--rules--out--hkp"></a>`nftables::rules::out::hkp`
858

    
859
allow outgoing hkp connections to gpg keyservers
860

    
861
### <a name="nftables--rules--out--http"></a>`nftables::rules::out::http`
862

    
863
manage out http
864

    
865
### <a name="nftables--rules--out--https"></a>`nftables::rules::out::https`
866

    
867
manage out https
868

    
869
### <a name="nftables--rules--out--icmp"></a>`nftables::rules::out::icmp`
870

    
871
control outbound icmp packages
872

    
873
#### Parameters
874

    
875
The following parameters are available in the `nftables::rules::out::icmp` class:
876

    
877
* [`v4_types`](#-nftables--rules--out--icmp--v4_types)
878
* [`v6_types`](#-nftables--rules--out--icmp--v6_types)
879
* [`order`](#-nftables--rules--out--icmp--order)
880

    
881
##### <a name="-nftables--rules--out--icmp--v4_types"></a>`v4_types`
882

    
883
Data type: `Optional[Array[String]]`
884

    
885

    
886

    
887
Default value: `undef`
888

    
889
##### <a name="-nftables--rules--out--icmp--v6_types"></a>`v6_types`
890

    
891
Data type: `Optional[Array[String]]`
892

    
893

    
894

    
895
Default value: `undef`
896

    
897
##### <a name="-nftables--rules--out--icmp--order"></a>`order`
898

    
899
Data type: `String`
900

    
901

    
902

    
903
Default value: `'10'`
904

    
905
### <a name="nftables--rules--out--igmp"></a>`nftables::rules::out::igmp`
906

    
907
allow outgoing IGMP messages
908

    
909
### <a name="nftables--rules--out--imap"></a>`nftables::rules::out::imap`
910

    
911
allow outgoing imap
912

    
913
### <a name="nftables--rules--out--kerberos"></a>`nftables::rules::out::kerberos`
914

    
915
allows outbound access for kerberos
916

    
917
### <a name="nftables--rules--out--ldap"></a>`nftables::rules::out::ldap`
918

    
919
manage outgoing ldap
920

    
921
#### Parameters
922

    
923
The following parameters are available in the `nftables::rules::out::ldap` class:
924

    
925
* [`ldapserver`](#-nftables--rules--out--ldap--ldapserver)
926
* [`ldapserver_ports`](#-nftables--rules--out--ldap--ldapserver_ports)
927

    
928
##### <a name="-nftables--rules--out--ldap--ldapserver"></a>`ldapserver`
929

    
930
Data type: `Variant[Stdlib::IP::Address,Array[Stdlib::IP::Address,1]]`
931

    
932
ldapserver IPs
933

    
934
##### <a name="-nftables--rules--out--ldap--ldapserver_ports"></a>`ldapserver_ports`
935

    
936
Data type: `Array[Stdlib::Port,1]`
937

    
938
ldapserver ports
939

    
940
Default value: `[389, 636]`
941

    
942
### <a name="nftables--rules--out--mdns"></a>`nftables::rules::out::mdns`
943

    
944
allow outgoing multicast DNS
945

    
946
#### Parameters
947

    
948
The following parameters are available in the `nftables::rules::out::mdns` class:
949

    
950
* [`ipv4`](#-nftables--rules--out--mdns--ipv4)
951
* [`ipv6`](#-nftables--rules--out--mdns--ipv6)
952

    
953
##### <a name="-nftables--rules--out--mdns--ipv4"></a>`ipv4`
954

    
955
Data type: `Boolean`
956

    
957
Allow mdns over IPv4
958

    
959
Default value: `true`
960

    
961
##### <a name="-nftables--rules--out--mdns--ipv6"></a>`ipv6`
962

    
963
Data type: `Boolean`
964

    
965
Allow mdns over IPv6
966

    
967
Default value: `true`
968

    
969
### <a name="nftables--rules--out--mldv2"></a>`nftables::rules::out::mldv2`
970

    
971
allow multicast listener requests
972

    
973
### <a name="nftables--rules--out--mysql"></a>`nftables::rules::out::mysql`
974

    
975
manage out mysql
976

    
977
### <a name="nftables--rules--out--nfs"></a>`nftables::rules::out::nfs`
978

    
979
manage out nfs
980

    
981
### <a name="nftables--rules--out--nfs3"></a>`nftables::rules::out::nfs3`
982

    
983
manage out nfs3
984

    
985
### <a name="nftables--rules--out--openafs_client"></a>`nftables::rules::out::openafs_client`
986

    
987
allows outbound access for afs clients
988
7000 - afs3-fileserver
989
7002 - afs3-ptserver
990
7003 - vlserver
991

    
992
* **See also**
993
  * https://wiki.openafs.org/devel/AFSServicePorts/
994
    * AFS Service Ports
995

    
996
#### Parameters
997

    
998
The following parameters are available in the `nftables::rules::out::openafs_client` class:
999

    
1000
* [`ports`](#-nftables--rules--out--openafs_client--ports)
1001

    
1002
##### <a name="-nftables--rules--out--openafs_client--ports"></a>`ports`
1003

    
1004
Data type: `Array[Stdlib::Port,1]`
1005

    
1006
port numbers to use
1007

    
1008
Default value: `[7000, 7002, 7003]`
1009

    
1010
### <a name="nftables--rules--out--ospf"></a>`nftables::rules::out::ospf`
1011

    
1012
manage out ospf
1013

    
1014
### <a name="nftables--rules--out--ospf3"></a>`nftables::rules::out::ospf3`
1015

    
1016
manage out ospf3
1017

    
1018
### <a name="nftables--rules--out--pop3"></a>`nftables::rules::out::pop3`
1019

    
1020
allow outgoing pop3
1021

    
1022
### <a name="nftables--rules--out--postgres"></a>`nftables::rules::out::postgres`
1023

    
1024
manage out postgres
1025

    
1026
### <a name="nftables--rules--out--puppet"></a>`nftables::rules::out::puppet`
1027

    
1028
manage outgoing puppet
1029

    
1030
#### Parameters
1031

    
1032
The following parameters are available in the `nftables::rules::out::puppet` class:
1033

    
1034
* [`puppetserver`](#-nftables--rules--out--puppet--puppetserver)
1035
* [`puppetserver_port`](#-nftables--rules--out--puppet--puppetserver_port)
1036

    
1037
##### <a name="-nftables--rules--out--puppet--puppetserver"></a>`puppetserver`
1038

    
1039
Data type: `Variant[Stdlib::IP::Address,Array[Stdlib::IP::Address,1]]`
1040

    
1041
puppetserver hostname
1042

    
1043
##### <a name="-nftables--rules--out--puppet--puppetserver_port"></a>`puppetserver_port`
1044

    
1045
Data type: `Stdlib::Port`
1046

    
1047
puppetserver port
1048

    
1049
Default value: `8140`
1050

    
1051
### <a name="nftables--rules--out--pxp_agent"></a>`nftables::rules::out::pxp_agent`
1052

    
1053
manage outgoing pxp-agent
1054

    
1055
* **See also**
1056
  * also
1057
    * take a look at nftables::rules::out::puppet, because the PXP agent also connects to a Puppetserver
1058

    
1059
#### Parameters
1060

    
1061
The following parameters are available in the `nftables::rules::out::pxp_agent` class:
1062

    
1063
* [`broker`](#-nftables--rules--out--pxp_agent--broker)
1064
* [`broker_port`](#-nftables--rules--out--pxp_agent--broker_port)
1065

    
1066
##### <a name="-nftables--rules--out--pxp_agent--broker"></a>`broker`
1067

    
1068
Data type: `Variant[Stdlib::IP::Address,Array[Stdlib::IP::Address,1]]`
1069

    
1070
PXP broker IP(s)
1071

    
1072
##### <a name="-nftables--rules--out--pxp_agent--broker_port"></a>`broker_port`
1073

    
1074
Data type: `Stdlib::Port`
1075

    
1076
PXP broker port
1077

    
1078
Default value: `8142`
1079

    
1080
### <a name="nftables--rules--out--smtp"></a>`nftables::rules::out::smtp`
1081

    
1082
allow outgoing smtp
1083

    
1084
### <a name="nftables--rules--out--smtp_client"></a>`nftables::rules::out::smtp_client`
1085

    
1086
allow outgoing smtp client
1087

    
1088
### <a name="nftables--rules--out--ssh"></a>`nftables::rules::out::ssh`
1089

    
1090
manage out ssh
1091

    
1092
### <a name="nftables--rules--out--ssh--remove"></a>`nftables::rules::out::ssh::remove`
1093

    
1094
disable outgoing ssh
1095

    
1096
### <a name="nftables--rules--out--tor"></a>`nftables::rules::out::tor`
1097

    
1098
manage out tor
1099

    
1100
### <a name="nftables--rules--out--whois"></a>`nftables::rules::out::whois`
1101

    
1102
allow clients to query remote whois server
1103

    
1104
### <a name="nftables--rules--out--wireguard"></a>`nftables::rules::out::wireguard`
1105

    
1106
manage out wireguard
1107

    
1108
#### Parameters
1109

    
1110
The following parameters are available in the `nftables::rules::out::wireguard` class:
1111

    
1112
* [`ports`](#-nftables--rules--out--wireguard--ports)
1113

    
1114
##### <a name="-nftables--rules--out--wireguard--ports"></a>`ports`
1115

    
1116
Data type: `Array[Integer,1]`
1117

    
1118
specify wireguard ports
1119

    
1120
Default value: `[51820]`
1121

    
1122
### <a name="nftables--rules--puppet"></a>`nftables::rules::puppet`
1123

    
1124
manage in puppet
1125

    
1126
#### Parameters
1127

    
1128
The following parameters are available in the `nftables::rules::puppet` class:
1129

    
1130
* [`ports`](#-nftables--rules--puppet--ports)
1131

    
1132
##### <a name="-nftables--rules--puppet--ports"></a>`ports`
1133

    
1134
Data type: `Array[Integer,1]`
1135

    
1136
puppet server ports
1137

    
1138
Default value: `[8140]`
1139

    
1140
### <a name="nftables--rules--pxp_agent"></a>`nftables::rules::pxp_agent`
1141

    
1142
manage in pxp-agent
1143

    
1144
#### Parameters
1145

    
1146
The following parameters are available in the `nftables::rules::pxp_agent` class:
1147

    
1148
* [`ports`](#-nftables--rules--pxp_agent--ports)
1149

    
1150
##### <a name="-nftables--rules--pxp_agent--ports"></a>`ports`
1151

    
1152
Data type: `Array[Stdlib::Port,1]`
1153

    
1154
pxp server ports
1155

    
1156
Default value: `[8142]`
1157

    
1158
### <a name="nftables--rules--qemu"></a>`nftables::rules::qemu`
1159

    
1160
This class configures the typical firewall setup that libvirt
1161
creates. Depending on your requirements you can switch on and off
1162
several aspects, for instance if you don't do DHCP to your guests
1163
you can disable the rules that accept DHCP traffic on the host or if
1164
you don't want your guests to talk to hosts outside you can disable
1165
forwarding and/or masquerading for IPv4 traffic.
1166

    
1167
#### Parameters
1168

    
1169
The following parameters are available in the `nftables::rules::qemu` class:
1170

    
1171
* [`interface`](#-nftables--rules--qemu--interface)
1172
* [`network_v4`](#-nftables--rules--qemu--network_v4)
1173
* [`network_v6`](#-nftables--rules--qemu--network_v6)
1174
* [`dns`](#-nftables--rules--qemu--dns)
1175
* [`dhcpv4`](#-nftables--rules--qemu--dhcpv4)
1176
* [`forward_traffic`](#-nftables--rules--qemu--forward_traffic)
1177
* [`internal_traffic`](#-nftables--rules--qemu--internal_traffic)
1178
* [`masquerade`](#-nftables--rules--qemu--masquerade)
1179

    
1180
##### <a name="-nftables--rules--qemu--interface"></a>`interface`
1181

    
1182
Data type: `String[1]`
1183

    
1184
Interface name used by the bridge.
1185

    
1186
Default value: `'virbr0'`
1187

    
1188
##### <a name="-nftables--rules--qemu--network_v4"></a>`network_v4`
1189

    
1190
Data type: `Stdlib::IP::Address::V4::CIDR`
1191

    
1192
The IPv4 network prefix used in the virtual network.
1193

    
1194
Default value: `'192.168.122.0/24'`
1195

    
1196
##### <a name="-nftables--rules--qemu--network_v6"></a>`network_v6`
1197

    
1198
Data type: `Optional[Stdlib::IP::Address::V6::CIDR]`
1199

    
1200
The IPv6 network prefix used in the virtual network.
1201

    
1202
Default value: `undef`
1203

    
1204
##### <a name="-nftables--rules--qemu--dns"></a>`dns`
1205

    
1206
Data type: `Boolean`
1207

    
1208
Allow DNS traffic from the guests to the host.
1209

    
1210
Default value: `true`
1211

    
1212
##### <a name="-nftables--rules--qemu--dhcpv4"></a>`dhcpv4`
1213

    
1214
Data type: `Boolean`
1215

    
1216
Allow DHCPv4 traffic from the guests to the host.
1217

    
1218
Default value: `true`
1219

    
1220
##### <a name="-nftables--rules--qemu--forward_traffic"></a>`forward_traffic`
1221

    
1222
Data type: `Boolean`
1223

    
1224
Allow forwarded traffic (out all, in related/established)
1225
generated by the virtual network.
1226

    
1227
Default value: `true`
1228

    
1229
##### <a name="-nftables--rules--qemu--internal_traffic"></a>`internal_traffic`
1230

    
1231
Data type: `Boolean`
1232

    
1233
Allow guests in the virtual network to talk to each other.
1234

    
1235
Default value: `true`
1236

    
1237
##### <a name="-nftables--rules--qemu--masquerade"></a>`masquerade`
1238

    
1239
Data type: `Boolean`
1240

    
1241
Do NAT masquerade on all IPv4 traffic generated by guests
1242
to external networks.
1243

    
1244
Default value: `true`
1245

    
1246
### <a name="nftables--rules--samba"></a>`nftables::rules::samba`
1247

    
1248
manage Samba, the suite to allow Windows file sharing on Linux resources.
1249

    
1250
#### Parameters
1251

    
1252
The following parameters are available in the `nftables::rules::samba` class:
1253

    
1254
* [`ctdb`](#-nftables--rules--samba--ctdb)
1255

    
1256
##### <a name="-nftables--rules--samba--ctdb"></a>`ctdb`
1257

    
1258
Data type: `Boolean`
1259

    
1260
Enable ctdb-driven clustered Samba setups.
1261

    
1262
Default value: `false`
1263

    
1264
### <a name="nftables--rules--smtp"></a>`nftables::rules::smtp`
1265

    
1266
manage in smtp
1267

    
1268
### <a name="nftables--rules--smtp_submission"></a>`nftables::rules::smtp_submission`
1269

    
1270
manage in smtp submission
1271

    
1272
### <a name="nftables--rules--smtps"></a>`nftables::rules::smtps`
1273

    
1274
manage in smtps
1275

    
1276
### <a name="nftables--rules--spotify"></a>`nftables::rules::spotify`
1277

    
1278
allow incoming spotify
1279

    
1280
### <a name="nftables--rules--ssh"></a>`nftables::rules::ssh`
1281

    
1282
manage in ssh
1283

    
1284
#### Parameters
1285

    
1286
The following parameters are available in the `nftables::rules::ssh` class:
1287

    
1288
* [`ports`](#-nftables--rules--ssh--ports)
1289

    
1290
##### <a name="-nftables--rules--ssh--ports"></a>`ports`
1291

    
1292
Data type: `Array[Stdlib::Port,1]`
1293

    
1294
ssh ports
1295

    
1296
Default value: `[22]`
1297

    
1298
### <a name="nftables--rules--tor"></a>`nftables::rules::tor`
1299

    
1300
manage in tor
1301

    
1302
#### Parameters
1303

    
1304
The following parameters are available in the `nftables::rules::tor` class:
1305

    
1306
* [`ports`](#-nftables--rules--tor--ports)
1307

    
1308
##### <a name="-nftables--rules--tor--ports"></a>`ports`
1309

    
1310
Data type: `Array[Stdlib::Port,1]`
1311

    
1312
ports for tor
1313

    
1314
Default value: `[9001]`
1315

    
1316
### <a name="nftables--rules--wireguard"></a>`nftables::rules::wireguard`
1317

    
1318
manage in wireguard
1319

    
1320
#### Parameters
1321

    
1322
The following parameters are available in the `nftables::rules::wireguard` class:
1323

    
1324
* [`ports`](#-nftables--rules--wireguard--ports)
1325

    
1326
##### <a name="-nftables--rules--wireguard--ports"></a>`ports`
1327

    
1328
Data type: `Array[Stdlib::Port,1]`
1329

    
1330
wiregueard port
1331

    
1332
Default value: `[51820]`
1333

    
1334
### <a name="nftables--services--dhcpv6_client"></a>`nftables::services::dhcpv6_client`
1335

    
1336
Allow in and outbound traffic for DHCPv6 server
1337

    
1338
### <a name="nftables--services--openafs_client"></a>`nftables::services::openafs_client`
1339

    
1340
Open inbound and outbound ports for an AFS client
1341

    
1342
## Defined types
1343

    
1344
### <a name="nftables--chain"></a>`nftables::chain`
1345

    
1346
manage a chain
1347

    
1348
#### Parameters
1349

    
1350
The following parameters are available in the `nftables::chain` defined type:
1351

    
1352
* [`table`](#-nftables--chain--table)
1353
* [`chain`](#-nftables--chain--chain)
1354
* [`inject`](#-nftables--chain--inject)
1355
* [`inject_iif`](#-nftables--chain--inject_iif)
1356
* [`inject_oif`](#-nftables--chain--inject_oif)
1357

    
1358
##### <a name="-nftables--chain--table"></a>`table`
1359

    
1360
Data type: `Pattern[/^(ip|ip6|inet|netdev|bridge)-[a-zA-Z0-9_]+$/]`
1361

    
1362

    
1363

    
1364
Default value: `'inet-filter'`
1365

    
1366
##### <a name="-nftables--chain--chain"></a>`chain`
1367

    
1368
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
1369

    
1370

    
1371

    
1372
Default value: `$title`
1373

    
1374
##### <a name="-nftables--chain--inject"></a>`inject`
1375

    
1376
Data type: `Optional[Pattern[/^\d\d-[a-zA-Z0-9_]+$/]]`
1377

    
1378

    
1379

    
1380
Default value: `undef`
1381

    
1382
##### <a name="-nftables--chain--inject_iif"></a>`inject_iif`
1383

    
1384
Data type: `Optional[String]`
1385

    
1386

    
1387

    
1388
Default value: `undef`
1389

    
1390
##### <a name="-nftables--chain--inject_oif"></a>`inject_oif`
1391

    
1392
Data type: `Optional[String]`
1393

    
1394

    
1395

    
1396
Default value: `undef`
1397

    
1398
### <a name="nftables--config"></a>`nftables::config`
1399

    
1400
manage a config snippet
1401

    
1402
#### Parameters
1403

    
1404
The following parameters are available in the `nftables::config` defined type:
1405

    
1406
* [`tablespec`](#-nftables--config--tablespec)
1407
* [`content`](#-nftables--config--content)
1408
* [`source`](#-nftables--config--source)
1409
* [`prefix`](#-nftables--config--prefix)
1410

    
1411
##### <a name="-nftables--config--tablespec"></a>`tablespec`
1412

    
1413
Data type: `Pattern[/^\w+-\w+$/]`
1414

    
1415

    
1416

    
1417
Default value: `$title`
1418

    
1419
##### <a name="-nftables--config--content"></a>`content`
1420

    
1421
Data type: `Optional[String]`
1422

    
1423

    
1424

    
1425
Default value: `undef`
1426

    
1427
##### <a name="-nftables--config--source"></a>`source`
1428

    
1429
Data type: `Optional[Variant[String,Array[String,1]]]`
1430

    
1431

    
1432

    
1433
Default value: `undef`
1434

    
1435
##### <a name="-nftables--config--prefix"></a>`prefix`
1436

    
1437
Data type: `String`
1438

    
1439

    
1440

    
1441
Default value: `'custom-'`
1442

    
1443
### <a name="nftables--file"></a>`nftables::file`
1444

    
1445
Insert a file into the nftables configuration
1446

    
1447
#### Examples
1448

    
1449
##### Include a file that includes other files
1450

    
1451
```puppet
1452
nftables::file{'geoip':
1453
  content => @(EOT)
1454
    include "/var/local/geoipsets/dbip/nftset/ipv4/*.ipv4"
1455
    include "/var/local/geoipsets/dbip/nftset/ipv6/*.ipv6"
1456
    |EOT,
1457
}
1458
```
1459

    
1460
#### Parameters
1461

    
1462
The following parameters are available in the `nftables::file` defined type:
1463

    
1464
* [`label`](#-nftables--file--label)
1465
* [`content`](#-nftables--file--content)
1466
* [`source`](#-nftables--file--source)
1467
* [`prefix`](#-nftables--file--prefix)
1468

    
1469
##### <a name="-nftables--file--label"></a>`label`
1470

    
1471
Data type: `String[1]`
1472

    
1473
Unique name to include in filename.
1474

    
1475
Default value: `$title`
1476

    
1477
##### <a name="-nftables--file--content"></a>`content`
1478

    
1479
Data type: `Optional[String]`
1480

    
1481
The content to place in the file.
1482

    
1483
Default value: `undef`
1484

    
1485
##### <a name="-nftables--file--source"></a>`source`
1486

    
1487
Data type: `Optional[Variant[String,Array[String,1]]]`
1488

    
1489
A source to obtain the file content from.
1490

    
1491
Default value: `undef`
1492

    
1493
##### <a name="-nftables--file--prefix"></a>`prefix`
1494

    
1495
Data type: `String`
1496

    
1497
Prefix of file name to be created, if left as `file-` it will be
1498
auto included in the main nft configuration
1499

    
1500
Default value: `'file-'`
1501

    
1502
### <a name="nftables--rule"></a>`nftables::rule`
1503

    
1504
Provides an interface to create a firewall rule
1505

    
1506
#### Examples
1507

    
1508
##### add a rule named 'myhttp' to the 'default_in' chain to allow incoming traffic to TCP port 80
1509

    
1510
```puppet
1511
nftables::rule {
1512
  'default_in-myhttp':
1513
    content => 'tcp dport 80 accept',
1514
}
1515
```
1516

    
1517
##### add a rule named 'count' to the 'PREROUTING6' chain in table 'ip6 nat' to count traffic
1518

    
1519
```puppet
1520
nftables::rule {
1521
  'PREROUTING6-count':
1522
    content => 'counter',
1523
    table   => 'ip6-nat'
1524
}
1525
```
1526

    
1527
#### Parameters
1528

    
1529
The following parameters are available in the `nftables::rule` defined type:
1530

    
1531
* [`ensure`](#-nftables--rule--ensure)
1532
* [`rulename`](#-nftables--rule--rulename)
1533
* [`order`](#-nftables--rule--order)
1534
* [`table`](#-nftables--rule--table)
1535
* [`content`](#-nftables--rule--content)
1536
* [`source`](#-nftables--rule--source)
1537

    
1538
##### <a name="-nftables--rule--ensure"></a>`ensure`
1539

    
1540
Data type: `Enum['present','absent']`
1541

    
1542
Should the rule be created.
1543

    
1544
Default value: `'present'`
1545

    
1546
##### <a name="-nftables--rule--rulename"></a>`rulename`
1547

    
1548
Data type: `Nftables::RuleName`
1549

    
1550
The symbolic name for the rule and to what chain to add it. The
1551
format is defined by the Nftables::RuleName type.
1552

    
1553
Default value: `$title`
1554

    
1555
##### <a name="-nftables--rule--order"></a>`order`
1556

    
1557
Data type: `Pattern[/^\d\d$/]`
1558

    
1559
A number representing the order of the rule.
1560

    
1561
Default value: `'50'`
1562

    
1563
##### <a name="-nftables--rule--table"></a>`table`
1564

    
1565
Data type: `String`
1566

    
1567
The name of the table to add this rule to.
1568

    
1569
Default value: `'inet-filter'`
1570

    
1571
##### <a name="-nftables--rule--content"></a>`content`
1572

    
1573
Data type: `Optional[String]`
1574

    
1575
The raw statements that compose the rule represented using the nftables
1576
language.
1577

    
1578
Default value: `undef`
1579

    
1580
##### <a name="-nftables--rule--source"></a>`source`
1581

    
1582
Data type: `Optional[Variant[String,Array[String,1]]]`
1583

    
1584
Same goal as content but sourcing the value from a file.
1585

    
1586
Default value: `undef`
1587

    
1588
### <a name="nftables--rules--dnat4"></a>`nftables::rules::dnat4`
1589

    
1590
manage a ipv4 dnat rule
1591

    
1592
#### Parameters
1593

    
1594
The following parameters are available in the `nftables::rules::dnat4` defined type:
1595

    
1596
* [`daddr`](#-nftables--rules--dnat4--daddr)
1597
* [`port`](#-nftables--rules--dnat4--port)
1598
* [`rulename`](#-nftables--rules--dnat4--rulename)
1599
* [`order`](#-nftables--rules--dnat4--order)
1600
* [`chain`](#-nftables--rules--dnat4--chain)
1601
* [`iif`](#-nftables--rules--dnat4--iif)
1602
* [`proto`](#-nftables--rules--dnat4--proto)
1603
* [`dport`](#-nftables--rules--dnat4--dport)
1604
* [`ensure`](#-nftables--rules--dnat4--ensure)
1605

    
1606
##### <a name="-nftables--rules--dnat4--daddr"></a>`daddr`
1607

    
1608
Data type: `Pattern[/^[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}\.[12]?\d{1,2}$/]`
1609

    
1610

    
1611

    
1612
##### <a name="-nftables--rules--dnat4--port"></a>`port`
1613

    
1614
Data type: `Variant[String,Stdlib::Port]`
1615

    
1616

    
1617

    
1618
##### <a name="-nftables--rules--dnat4--rulename"></a>`rulename`
1619

    
1620
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
1621

    
1622

    
1623

    
1624
Default value: `$title`
1625

    
1626
##### <a name="-nftables--rules--dnat4--order"></a>`order`
1627

    
1628
Data type: `Pattern[/^\d\d$/]`
1629

    
1630

    
1631

    
1632
Default value: `'50'`
1633

    
1634
##### <a name="-nftables--rules--dnat4--chain"></a>`chain`
1635

    
1636
Data type: `String[1]`
1637

    
1638

    
1639

    
1640
Default value: `'default_fwd'`
1641

    
1642
##### <a name="-nftables--rules--dnat4--iif"></a>`iif`
1643

    
1644
Data type: `Optional[String[1]]`
1645

    
1646

    
1647

    
1648
Default value: `undef`
1649

    
1650
##### <a name="-nftables--rules--dnat4--proto"></a>`proto`
1651

    
1652
Data type: `Enum['tcp','udp']`
1653

    
1654

    
1655

    
1656
Default value: `'tcp'`
1657

    
1658
##### <a name="-nftables--rules--dnat4--dport"></a>`dport`
1659

    
1660
Data type: `Optional[Variant[String,Stdlib::Port]]`
1661

    
1662

    
1663

    
1664
Default value: `undef`
1665

    
1666
##### <a name="-nftables--rules--dnat4--ensure"></a>`ensure`
1667

    
1668
Data type: `Enum['present','absent']`
1669

    
1670

    
1671

    
1672
Default value: `'present'`
1673

    
1674
### <a name="nftables--rules--masquerade"></a>`nftables::rules::masquerade`
1675

    
1676
masquerade all outgoing traffic
1677

    
1678
#### Parameters
1679

    
1680
The following parameters are available in the `nftables::rules::masquerade` defined type:
1681

    
1682
* [`rulename`](#-nftables--rules--masquerade--rulename)
1683
* [`order`](#-nftables--rules--masquerade--order)
1684
* [`chain`](#-nftables--rules--masquerade--chain)
1685
* [`oif`](#-nftables--rules--masquerade--oif)
1686
* [`saddr`](#-nftables--rules--masquerade--saddr)
1687
* [`daddr`](#-nftables--rules--masquerade--daddr)
1688
* [`proto`](#-nftables--rules--masquerade--proto)
1689
* [`dport`](#-nftables--rules--masquerade--dport)
1690
* [`ensure`](#-nftables--rules--masquerade--ensure)
1691

    
1692
##### <a name="-nftables--rules--masquerade--rulename"></a>`rulename`
1693

    
1694
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
1695

    
1696

    
1697

    
1698
Default value: `$title`
1699

    
1700
##### <a name="-nftables--rules--masquerade--order"></a>`order`
1701

    
1702
Data type: `Pattern[/^\d\d$/]`
1703

    
1704

    
1705

    
1706
Default value: `'70'`
1707

    
1708
##### <a name="-nftables--rules--masquerade--chain"></a>`chain`
1709

    
1710
Data type: `String[1]`
1711

    
1712

    
1713

    
1714
Default value: `'POSTROUTING'`
1715

    
1716
##### <a name="-nftables--rules--masquerade--oif"></a>`oif`
1717

    
1718
Data type: `Optional[String[1]]`
1719

    
1720

    
1721

    
1722
Default value: `undef`
1723

    
1724
##### <a name="-nftables--rules--masquerade--saddr"></a>`saddr`
1725

    
1726
Data type: `Optional[String[1]]`
1727

    
1728

    
1729

    
1730
Default value: `undef`
1731

    
1732
##### <a name="-nftables--rules--masquerade--daddr"></a>`daddr`
1733

    
1734
Data type: `Optional[String[1]]`
1735

    
1736

    
1737

    
1738
Default value: `undef`
1739

    
1740
##### <a name="-nftables--rules--masquerade--proto"></a>`proto`
1741

    
1742
Data type: `Optional[Enum['tcp','udp']]`
1743

    
1744

    
1745

    
1746
Default value: `undef`
1747

    
1748
##### <a name="-nftables--rules--masquerade--dport"></a>`dport`
1749

    
1750
Data type: `Optional[Variant[String,Stdlib::Port]]`
1751

    
1752

    
1753

    
1754
Default value: `undef`
1755

    
1756
##### <a name="-nftables--rules--masquerade--ensure"></a>`ensure`
1757

    
1758
Data type: `Enum['present','absent']`
1759

    
1760

    
1761

    
1762
Default value: `'present'`
1763

    
1764
### <a name="nftables--rules--snat4"></a>`nftables::rules::snat4`
1765

    
1766
manage a ipv4 snat rule
1767

    
1768
#### Parameters
1769

    
1770
The following parameters are available in the `nftables::rules::snat4` defined type:
1771

    
1772
* [`snat`](#-nftables--rules--snat4--snat)
1773
* [`rulename`](#-nftables--rules--snat4--rulename)
1774
* [`order`](#-nftables--rules--snat4--order)
1775
* [`chain`](#-nftables--rules--snat4--chain)
1776
* [`oif`](#-nftables--rules--snat4--oif)
1777
* [`saddr`](#-nftables--rules--snat4--saddr)
1778
* [`proto`](#-nftables--rules--snat4--proto)
1779
* [`dport`](#-nftables--rules--snat4--dport)
1780
* [`ensure`](#-nftables--rules--snat4--ensure)
1781

    
1782
##### <a name="-nftables--rules--snat4--snat"></a>`snat`
1783

    
1784
Data type: `String[1]`
1785

    
1786

    
1787

    
1788
##### <a name="-nftables--rules--snat4--rulename"></a>`rulename`
1789

    
1790
Data type: `Pattern[/^[a-zA-Z0-9_]+$/]`
1791

    
1792

    
1793

    
1794
Default value: `$title`
1795

    
1796
##### <a name="-nftables--rules--snat4--order"></a>`order`
1797

    
1798
Data type: `Pattern[/^\d\d$/]`
1799

    
1800

    
1801

    
1802
Default value: `'70'`
1803

    
1804
##### <a name="-nftables--rules--snat4--chain"></a>`chain`
1805

    
1806
Data type: `String[1]`
1807

    
1808

    
1809

    
1810
Default value: `'POSTROUTING'`
1811

    
1812
##### <a name="-nftables--rules--snat4--oif"></a>`oif`
1813

    
1814
Data type: `Optional[String[1]]`
1815

    
1816

    
1817

    
1818
Default value: `undef`
1819

    
1820
##### <a name="-nftables--rules--snat4--saddr"></a>`saddr`
1821

    
1822
Data type: `Optional[String[1]]`
1823

    
1824

    
1825

    
1826
Default value: `undef`
1827

    
1828
##### <a name="-nftables--rules--snat4--proto"></a>`proto`
1829

    
1830
Data type: `Optional[Enum['tcp','udp']]`
1831

    
1832

    
1833

    
1834
Default value: `undef`
1835

    
1836
##### <a name="-nftables--rules--snat4--dport"></a>`dport`
1837

    
1838
Data type: `Optional[Variant[String,Stdlib::Port]]`
1839

    
1840

    
1841

    
1842
Default value: `undef`
1843

    
1844
##### <a name="-nftables--rules--snat4--ensure"></a>`ensure`
1845

    
1846
Data type: `Enum['present','absent']`
1847

    
1848

    
1849

    
1850
Default value: `'present'`
1851

    
1852
### <a name="nftables--set"></a>`nftables::set`
1853

    
1854
manage a named set
1855

    
1856
#### Examples
1857

    
1858
##### simple set
1859

    
1860
```puppet
1861
nftables::set{'my_set':
1862
  type       => 'ipv4_addr',
1863
  flags      => ['interval'],
1864
  elements   => ['192.168.0.1/24', '10.0.0.2'],
1865
  auto_merge => true,
1866
}
1867
```
1868

    
1869
#### Parameters
1870

    
1871
The following parameters are available in the `nftables::set` defined type:
1872

    
1873
* [`ensure`](#-nftables--set--ensure)
1874
* [`setname`](#-nftables--set--setname)
1875
* [`order`](#-nftables--set--order)
1876
* [`type`](#-nftables--set--type)
1877
* [`table`](#-nftables--set--table)
1878
* [`flags`](#-nftables--set--flags)
1879
* [`timeout`](#-nftables--set--timeout)
1880
* [`gc_interval`](#-nftables--set--gc_interval)
1881
* [`elements`](#-nftables--set--elements)
1882
* [`size`](#-nftables--set--size)
1883
* [`policy`](#-nftables--set--policy)
1884
* [`auto_merge`](#-nftables--set--auto_merge)
1885
* [`content`](#-nftables--set--content)
1886
* [`source`](#-nftables--set--source)
1887

    
1888
##### <a name="-nftables--set--ensure"></a>`ensure`
1889

    
1890
Data type: `Enum['present','absent']`
1891

    
1892
should the set be created.
1893

    
1894
Default value: `'present'`
1895

    
1896
##### <a name="-nftables--set--setname"></a>`setname`
1897

    
1898
Data type: `Pattern[/^[-a-zA-Z0-9_]+$/]`
1899

    
1900
name of set, equal to to title.
1901

    
1902
Default value: `$title`
1903

    
1904
##### <a name="-nftables--set--order"></a>`order`
1905

    
1906
Data type: `Pattern[/^\d\d$/]`
1907

    
1908
concat ordering.
1909

    
1910
Default value: `'10'`
1911

    
1912
##### <a name="-nftables--set--type"></a>`type`
1913

    
1914
Data type: `Optional[Enum['ipv4_addr', 'ipv6_addr', 'ether_addr', 'inet_proto', 'inet_service', 'mark']]`
1915

    
1916
type of set.
1917

    
1918
Default value: `undef`
1919

    
1920
##### <a name="-nftables--set--table"></a>`table`
1921

    
1922
Data type: `Variant[String, Array[String, 1]]`
1923

    
1924
table or array of tables to add the set to.
1925

    
1926
Default value: `'inet-filter'`
1927

    
1928
##### <a name="-nftables--set--flags"></a>`flags`
1929

    
1930
Data type: `Array[Enum['constant', 'dynamic', 'interval', 'timeout'], 0, 4]`
1931

    
1932
specify flags for set
1933

    
1934
Default value: `[]`
1935

    
1936
##### <a name="-nftables--set--timeout"></a>`timeout`
1937

    
1938
Data type: `Optional[Integer]`
1939

    
1940
timeout in seconds
1941

    
1942
Default value: `undef`
1943

    
1944
##### <a name="-nftables--set--gc_interval"></a>`gc_interval`
1945

    
1946
Data type: `Optional[Integer]`
1947

    
1948
garbage collection interval.
1949

    
1950
Default value: `undef`
1951

    
1952
##### <a name="-nftables--set--elements"></a>`elements`
1953

    
1954
Data type: `Optional[Array[String]]`
1955

    
1956
initialize the set with some elements in it.
1957

    
1958
Default value: `undef`
1959

    
1960
##### <a name="-nftables--set--size"></a>`size`
1961

    
1962
Data type: `Optional[Integer]`
1963

    
1964
limits the maximum number of elements of the set.
1965

    
1966
Default value: `undef`
1967

    
1968
##### <a name="-nftables--set--policy"></a>`policy`
1969

    
1970
Data type: `Optional[Enum['performance', 'memory']]`
1971

    
1972
determines set selection policy.
1973

    
1974
Default value: `undef`
1975

    
1976
##### <a name="-nftables--set--auto_merge"></a>`auto_merge`
1977

    
1978
Data type: `Boolean`
1979

    
1980
?
1981

    
1982
Default value: `false`
1983

    
1984
##### <a name="-nftables--set--content"></a>`content`
1985

    
1986
Data type: `Optional[String]`
1987

    
1988
specify content of set.
1989

    
1990
Default value: `undef`
1991

    
1992
##### <a name="-nftables--set--source"></a>`source`
1993

    
1994
Data type: `Optional[Variant[String,Array[String,1]]]`
1995

    
1996
specify source of set.
1997

    
1998
Default value: `undef`
1999

    
2000
### <a name="nftables--simplerule"></a>`nftables::simplerule`
2001

    
2002
Provides a simplified interface to nftables::rule
2003

    
2004
#### Examples
2005

    
2006
##### allow incoming traffic from port 541 on port 543 TCP to a given IP range and count packets
2007

    
2008
```puppet
2009
nftables::simplerule{'my_service_in':
2010
  action  => 'accept',
2011
  comment => 'allow traffic to port 543',
2012
  counter => true,
2013
  proto   => 'tcp',
2014
  dport   => 543,
2015
  daddr   => '2001:1458::/32',
2016
  sport   => 541,
2017
}
2018
```
2019

    
2020
#### Parameters
2021

    
2022
The following parameters are available in the `nftables::simplerule` defined type:
2023

    
2024
* [`ensure`](#-nftables--simplerule--ensure)
2025
* [`rulename`](#-nftables--simplerule--rulename)
2026
* [`order`](#-nftables--simplerule--order)
2027
* [`chain`](#-nftables--simplerule--chain)
2028
* [`table`](#-nftables--simplerule--table)
2029
* [`action`](#-nftables--simplerule--action)
2030
* [`comment`](#-nftables--simplerule--comment)
2031
* [`dport`](#-nftables--simplerule--dport)
2032
* [`proto`](#-nftables--simplerule--proto)
2033
* [`daddr`](#-nftables--simplerule--daddr)
2034
* [`set_type`](#-nftables--simplerule--set_type)
2035
* [`sport`](#-nftables--simplerule--sport)
2036
* [`saddr`](#-nftables--simplerule--saddr)
2037
* [`counter`](#-nftables--simplerule--counter)
2038

    
2039
##### <a name="-nftables--simplerule--ensure"></a>`ensure`
2040

    
2041
Data type: `Enum['present','absent']`
2042

    
2043
Should the rule be created.
2044

    
2045
Default value: `'present'`
2046

    
2047
##### <a name="-nftables--simplerule--rulename"></a>`rulename`
2048

    
2049
Data type: `Nftables::SimpleRuleName`
2050

    
2051
The symbolic name for the rule to add. Defaults to the resource's title.
2052

    
2053
Default value: `$title`
2054

    
2055
##### <a name="-nftables--simplerule--order"></a>`order`
2056

    
2057
Data type: `Pattern[/^\d\d$/]`
2058

    
2059
A number representing the order of the rule.
2060

    
2061
Default value: `'50'`
2062

    
2063
##### <a name="-nftables--simplerule--chain"></a>`chain`
2064

    
2065
Data type: `String`
2066

    
2067
The name of the chain to add this rule to.
2068

    
2069
Default value: `'default_in'`
2070

    
2071
##### <a name="-nftables--simplerule--table"></a>`table`
2072

    
2073
Data type: `String`
2074

    
2075
The name of the table to add this rule to.
2076

    
2077
Default value: `'inet-filter'`
2078

    
2079
##### <a name="-nftables--simplerule--action"></a>`action`
2080

    
2081
Data type: `Enum['accept', 'continue', 'drop', 'queue', 'return']`
2082

    
2083
The verdict for the matched traffic.
2084

    
2085
Default value: `'accept'`
2086

    
2087
##### <a name="-nftables--simplerule--comment"></a>`comment`
2088

    
2089
Data type: `Optional[String]`
2090

    
2091
A typically human-readable comment for the rule.
2092

    
2093
Default value: `undef`
2094

    
2095
##### <a name="-nftables--simplerule--dport"></a>`dport`
2096

    
2097
Data type: `Optional[Nftables::Port]`
2098

    
2099
The destination port, ports or port range.
2100

    
2101
Default value: `undef`
2102

    
2103
##### <a name="-nftables--simplerule--proto"></a>`proto`
2104

    
2105
Data type: `Optional[Enum['tcp', 'tcp4', 'tcp6', 'udp', 'udp4', 'udp6']]`
2106

    
2107
The transport-layer protocol to match.
2108

    
2109
Default value: `undef`
2110

    
2111
##### <a name="-nftables--simplerule--daddr"></a>`daddr`
2112

    
2113
Data type: `Optional[Nftables::Addr]`
2114

    
2115
The destination address, CIDR or set to match.
2116

    
2117
Default value: `undef`
2118

    
2119
##### <a name="-nftables--simplerule--set_type"></a>`set_type`
2120

    
2121
Data type: `Enum['ip', 'ip6']`
2122

    
2123
When using sets as saddr or daddr, the type of the set.
2124
Use `ip` for sets of type `ipv4_addr`.
2125

    
2126
Default value: `'ip6'`
2127

    
2128
##### <a name="-nftables--simplerule--sport"></a>`sport`
2129

    
2130
Data type: `Optional[Nftables::Port]`
2131

    
2132
The source port, ports or port range.
2133

    
2134
Default value: `undef`
2135

    
2136
##### <a name="-nftables--simplerule--saddr"></a>`saddr`
2137

    
2138
Data type: `Optional[Nftables::Addr]`
2139

    
2140
The source address, CIDR or set to match.
2141

    
2142
Default value: `undef`
2143

    
2144
##### <a name="-nftables--simplerule--counter"></a>`counter`
2145

    
2146
Data type: `Boolean`
2147

    
2148
Enable traffic counters for the matched traffic.
2149

    
2150
Default value: `false`
2151

    
2152
## Data types
2153

    
2154
### <a name="Nftables--Addr"></a>`Nftables::Addr`
2155

    
2156
Represents an address expression to be used within a rule.
2157

    
2158
Alias of `Variant[Stdlib::IP::Address::V6, Stdlib::IP::Address::V4, Nftables::Addr::Set]`
2159

    
2160
### <a name="Nftables--Addr--Set"></a>`Nftables::Addr::Set`
2161

    
2162
Represents a set expression to be used within a rule.
2163

    
2164
Alias of `Pattern[/^@[-a-zA-Z0-9_]+$/]`
2165

    
2166
### <a name="Nftables--Port"></a>`Nftables::Port`
2167

    
2168
Represents a port expression to be used within a rule.
2169

    
2170
Alias of `Variant[Array[Stdlib::Port, 1], Stdlib::Port, Nftables::Port::Range]`
2171

    
2172
### <a name="Nftables--Port--Range"></a>`Nftables::Port::Range`
2173

    
2174
Represents a port range expression to be used within a rule.
2175

    
2176
Alias of `Pattern[/^\d+-\d+$/]`
2177

    
2178
### <a name="Nftables--RuleName"></a>`Nftables::RuleName`
2179

    
2180
Represents a rule name to be used in a raw rule created via nftables::rule.
2181
It's a dash separated string. The first component describes the chain to
2182
add the rule to, the second the rule name and the (optional) third a number.
2183
Ex: 'default_in-sshd', 'default_out-my_service-2'.
2184

    
2185
Alias of `Pattern[/^[a-zA-Z0-9_]+-[a-zA-Z0-9_]+(-\d+)?$/]`
2186

    
2187
### <a name="Nftables--SimpleRuleName"></a>`Nftables::SimpleRuleName`
2188

    
2189
Represents a simple rule name to be used in a rule created via nftables::simplerule
2190

    
2191
Alias of `Pattern[/^[a-zA-Z0-9_]+(-\d+)?$/]`
2192