root / REFERENCE.md @ e17693e3
Historique | Voir | Annoter | Télécharger (10,9 ko)
1 | e17693e3 | Steve Traylen | # 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'` |