Projet

Général

Profil

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

root / manifests / rules / out / dns.pp @ 19908f41

Historique | Voir | Annoter | Télécharger (1,14 ko)

1 09cba182 Steve Traylen
# @summary manage out dns
2
# @param dns_server specify dns_server name
3 d4de1bfe tr
class nftables::rules::out::dns (
4 31b17627 Steve Traylen
  Optional[Variant[String,Array[String,1]]] $dns_server = undef,
5 d4de1bfe tr
) {
6
  if $dns_server {
7
    any2array($dns_server).each |$index,$dns| {
8 11bf7237 Steve Traylen
      nftables::rule {
9 d4de1bfe tr
        "default_out-dnsudp-${index}":
10
      }
11
      if $dns =~ /:/ {
12 11bf7237 Steve Traylen
        Nftables::Rule["default_out-dnsudp-${index}"] {
13 d4de1bfe tr
          content => "ip6 daddr ${dns} udp dport 53 accept",
14
        }
15
      } else {
16 11bf7237 Steve Traylen
        Nftables::Rule["default_out-dnsudp-${index}"] {
17 d4de1bfe tr
          content => "ip daddr ${dns} udp dport 53 accept",
18
        }
19
      }
20
21 11bf7237 Steve Traylen
      nftables::rule {
22 d4de1bfe tr
        "default_out-dnstcp-${index}":
23
      }
24
      if $dns =~ /:/ {
25 11bf7237 Steve Traylen
        Nftables::Rule["default_out-dnstcp-${index}"] {
26 d4de1bfe tr
          content => "ip6 daddr ${dns} tcp dport 53 accept",
27
        }
28
      } else {
29 11bf7237 Steve Traylen
        Nftables::Rule["default_out-dnstcp-${index}"] {
30 d4de1bfe tr
          content => "ip daddr ${dns} tcp dport 53 accept",
31
        }
32
      }
33
    }
34
  } else {
35 11bf7237 Steve Traylen
    nftables::rule {
36 d4de1bfe tr
      'default_out-dnsudp':
37
        content => 'udp dport 53 accept';
38
      'default_out-dnstcp':
39
        content => 'tcp dport 53 accept';
40
    }
41 9da28f8c tr
  }
42
}