Projet

Général

Profil

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

root / REFERENCE.md @ 61f03b47

Historique | Voir | Annoter | Télécharger (10,9 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::inet_filter`](#nftablesinet_filter): manage basic chains in table inet filter
11
* [`nftables::ip_nat`](#nftablesip_nat): manage basic chains in table ip nat
12
* [`nftables::rules::http`](#nftablesruleshttp): manage in http
13
* [`nftables::rules::https`](#nftablesruleshttps): manage in https
14
* [`nftables::rules::icinga2`](#nftablesrulesicinga2): manage in icinga2
15
* [`nftables::rules::ospf`](#nftablesrulesospf): manage in ospf
16
* [`nftables::rules::ospf3`](#nftablesrulesospf3): manage in ospf3
17
* [`nftables::rules::out::all`](#nftablesrulesoutall): allow all outbound
18
* [`nftables::rules::out::chrony`](#nftablesrulesoutchrony): manage out chrony
19
* [`nftables::rules::out::dhcp`](#nftablesrulesoutdhcp): manage out dhcp
20
* [`nftables::rules::out::dns`](#nftablesrulesoutdns): manage out dns
21
* [`nftables::rules::out::http`](#nftablesrulesouthttp): manage out http
22
* [`nftables::rules::out::https`](#nftablesrulesouthttps): manage out https
23
* [`nftables::rules::out::mysql`](#nftablesrulesoutmysql): manage out mysql
24
* [`nftables::rules::out::ospf`](#nftablesrulesoutospf): manage out ospf
25
* [`nftables::rules::out::ospf3`](#nftablesrulesoutospf3): manage out ospf3
26
* [`nftables::rules::out::postgres`](#nftablesrulesoutpostgres): manage out postgres
27
* [`nftables::rules::out::puppet`](#nftablesrulesoutpuppet): manage outgoing puppet
28
* [`nftables::rules::out::smtp`](#nftablesrulesoutsmtp): manage out smtp
29
* [`nftables::rules::out::ssh`](#nftablesrulesoutssh): manage out ssh
30
* [`nftables::rules::out::ssh::remove`](#nftablesrulesoutsshremove): disable outgoing ssh
31
* [`nftables::rules::out::tor`](#nftablesrulesouttor): manage out tor
32
* [`nftables::rules::out::wireguard`](#nftablesrulesoutwireguard): manage out wireguard
33
* [`nftables::rules::puppet`](#nftablesrulespuppet): manage in puppet
34
* [`nftables::rules::smtp`](#nftablesrulessmtp): manage in smtp
35
* [`nftables::rules::smtp_submission`](#nftablesrulessmtp_submission): manage in smtp submission
36
* [`nftables::rules::smtps`](#nftablesrulessmtps): manage in smtps
37
* [`nftables::rules::ssh`](#nftablesrulesssh): manage in ssh
38
* [`nftables::rules::tor`](#nftablesrulestor): manage in tor
39
* [`nftables::rules::wireguard`](#nftablesruleswireguard): manage in wireguard
40

    
41
### Defined types
42

    
43
* [`nftables::chain`](#nftableschain): manage a chain
44
* [`nftables::config`](#nftablesconfig): manage a config snippet
45
* [`nftables::rule`](#nftablesrule): manage a chain rule Name should be:   CHAIN_NAME-rulename
46
* [`nftables::rules::dnat4`](#nftablesrulesdnat4): manage a ipv4 dnat rule
47
* [`nftables::rules::masquerade`](#nftablesrulesmasquerade): masquerade all outgoing traffic
48
* [`nftables::rules::snat4`](#nftablesrulessnat4): manage a ipv4 snat rule
49

    
50
## Classes
51

    
52
### `nftables`
53

    
54
Configure nftables
55

    
56
#### Examples
57

    
58
##### 
59

    
60
```puppet
61
class{'nftables:
62
  out_ntp = false,
63
  out_dns = true,
64
}
65
```
66

    
67
#### Parameters
68

    
69
The following parameters are available in the `nftables` class.
70

    
71
##### `out_all`
72

    
73
Data type: `Boolean`
74

    
75
Allow all outbound connections. If `true` then all other
76
out parameters `out_ntp`, `out_dns`, ... will be assuemed
77
false.
78

    
79
Default value: ``false``
80

    
81
##### `out_ntp`
82

    
83
Data type: `Boolean`
84

    
85
Allow outbound to ntp servers.
86

    
87
Default value: ``true``
88

    
89
##### `out_http`
90

    
91
Data type: `Boolean`
92

    
93
Allow outbound to http servers.
94

    
95
Default value: ``true``
96

    
97
##### `out_https`
98

    
99
Data type: `Boolean`
100

    
101
Allow outbound to https servers.
102

    
103
Default value: ``true``
104

    
105
##### `out_https`
106

    
107
Allow outbound to https servers.
108

    
109
Default value: ``true``
110

    
111
##### `in_ssh`
112

    
113
Data type: `Boolean`
114

    
115
Allow inbound to ssh servers.
116

    
117
Default value: ``true``
118

    
119
##### `out_dns`
120

    
121
Data type: `Boolean`
122

    
123

    
124

    
125
Default value: ``true``
126

    
127
### `nftables::inet_filter`
128

    
129
manage basic chains in table inet filter
130

    
131
### `nftables::ip_nat`
132

    
133
manage basic chains in table ip nat
134

    
135
### `nftables::rules::http`
136

    
137
manage in http
138

    
139
### `nftables::rules::https`
140

    
141
manage in https
142

    
143
### `nftables::rules::icinga2`
144

    
145
manage in icinga2
146

    
147
#### Parameters
148

    
149
The following parameters are available in the `nftables::rules::icinga2` class.
150

    
151
##### `ports`
152

    
153
Data type: `Array[Integer,1]`
154

    
155

    
156

    
157
Default value: `[5665]`
158

    
159
### `nftables::rules::ospf`
160

    
161
manage in ospf
162

    
163
### `nftables::rules::ospf3`
164

    
165
manage in ospf3
166

    
167
### `nftables::rules::out::all`
168

    
169
allow all outbound
170

    
171
### `nftables::rules::out::chrony`
172

    
173
manage out chrony
174

    
175
### `nftables::rules::out::dhcp`
176

    
177
manage out dhcp
178

    
179
### `nftables::rules::out::dns`
180

    
181
manage out dns
182

    
183
#### Parameters
184

    
185
The following parameters are available in the `nftables::rules::out::dns` class.
186

    
187
##### `dns_server`
188

    
189
Data type: `Optional[Variant[String,Array[String,1]]]`
190

    
191

    
192

    
193
Default value: ``undef``
194

    
195
### `nftables::rules::out::http`
196

    
197
manage out http
198

    
199
### `nftables::rules::out::https`
200

    
201
manage out https
202

    
203
### `nftables::rules::out::mysql`
204

    
205
manage out mysql
206

    
207
### `nftables::rules::out::ospf`
208

    
209
manage out ospf
210

    
211
### `nftables::rules::out::ospf3`
212

    
213
manage out ospf3
214

    
215
### `nftables::rules::out::postgres`
216

    
217
manage out postgres
218

    
219
### `nftables::rules::out::puppet`
220

    
221
manage outgoing puppet
222

    
223
#### Parameters
224

    
225
The following parameters are available in the `nftables::rules::out::puppet` class.
226

    
227
##### `puppetmaster`
228

    
229
Data type: `Variant[String,Array[String,1]]`
230

    
231

    
232

    
233
##### `puppetserver_port`
234

    
235
Data type: `Integer`
236

    
237

    
238

    
239
Default value: `8140`
240

    
241
### `nftables::rules::out::smtp`
242

    
243
manage out smtp
244

    
245
### `nftables::rules::out::ssh`
246

    
247
manage out ssh
248

    
249
### `nftables::rules::out::ssh::remove`
250

    
251
disable outgoing ssh
252

    
253
### `nftables::rules::out::tor`
254

    
255
manage out tor
256

    
257
### `nftables::rules::out::wireguard`
258

    
259
manage out wireguard
260

    
261
#### Parameters
262

    
263
The following parameters are available in the `nftables::rules::out::wireguard` class.
264

    
265
##### `ports`
266

    
267
Data type: `Array[Integer,1]`
268

    
269

    
270

    
271
Default value: `[51820]`
272

    
273
### `nftables::rules::puppet`
274

    
275
manage in puppet
276

    
277
#### Parameters
278

    
279
The following parameters are available in the `nftables::rules::puppet` class.
280

    
281
##### `ports`
282

    
283
Data type: `Array[Integer,1]`
284

    
285

    
286

    
287
Default value: `[8140]`
288

    
289
### `nftables::rules::smtp`
290

    
291
manage in smtp
292

    
293
### `nftables::rules::smtp_submission`
294

    
295
manage in smtp submission
296

    
297
### `nftables::rules::smtps`
298

    
299
manage in smtps
300

    
301
### `nftables::rules::ssh`
302

    
303
manage in ssh
304

    
305
#### Parameters
306

    
307
The following parameters are available in the `nftables::rules::ssh` class.
308

    
309
##### `ports`
310

    
311
Data type: `Array[Integer,1]`
312

    
313

    
314

    
315
Default value: `[22]`
316

    
317
### `nftables::rules::tor`
318

    
319
manage in tor
320

    
321
#### Parameters
322

    
323
The following parameters are available in the `nftables::rules::tor` class.
324

    
325
##### `ports`
326

    
327
Data type: `Array[Integer,1]`
328

    
329

    
330

    
331
Default value: `[9001]`
332

    
333
### `nftables::rules::wireguard`
334

    
335
manage in wireguard
336

    
337
#### Parameters
338

    
339
The following parameters are available in the `nftables::rules::wireguard` class.
340

    
341
##### `ports`
342

    
343
Data type: `Array[Integer,1]`
344

    
345

    
346

    
347
Default value: `[51820]`
348

    
349
## Defined types
350

    
351
### `nftables::chain`
352

    
353
manage a chain
354

    
355
#### Parameters
356

    
357
The following parameters are available in the `nftables::chain` defined type.
358

    
359
##### `table`
360

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

    
363

    
364

    
365
Default value: `'inet-filter'`
366

    
367
##### `chain`
368

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

    
371

    
372

    
373
Default value: `$title`
374

    
375
##### `inject`
376

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

    
379

    
380

    
381
Default value: ``undef``
382

    
383
##### `inject_iif`
384

    
385
Data type: `Optional[String]`
386

    
387

    
388

    
389
Default value: ``undef``
390

    
391
##### `inject_oif`
392

    
393
Data type: `Optional[String]`
394

    
395

    
396

    
397
Default value: ``undef``
398

    
399
### `nftables::config`
400

    
401
manage a config snippet
402

    
403
#### Parameters
404

    
405
The following parameters are available in the `nftables::config` defined type.
406

    
407
##### `content`
408

    
409
Data type: `Optional[String]`
410

    
411

    
412

    
413
Default value: ``undef``
414

    
415
##### `source`
416

    
417
Data type: `Optional[Variant[String,Array[String,1]]]`
418

    
419

    
420

    
421
Default value: ``undef``
422

    
423
### `nftables::rule`
424

    
425
manage a chain rule
426
Name should be:
427
  CHAIN_NAME-rulename
428

    
429
#### Parameters
430

    
431
The following parameters are available in the `nftables::rule` defined type.
432

    
433
##### `ensure`
434

    
435
Data type: `Enum['present','absent']`
436

    
437

    
438

    
439
Default value: `'present'`
440

    
441
##### `rulename`
442

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

    
445

    
446

    
447
Default value: `$title`
448

    
449
##### `order`
450

    
451
Data type: `Pattern[/^\d\d$/]`
452

    
453

    
454

    
455
Default value: `'50'`
456

    
457
##### `table`
458

    
459
Data type: `Optional[String]`
460

    
461

    
462

    
463
Default value: `'inet-filter'`
464

    
465
##### `content`
466

    
467
Data type: `Optional[String]`
468

    
469

    
470

    
471
Default value: ``undef``
472

    
473
##### `source`
474

    
475
Data type: `Optional[Variant[String,Array[String,1]]]`
476

    
477

    
478

    
479
Default value: ``undef``
480

    
481
### `nftables::rules::dnat4`
482

    
483
manage a ipv4 dnat rule
484

    
485
#### Parameters
486

    
487
The following parameters are available in the `nftables::rules::dnat4` defined type.
488

    
489
##### `daddr`
490

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

    
493

    
494

    
495
##### `port`
496

    
497
Data type: `Variant[String,Integer[1,65535]]`
498

    
499

    
500

    
501
##### `rulename`
502

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

    
505

    
506

    
507
Default value: `$title`
508

    
509
##### `order`
510

    
511
Data type: `Pattern[/^\d\d$/]`
512

    
513

    
514

    
515
Default value: `'50'`
516

    
517
##### `chain`
518

    
519
Data type: `String[1]`
520

    
521

    
522

    
523
Default value: `'default_fwd'`
524

    
525
##### `iif`
526

    
527
Data type: `Optional[String[1]]`
528

    
529

    
530

    
531
Default value: ``undef``
532

    
533
##### `proto`
534

    
535
Data type: `Enum['tcp','udp']`
536

    
537

    
538

    
539
Default value: `'tcp'`
540

    
541
##### `dport`
542

    
543
Data type: `Optional[Variant[String,Integer[1,65535]]]`
544

    
545

    
546

    
547
Default value: `''`
548

    
549
##### `ensure`
550

    
551
Data type: `Enum['present','absent']`
552

    
553

    
554

    
555
Default value: `'present'`
556

    
557
### `nftables::rules::masquerade`
558

    
559
masquerade all outgoing traffic
560

    
561
#### Parameters
562

    
563
The following parameters are available in the `nftables::rules::masquerade` defined type.
564

    
565
##### `rulename`
566

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

    
569

    
570

    
571
Default value: `$title`
572

    
573
##### `order`
574

    
575
Data type: `Pattern[/^\d\d$/]`
576

    
577

    
578

    
579
Default value: `'70'`
580

    
581
##### `chain`
582

    
583
Data type: `String[1]`
584

    
585

    
586

    
587
Default value: `'POSTROUTING'`
588

    
589
##### `oif`
590

    
591
Data type: `Optional[String[1]]`
592

    
593

    
594

    
595
Default value: ``undef``
596

    
597
##### `saddr`
598

    
599
Data type: `Optional[String[1]]`
600

    
601

    
602

    
603
Default value: ``undef``
604

    
605
##### `daddr`
606

    
607
Data type: `Optional[String[1]]`
608

    
609

    
610

    
611
Default value: ``undef``
612

    
613
##### `proto`
614

    
615
Data type: `Optional[Enum['tcp','udp']]`
616

    
617

    
618

    
619
Default value: ``undef``
620

    
621
##### `dport`
622

    
623
Data type: `Optional[Variant[String,Integer[1,65535]]]`
624

    
625

    
626

    
627
Default value: ``undef``
628

    
629
##### `ensure`
630

    
631
Data type: `Enum['present','absent']`
632

    
633

    
634

    
635
Default value: `'present'`
636

    
637
### `nftables::rules::snat4`
638

    
639
manage a ipv4 snat rule
640

    
641
#### Parameters
642

    
643
The following parameters are available in the `nftables::rules::snat4` defined type.
644

    
645
##### `snat`
646

    
647
Data type: `String[1]`
648

    
649

    
650

    
651
##### `rulename`
652

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

    
655

    
656

    
657
Default value: `$title`
658

    
659
##### `order`
660

    
661
Data type: `Pattern[/^\d\d$/]`
662

    
663

    
664

    
665
Default value: `'70'`
666

    
667
##### `chain`
668

    
669
Data type: `String[1]`
670

    
671

    
672

    
673
Default value: `'POSTROUTING'`
674

    
675
##### `oif`
676

    
677
Data type: `Optional[String[1]]`
678

    
679

    
680

    
681
Default value: ``undef``
682

    
683
##### `saddr`
684

    
685
Data type: `Optional[String[1]]`
686

    
687

    
688

    
689
Default value: ``undef``
690

    
691
##### `proto`
692

    
693
Data type: `Optional[Enum['tcp','udp']]`
694

    
695

    
696

    
697
Default value: ``undef``
698

    
699
##### `dport`
700

    
701
Data type: `Optional[Variant[String,Integer[1,65535]]]`
702

    
703

    
704

    
705
Default value: ``undef``
706

    
707
##### `ensure`
708

    
709
Data type: `Enum['present','absent']`
710

    
711

    
712

    
713
Default value: `'present'`
714