Projet

Général

Profil

Révision 4c3d5d6b

ID4c3d5d6bf155f92a0e2d07ede69afbb520c21f80
Parent 51850192
Enfant e99080dc

Ajouté par Tim Meusel il y a plus d'un an

rules::mdns: Allow interface filtering

Voir les différences:

manifests/rules/mdns.pp
5 5
#   Allow mdns over IPv4
6 6
# @param ipv6
7 7
#   Allow mdns over IPv6
8
# @param iifname name for incoming interfaces to filter
9
#
8 10
class nftables::rules::mdns (
9 11
  Boolean $ipv4 = true,
10 12
  Boolean $ipv6 = true,
13
  Array[String[1]] $iifname = [],
11 14
) {
15
  if empty($iifname) {
16
    $_iifname = ''
17
  } else {
18
    $iifdata = $iifname.map |String[1] $interface| { "\"${interface}\"" }.join(', ')
19
    $_iifname = "iifname { ${iifdata} } "
20
  }
12 21
  if $ipv4 {
13 22
    nftables::rule { 'default_in-mdns_v4':
14
      content => 'ip daddr 224.0.0.251 udp dport 5353 accept',
23
      content => "${_iifname}ip daddr 224.0.0.251 udp dport 5353 accept",
15 24
    }
16 25
  }
17 26
  if $ipv6 {
18 27
    nftables::rule { 'default_in-mdns_v6':
19
      content => 'ip6 daddr ff02::fb udp dport 5353 accept',
28
      content => "${_iifname}ip6 daddr ff02::fb udp dport 5353 accept",
20 29
    }
21 30
  }
22 31
}

Formats disponibles : Unified diff