Projet

Général

Profil

Révision d4de1bfe

IDd4de1bfe19382d8d20cb912dabae046c531a29ef
Parent a98c98d4
Enfant 15aaf3c5

Ajouté par tr il y a plus de 4 ans

Allow to set a list of dns servers

Voir les différences:

manifests/rules/out/dns.pp
1 1
# manage out dns
2
class nftables::rules::out::dns {
3
  nftables::filter::chain::rule{
4
    'default_out-dnsudp':
5
      content => 'udp dport 53 accept';
6
    'default_out-dnstcp':
7
      content => 'tcp dport 53 accept';
2
class nftables::rules::out::dns (
3
  Optional[Variant[String,Array[String,1]]]
4
    $dns_server = undef,
5
) {
6
  if $dns_server {
7
    any2array($dns_server).each |$index,$dns| {
8

  
9
      nftables::filter::chain::rule{
10
        "default_out-dnsudp-${index}":
11
      }
12
      if $dns =~ /:/ {
13
        Nftables::Filter::Chain::Rule["default_out-dnsudp-${index}"]{
14
          content => "ip6 daddr ${dns} udp dport 53 accept",
15
        }
16
      } else {
17
        Nftables::Filter::Chain::Rule["default_out-dnsudp-${index}"]{
18
          content => "ip daddr ${dns} udp dport 53 accept",
19
        }
20
      }
21

  
22
      nftables::filter::chain::rule{
23
        "default_out-dnstcp-${index}":
24
      }
25
      if $dns =~ /:/ {
26
        Nftables::Filter::Chain::Rule["default_out-dnstcp-${index}"]{
27
          content => "ip6 daddr ${dns} tcp dport 53 accept",
28
        }
29
      } else {
30
        Nftables::Filter::Chain::Rule["default_out-dnstcp-${index}"]{
31
          content => "ip daddr ${dns} tcp dport 53 accept",
32
        }
33
      }
34
    }
35
  } else {
36
    nftables::filter::chain::rule{
37
      'default_out-dnsudp':
38
        content => 'udp dport 53 accept';
39
      'default_out-dnstcp':
40
        content => 'tcp dport 53 accept';
41
    }
8 42
  }
9 43
}

Formats disponibles : Unified diff