root / REFERENCE.md @ e17693e3
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 |
|