Projet

Général

Profil

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

root / REFERENCE.md @ 3a469f2b

Historique | Voir | Annoter | Télécharger (20,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`](#nftablesbridges): allow forwarding traffic on bridges
11
* [`nftables::inet_filter`](#nftablesinet_filter): manage basic chains in table inet filter
12
* [`nftables::ip_nat`](#nftablesip_nat): manage basic chains in table ip nat
13
* [`nftables::rules::afs3_callback`](#nftablesrulesafs3_callback): Open call back port for AFS clients
14
* [`nftables::rules::ceph`](#nftablesrulesceph): Ceph is a distributed object store and file system. Enable this to support Ceph's Object Storage Daemons (OSD), Metadata Server Daemons (MDS)
15
* [`nftables::rules::ceph_mon`](#nftablesrulesceph_mon): Ceph is a distributed object store and file system. Enable this option to support Ceph's Monitor Daemon.
16
* [`nftables::rules::dhcpv6_client`](#nftablesrulesdhcpv6_client)
17
* [`nftables::rules::dns`](#nftablesrulesdns): manage in dns
18
* [`nftables::rules::http`](#nftablesruleshttp): manage in http
19
* [`nftables::rules::https`](#nftablesruleshttps): manage in https
20
* [`nftables::rules::icinga2`](#nftablesrulesicinga2): manage in icinga2
21
* [`nftables::rules::icmp`](#nftablesrulesicmp)
22
* [`nftables::rules::nfs`](#nftablesrulesnfs): manage in nfs4
23
* [`nftables::rules::nfs3`](#nftablesrulesnfs3): manage in nfs3
24
* [`nftables::rules::node_exporter`](#nftablesrulesnode_exporter): manage in node exporter
25
* [`nftables::rules::ospf`](#nftablesrulesospf): manage in ospf
26
* [`nftables::rules::ospf3`](#nftablesrulesospf3): manage in ospf3
27
* [`nftables::rules::out::all`](#nftablesrulesoutall): allow all outbound
28
* [`nftables::rules::out::ceph_client`](#nftablesrulesoutceph_client): Ceph is a distributed object store and file system. Enable this to be a client of Ceph's Monitor (MON), Object Storage Daemons (OSD), Metadat
29
* [`nftables::rules::out::chrony`](#nftablesrulesoutchrony): manage out chrony
30
* [`nftables::rules::out::dhcp`](#nftablesrulesoutdhcp): manage out dhcp
31
* [`nftables::rules::out::dhcpv6_client`](#nftablesrulesoutdhcpv6_client)
32
* [`nftables::rules::out::dns`](#nftablesrulesoutdns): manage out dns
33
* [`nftables::rules::out::http`](#nftablesrulesouthttp): manage out http
34
* [`nftables::rules::out::https`](#nftablesrulesouthttps): manage out https
35
* [`nftables::rules::out::icmp`](#nftablesrulesouticmp)
36
* [`nftables::rules::out::kerberos`](#nftablesrulesoutkerberos): allows outbound access for kerberos
37
* [`nftables::rules::out::mysql`](#nftablesrulesoutmysql): manage out mysql
38
* [`nftables::rules::out::nfs`](#nftablesrulesoutnfs): manage out nfs
39
* [`nftables::rules::out::nfs3`](#nftablesrulesoutnfs3): manage out nfs3
40
* [`nftables::rules::out::openafs_client`](#nftablesrulesoutopenafs_client): allows outbound access for afs clients
41
* [`nftables::rules::out::ospf`](#nftablesrulesoutospf): manage out ospf
42
* [`nftables::rules::out::ospf3`](#nftablesrulesoutospf3): manage out ospf3
43
* [`nftables::rules::out::postgres`](#nftablesrulesoutpostgres): manage out postgres
44
* [`nftables::rules::out::puppet`](#nftablesrulesoutpuppet): manage outgoing puppet
45
* [`nftables::rules::out::smtp`](#nftablesrulesoutsmtp): manage out smtp
46
* [`nftables::rules::out::ssh`](#nftablesrulesoutssh): manage out ssh
47
* [`nftables::rules::out::ssh::remove`](#nftablesrulesoutsshremove): disable outgoing ssh
48
* [`nftables::rules::out::tor`](#nftablesrulesouttor): manage out tor
49
* [`nftables::rules::out::wireguard`](#nftablesrulesoutwireguard): manage out wireguard
50
* [`nftables::rules::puppet`](#nftablesrulespuppet): manage in puppet
51
* [`nftables::rules::smtp`](#nftablesrulessmtp): manage in smtp
52
* [`nftables::rules::smtp_submission`](#nftablesrulessmtp_submission): manage in smtp submission
53
* [`nftables::rules::smtps`](#nftablesrulessmtps): manage in smtps
54
* [`nftables::rules::ssh`](#nftablesrulesssh): manage in ssh
55
* [`nftables::rules::tor`](#nftablesrulestor): manage in tor
56
* [`nftables::rules::wireguard`](#nftablesruleswireguard): manage in wireguard
57
* [`nftables::services::dhcpv6_client`](#nftablesservicesdhcpv6_client)
58
* [`nftables::services::openafs_client`](#nftablesservicesopenafs_client)
59

    
60
### Defined types
61

    
62
* [`nftables::chain`](#nftableschain): manage a chain
63
* [`nftables::config`](#nftablesconfig): manage a config snippet
64
* [`nftables::rule`](#nftablesrule): manage a chain rule Name should be:   CHAIN_NAME-rulename
65
* [`nftables::rules::dnat4`](#nftablesrulesdnat4): manage a ipv4 dnat rule
66
* [`nftables::rules::masquerade`](#nftablesrulesmasquerade): masquerade all outgoing traffic
67
* [`nftables::rules::snat4`](#nftablesrulessnat4): manage a ipv4 snat rule
68
* [`nftables::set`](#nftablesset): manage a named set
69

    
70
## Classes
71

    
72
### `nftables`
73

    
74
Configure nftables
75

    
76
#### Examples
77

    
78
##### allow dns out and do not allow ntp out
79

    
80
```puppet
81
class{'nftables:
82
  out_ntp = false,
83
  out_dns = true,
84
}
85
```
86

    
87
##### do not flush particular tables, fail2ban in this case
88

    
89
```puppet
90
class{'nftables':
91
  noflush_tables = ['inet-f2b-table'],
92
}
93
```
94

    
95
#### Parameters
96

    
97
The following parameters are available in the `nftables` class.
98

    
99
##### `out_all`
100

    
101
Data type: `Boolean`
102

    
103
Allow all outbound connections. If `true` then all other
104
out parameters `out_ntp`, `out_dns`, ... will be assuemed
105
false.
106

    
107
Default value: ``false``
108

    
109
##### `out_ntp`
110

    
111
Data type: `Boolean`
112

    
113
Allow outbound to ntp servers.
114

    
115
Default value: ``true``
116

    
117
##### `out_http`
118

    
119
Data type: `Boolean`
120

    
121
Allow outbound to http servers.
122

    
123
Default value: ``true``
124

    
125
##### `out_https`
126

    
127
Data type: `Boolean`
128

    
129
Allow outbound to https servers.
130

    
131
Default value: ``true``
132

    
133
##### `out_https`
134

    
135
Allow outbound to https servers.
136

    
137
Default value: ``true``
138

    
139
##### `out_icmp`
140

    
141
Data type: `Boolean`
142

    
143
Allow outbound ICMPv4/v6 traffic.
144

    
145
Default value: ``true``
146

    
147
##### `in_ssh`
148

    
149
Data type: `Boolean`
150

    
151
Allow inbound to ssh servers.
152

    
153
Default value: ``true``
154

    
155
##### `in_icmp`
156

    
157
Data type: `Boolean`
158

    
159
Allow inbound ICMPv4/v6 traffic.
160

    
161
Default value: ``true``
162

    
163
##### `nat`
164

    
165
Data type: `Boolean`
166

    
167
Add default tables and chains to process NAT traffic.
168

    
169
Default value: ``true``
170

    
171
##### `sets`
172

    
173
Data type: `Hash`
174

    
175
Allows sourcing set definitions directly from Hiera.
176

    
177
Default value: `{}`
178

    
179
##### `log_prefix`
180

    
181
Data type: `String`
182

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

    
188
Default value: `'[nftables] %<chain>s %<comment>s'`
189

    
190
##### `log_limit`
191

    
192
Data type: `Variant[Boolean[false], String]`
193

    
194
String with the content of a limit statement to be applied
195
to the rules that log discarded traffic. Set to false to
196
disable rate limiting.
197

    
198
Default value: `'3/minute burst 5 packets'`
199

    
200
##### `reject_with`
201

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

    
204
How to discard packets not matching any rule. If `false`, the
205
fate of the packet will be defined by the chain policy (normally
206
drop), otherwise the packet will be rejected with the REJECT_WITH
207
policy indicated by the value of this parameter.
208

    
209
Default value: `'icmpx type port-unreachable'`
210

    
211
##### `in_out_conntrack`
212

    
213
Data type: `Boolean`
214

    
215
Adds INPUT and OUTPUT rules to allow traffic that's part of an
216
established connection and also to drop invalid packets.
217

    
218
Default value: ``true``
219

    
220
##### `fwd_conntrack`
221

    
222
Data type: `Boolean`
223

    
224
Adds FORWARD rules to allow traffic that's part of an
225
established connection and also to drop invalid packets.
226

    
227
Default value: ``false``
228

    
229
##### `firewalld_enable`
230

    
231
Data type: `Variant[Boolean[false], Enum['mask']]`
232

    
233
Configures how the firewalld systemd service unit is enabled. It might be
234
useful to set this to false if you're externaly removing firewalld from
235
the system completely.
236

    
237
Default value: `'mask'`
238

    
239
##### `noflush_tables`
240

    
241
Data type: `Optional[Array[Pattern[/^(ip|ip6|inet)-[-a-zA-Z0-9_]+$/],1]]`
242

    
243
If specified only other existings tables will be flushed.
244
If left unset all tables will be flushed via a `flush ruleset`
245

    
246
Default value: ``undef``
247

    
248
##### `out_dns`
249

    
250
Data type: `Boolean`
251

    
252

    
253

    
254
Default value: ``true``
255

    
256
##### `rules`
257

    
258
Data type: `Hash`
259

    
260

    
261

    
262
Default value: `{}`
263

    
264
### `nftables::bridges`
265

    
266
allow forwarding traffic on bridges
267

    
268
#### Parameters
269

    
270
The following parameters are available in the `nftables::bridges` class.
271

    
272
##### `ensure`
273

    
274
Data type: `Enum['present','absent']`
275

    
276

    
277

    
278
Default value: `'present'`
279

    
280
##### `bridgenames`
281

    
282
Data type: `Regexp`
283

    
284

    
285

    
286
Default value: `/^br.+/`
287

    
288
### `nftables::inet_filter`
289

    
290
manage basic chains in table inet filter
291

    
292
### `nftables::ip_nat`
293

    
294
manage basic chains in table ip nat
295

    
296
### `nftables::rules::afs3_callback`
297

    
298
class{'nftables::rules::afs3_callback':
299
  saddr => ['192.168.0.0/16', '10.0.0.222']
300
}
301

    
302
#### Parameters
303

    
304
The following parameters are available in the `nftables::rules::afs3_callback` class.
305

    
306
##### `saddr`
307

    
308
Data type: `Array[Stdlib::IP::Address::V4,1]`
309

    
310
list of source network ranges to a
311

    
312
Default value: `['0.0.0.0/0']`
313

    
314
### `nftables::rules::ceph`
315

    
316
Ceph is a distributed object store and file system.
317
Enable this to support Ceph's Object Storage Daemons (OSD),
318
Metadata Server Daemons (MDS), or Manager Daemons (MGR).
319

    
320
### `nftables::rules::ceph_mon`
321

    
322
Ceph is a distributed object store and file system.
323
Enable this option to support Ceph's Monitor Daemon.
324

    
325
#### Parameters
326

    
327
The following parameters are available in the `nftables::rules::ceph_mon` class.
328

    
329
##### `ports`
330

    
331
Data type: `Array[Integer,1]`
332

    
333

    
334

    
335
Default value: `[3300, 6789]`
336

    
337
### `nftables::rules::dhcpv6_client`
338

    
339
The nftables::rules::dhcpv6_client class.
340

    
341
### `nftables::rules::dns`
342

    
343
manage in dns
344

    
345
#### Parameters
346

    
347
The following parameters are available in the `nftables::rules::dns` class.
348

    
349
##### `ports`
350

    
351
Data type: `Array[Integer,1]`
352

    
353

    
354

    
355
Default value: `[53]`
356

    
357
### `nftables::rules::http`
358

    
359
manage in http
360

    
361
### `nftables::rules::https`
362

    
363
manage in https
364

    
365
### `nftables::rules::icinga2`
366

    
367
manage in icinga2
368

    
369
#### Parameters
370

    
371
The following parameters are available in the `nftables::rules::icinga2` class.
372

    
373
##### `ports`
374

    
375
Data type: `Array[Integer,1]`
376

    
377

    
378

    
379
Default value: `[5665]`
380

    
381
### `nftables::rules::icmp`
382

    
383
The nftables::rules::icmp class.
384

    
385
#### Parameters
386

    
387
The following parameters are available in the `nftables::rules::icmp` class.
388

    
389
##### `v4_types`
390

    
391
Data type: `Optional[Array[String]]`
392

    
393

    
394

    
395
Default value: ``undef``
396

    
397
##### `v6_types`
398

    
399
Data type: `Optional[Array[String]]`
400

    
401

    
402

    
403
Default value: ``undef``
404

    
405
##### `order`
406

    
407
Data type: `String`
408

    
409

    
410

    
411
Default value: `'10'`
412

    
413
### `nftables::rules::nfs`
414

    
415
manage in nfs4
416

    
417
### `nftables::rules::nfs3`
418

    
419
manage in nfs3
420

    
421
### `nftables::rules::node_exporter`
422

    
423
manage in node exporter
424

    
425
#### Parameters
426

    
427
The following parameters are available in the `nftables::rules::node_exporter` class.
428

    
429
##### `prometheus_server`
430

    
431
Data type: `Optional[Variant[String,Array[String,1]]]`
432

    
433

    
434

    
435
Default value: ``undef``
436

    
437
##### `port`
438

    
439
Data type: `Integer`
440

    
441

    
442

    
443
Default value: `9100`
444

    
445
### `nftables::rules::ospf`
446

    
447
manage in ospf
448

    
449
### `nftables::rules::ospf3`
450

    
451
manage in ospf3
452

    
453
### `nftables::rules::out::all`
454

    
455
allow all outbound
456

    
457
### `nftables::rules::out::ceph_client`
458

    
459
Ceph is a distributed object store and file system.
460
Enable this to be a client of Ceph's Monitor (MON),
461
Object Storage Daemons (OSD), Metadata Server Daemons (MDS),
462
and Manager Daemons (MGR).
463

    
464
#### Parameters
465

    
466
The following parameters are available in the `nftables::rules::out::ceph_client` class.
467

    
468
##### `ports`
469

    
470
Data type: `Array[Integer,1]`
471

    
472

    
473

    
474
Default value: `[3300, 6789]`
475

    
476
### `nftables::rules::out::chrony`
477

    
478
manage out chrony
479

    
480
### `nftables::rules::out::dhcp`
481

    
482
manage out dhcp
483

    
484
### `nftables::rules::out::dhcpv6_client`
485

    
486
The nftables::rules::out::dhcpv6_client class.
487

    
488
### `nftables::rules::out::dns`
489

    
490
manage out dns
491

    
492
#### Parameters
493

    
494
The following parameters are available in the `nftables::rules::out::dns` class.
495

    
496
##### `dns_server`
497

    
498
Data type: `Optional[Variant[String,Array[String,1]]]`
499

    
500

    
501

    
502
Default value: ``undef``
503

    
504
### `nftables::rules::out::http`
505

    
506
manage out http
507

    
508
### `nftables::rules::out::https`
509

    
510
manage out https
511

    
512
### `nftables::rules::out::icmp`
513

    
514
The nftables::rules::out::icmp class.
515

    
516
#### Parameters
517

    
518
The following parameters are available in the `nftables::rules::out::icmp` class.
519

    
520
##### `v4_types`
521

    
522
Data type: `Optional[Array[String]]`
523

    
524

    
525

    
526
Default value: ``undef``
527

    
528
##### `v6_types`
529

    
530
Data type: `Optional[Array[String]]`
531

    
532

    
533

    
534
Default value: ``undef``
535

    
536
##### `order`
537

    
538
Data type: `String`
539

    
540

    
541

    
542
Default value: `'10'`
543

    
544
### `nftables::rules::out::kerberos`
545

    
546
allows outbound access for kerberos
547

    
548
### `nftables::rules::out::mysql`
549

    
550
manage out mysql
551

    
552
### `nftables::rules::out::nfs`
553

    
554
manage out nfs
555

    
556
### `nftables::rules::out::nfs3`
557

    
558
manage out nfs3
559

    
560
### `nftables::rules::out::openafs_client`
561

    
562
7000 - afs3-fileserver
563
7002 - afs3-ptserver
564
7003 - vlserver
565

    
566
* **See also**
567
  * https://wiki.openafs.org/devel/AFSServicePorts/
568
    * AFS Service Ports
569

    
570
#### Parameters
571

    
572
The following parameters are available in the `nftables::rules::out::openafs_client` class.
573

    
574
##### `ports`
575

    
576
Data type: `Array[Integer,1]`
577

    
578

    
579

    
580
Default value: `[7000, 7002, 7003]`
581

    
582
### `nftables::rules::out::ospf`
583

    
584
manage out ospf
585

    
586
### `nftables::rules::out::ospf3`
587

    
588
manage out ospf3
589

    
590
### `nftables::rules::out::postgres`
591

    
592
manage out postgres
593

    
594
### `nftables::rules::out::puppet`
595

    
596
manage outgoing puppet
597

    
598
#### Parameters
599

    
600
The following parameters are available in the `nftables::rules::out::puppet` class.
601

    
602
##### `puppetmaster`
603

    
604
Data type: `Variant[String,Array[String,1]]`
605

    
606

    
607

    
608
##### `puppetserver_port`
609

    
610
Data type: `Integer`
611

    
612

    
613

    
614
Default value: `8140`
615

    
616
### `nftables::rules::out::smtp`
617

    
618
manage out smtp
619

    
620
### `nftables::rules::out::ssh`
621

    
622
manage out ssh
623

    
624
### `nftables::rules::out::ssh::remove`
625

    
626
disable outgoing ssh
627

    
628
### `nftables::rules::out::tor`
629

    
630
manage out tor
631

    
632
### `nftables::rules::out::wireguard`
633

    
634
manage out wireguard
635

    
636
#### Parameters
637

    
638
The following parameters are available in the `nftables::rules::out::wireguard` class.
639

    
640
##### `ports`
641

    
642
Data type: `Array[Integer,1]`
643

    
644

    
645

    
646
Default value: `[51820]`
647

    
648
### `nftables::rules::puppet`
649

    
650
manage in puppet
651

    
652
#### Parameters
653

    
654
The following parameters are available in the `nftables::rules::puppet` class.
655

    
656
##### `ports`
657

    
658
Data type: `Array[Integer,1]`
659

    
660

    
661

    
662
Default value: `[8140]`
663

    
664
### `nftables::rules::smtp`
665

    
666
manage in smtp
667

    
668
### `nftables::rules::smtp_submission`
669

    
670
manage in smtp submission
671

    
672
### `nftables::rules::smtps`
673

    
674
manage in smtps
675

    
676
### `nftables::rules::ssh`
677

    
678
manage in ssh
679

    
680
#### Parameters
681

    
682
The following parameters are available in the `nftables::rules::ssh` class.
683

    
684
##### `ports`
685

    
686
Data type: `Array[Integer,1]`
687

    
688

    
689

    
690
Default value: `[22]`
691

    
692
### `nftables::rules::tor`
693

    
694
manage in tor
695

    
696
#### Parameters
697

    
698
The following parameters are available in the `nftables::rules::tor` class.
699

    
700
##### `ports`
701

    
702
Data type: `Array[Integer,1]`
703

    
704

    
705

    
706
Default value: `[9001]`
707

    
708
### `nftables::rules::wireguard`
709

    
710
manage in wireguard
711

    
712
#### Parameters
713

    
714
The following parameters are available in the `nftables::rules::wireguard` class.
715

    
716
##### `ports`
717

    
718
Data type: `Array[Integer,1]`
719

    
720

    
721

    
722
Default value: `[51820]`
723

    
724
### `nftables::services::dhcpv6_client`
725

    
726
The nftables::services::dhcpv6_client class.
727

    
728
### `nftables::services::openafs_client`
729

    
730
The nftables::services::openafs_client class.
731

    
732
## Defined types
733

    
734
### `nftables::chain`
735

    
736
manage a chain
737

    
738
#### Parameters
739

    
740
The following parameters are available in the `nftables::chain` defined type.
741

    
742
##### `table`
743

    
744
Data type: `Pattern[/^(ip|ip6|inet)-[a-zA-Z0-9_]+$/]`
745

    
746

    
747

    
748
Default value: `'inet-filter'`
749

    
750
##### `chain`
751

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

    
754

    
755

    
756
Default value: `$title`
757

    
758
##### `inject`
759

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

    
762

    
763

    
764
Default value: ``undef``
765

    
766
##### `inject_iif`
767

    
768
Data type: `Optional[String]`
769

    
770

    
771

    
772
Default value: ``undef``
773

    
774
##### `inject_oif`
775

    
776
Data type: `Optional[String]`
777

    
778

    
779

    
780
Default value: ``undef``
781

    
782
### `nftables::config`
783

    
784
manage a config snippet
785

    
786
#### Parameters
787

    
788
The following parameters are available in the `nftables::config` defined type.
789

    
790
##### `content`
791

    
792
Data type: `Optional[String]`
793

    
794

    
795

    
796
Default value: ``undef``
797

    
798
##### `source`
799

    
800
Data type: `Optional[Variant[String,Array[String,1]]]`
801

    
802

    
803

    
804
Default value: ``undef``
805

    
806
### `nftables::rule`
807

    
808
manage a chain rule
809
Name should be:
810
  CHAIN_NAME-rulename
811

    
812
#### Parameters
813

    
814
The following parameters are available in the `nftables::rule` defined type.
815

    
816
##### `ensure`
817

    
818
Data type: `Enum['present','absent']`
819

    
820

    
821

    
822
Default value: `'present'`
823

    
824
##### `rulename`
825

    
826
Data type: `Pattern[/^[a-zA-Z0-9_]+-[a-zA-Z0-9_]+(-\d+)?$/]`
827

    
828

    
829

    
830
Default value: `$title`
831

    
832
##### `order`
833

    
834
Data type: `Pattern[/^\d\d$/]`
835

    
836

    
837

    
838
Default value: `'50'`
839

    
840
##### `table`
841

    
842
Data type: `Optional[String]`
843

    
844

    
845

    
846
Default value: `'inet-filter'`
847

    
848
##### `content`
849

    
850
Data type: `Optional[String]`
851

    
852

    
853

    
854
Default value: ``undef``
855

    
856
##### `source`
857

    
858
Data type: `Optional[Variant[String,Array[String,1]]]`
859

    
860

    
861

    
862
Default value: ``undef``
863

    
864
### `nftables::rules::dnat4`
865

    
866
manage a ipv4 dnat rule
867

    
868
#### Parameters
869

    
870
The following parameters are available in the `nftables::rules::dnat4` defined type.
871

    
872
##### `daddr`
873

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

    
876

    
877

    
878
##### `port`
879

    
880
Data type: `Variant[String,Integer[1,65535]]`
881

    
882

    
883

    
884
##### `rulename`
885

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

    
888

    
889

    
890
Default value: `$title`
891

    
892
##### `order`
893

    
894
Data type: `Pattern[/^\d\d$/]`
895

    
896

    
897

    
898
Default value: `'50'`
899

    
900
##### `chain`
901

    
902
Data type: `String[1]`
903

    
904

    
905

    
906
Default value: `'default_fwd'`
907

    
908
##### `iif`
909

    
910
Data type: `Optional[String[1]]`
911

    
912

    
913

    
914
Default value: ``undef``
915

    
916
##### `proto`
917

    
918
Data type: `Enum['tcp','udp']`
919

    
920

    
921

    
922
Default value: `'tcp'`
923

    
924
##### `dport`
925

    
926
Data type: `Optional[Variant[String,Integer[1,65535]]]`
927

    
928

    
929

    
930
Default value: `''`
931

    
932
##### `ensure`
933

    
934
Data type: `Enum['present','absent']`
935

    
936

    
937

    
938
Default value: `'present'`
939

    
940
### `nftables::rules::masquerade`
941

    
942
masquerade all outgoing traffic
943

    
944
#### Parameters
945

    
946
The following parameters are available in the `nftables::rules::masquerade` defined type.
947

    
948
##### `rulename`
949

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

    
952

    
953

    
954
Default value: `$title`
955

    
956
##### `order`
957

    
958
Data type: `Pattern[/^\d\d$/]`
959

    
960

    
961

    
962
Default value: `'70'`
963

    
964
##### `chain`
965

    
966
Data type: `String[1]`
967

    
968

    
969

    
970
Default value: `'POSTROUTING'`
971

    
972
##### `oif`
973

    
974
Data type: `Optional[String[1]]`
975

    
976

    
977

    
978
Default value: ``undef``
979

    
980
##### `saddr`
981

    
982
Data type: `Optional[String[1]]`
983

    
984

    
985

    
986
Default value: ``undef``
987

    
988
##### `daddr`
989

    
990
Data type: `Optional[String[1]]`
991

    
992

    
993

    
994
Default value: ``undef``
995

    
996
##### `proto`
997

    
998
Data type: `Optional[Enum['tcp','udp']]`
999

    
1000

    
1001

    
1002
Default value: ``undef``
1003

    
1004
##### `dport`
1005

    
1006
Data type: `Optional[Variant[String,Integer[1,65535]]]`
1007

    
1008

    
1009

    
1010
Default value: ``undef``
1011

    
1012
##### `ensure`
1013

    
1014
Data type: `Enum['present','absent']`
1015

    
1016

    
1017

    
1018
Default value: `'present'`
1019

    
1020
### `nftables::rules::snat4`
1021

    
1022
manage a ipv4 snat rule
1023

    
1024
#### Parameters
1025

    
1026
The following parameters are available in the `nftables::rules::snat4` defined type.
1027

    
1028
##### `snat`
1029

    
1030
Data type: `String[1]`
1031

    
1032

    
1033

    
1034
##### `rulename`
1035

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

    
1038

    
1039

    
1040
Default value: `$title`
1041

    
1042
##### `order`
1043

    
1044
Data type: `Pattern[/^\d\d$/]`
1045

    
1046

    
1047

    
1048
Default value: `'70'`
1049

    
1050
##### `chain`
1051

    
1052
Data type: `String[1]`
1053

    
1054

    
1055

    
1056
Default value: `'POSTROUTING'`
1057

    
1058
##### `oif`
1059

    
1060
Data type: `Optional[String[1]]`
1061

    
1062

    
1063

    
1064
Default value: ``undef``
1065

    
1066
##### `saddr`
1067

    
1068
Data type: `Optional[String[1]]`
1069

    
1070

    
1071

    
1072
Default value: ``undef``
1073

    
1074
##### `proto`
1075

    
1076
Data type: `Optional[Enum['tcp','udp']]`
1077

    
1078

    
1079

    
1080
Default value: ``undef``
1081

    
1082
##### `dport`
1083

    
1084
Data type: `Optional[Variant[String,Integer[1,65535]]]`
1085

    
1086

    
1087

    
1088
Default value: ``undef``
1089

    
1090
##### `ensure`
1091

    
1092
Data type: `Enum['present','absent']`
1093

    
1094

    
1095

    
1096
Default value: `'present'`
1097

    
1098
### `nftables::set`
1099

    
1100
manage a named set
1101

    
1102
#### Parameters
1103

    
1104
The following parameters are available in the `nftables::set` defined type.
1105

    
1106
##### `ensure`
1107

    
1108
Data type: `Enum['present','absent']`
1109

    
1110

    
1111

    
1112
Default value: `'present'`
1113

    
1114
##### `setname`
1115

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

    
1118

    
1119

    
1120
Default value: `$title`
1121

    
1122
##### `order`
1123

    
1124
Data type: `Pattern[/^\d\d$/]`
1125

    
1126

    
1127

    
1128
Default value: `'10'`
1129

    
1130
##### `type`
1131

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

    
1134

    
1135

    
1136
Default value: ``undef``
1137

    
1138
##### `table`
1139

    
1140
Data type: `String`
1141

    
1142

    
1143

    
1144
Default value: `'inet-filter'`
1145

    
1146
##### `flags`
1147

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

    
1150

    
1151

    
1152
Default value: `[]`
1153

    
1154
##### `timeout`
1155

    
1156
Data type: `Optional[Integer]`
1157

    
1158

    
1159

    
1160
Default value: ``undef``
1161

    
1162
##### `gc_interval`
1163

    
1164
Data type: `Optional[Integer]`
1165

    
1166

    
1167

    
1168
Default value: ``undef``
1169

    
1170
##### `elements`
1171

    
1172
Data type: `Optional[Array[String]]`
1173

    
1174

    
1175

    
1176
Default value: ``undef``
1177

    
1178
##### `size`
1179

    
1180
Data type: `Optional[Integer]`
1181

    
1182

    
1183

    
1184
Default value: ``undef``
1185

    
1186
##### `policy`
1187

    
1188
Data type: `Optional[Enum['performance', 'memory']]`
1189

    
1190

    
1191

    
1192
Default value: ``undef``
1193

    
1194
##### `auto_merge`
1195

    
1196
Data type: `Boolean`
1197

    
1198

    
1199

    
1200
Default value: ``false``
1201

    
1202
##### `content`
1203

    
1204
Data type: `Optional[String]`
1205

    
1206

    
1207

    
1208
Default value: ``undef``
1209

    
1210
##### `source`
1211

    
1212
Data type: `Optional[Variant[String,Array[String,1]]]`
1213

    
1214

    
1215

    
1216
Default value: ``undef``
1217