Révision 1ef7d5c4
rules::llmnr: Allow interface filtering
manifests/rules/llmnr.pp | ||
---|---|---|
3 | 3 |
# |
4 | 4 |
# @param ipv4 Allow LLMNR over IPv4 |
5 | 5 |
# @param ipv6 Allow LLMNR over IPv6 |
6 |
# @param iifname optional list of incoming interfaces to filter on |
|
7 |
# |
|
8 |
# @author Tim Meusel <tim@bastelfreak.de> |
|
6 | 9 |
# |
7 | 10 |
# @see https://datatracker.ietf.org/doc/html/rfc4795 |
8 | 11 |
# |
9 | 12 |
class nftables::rules::llmnr ( |
10 | 13 |
Boolean $ipv4 = true, |
11 | 14 |
Boolean $ipv6 = true, |
15 |
Array[String[1]] $iifname = [], |
|
12 | 16 |
) { |
17 |
if empty($iifname) { |
|
18 |
$_iifname = '' |
|
19 |
} else { |
|
20 |
$iifdata = $iifname.map |String[1] $interface| { "\"${interface}\"" }.join(', ') |
|
21 |
$_iifname = "iifname { ${iifdata} } " |
|
22 |
} |
|
13 | 23 |
if $ipv4 { |
14 | 24 |
nftables::rule { 'default_in-llmnr_v4': |
15 |
content => 'ip daddr 224.0.0.252 udp dport 5355 accept comment "allow LLMNR"',
|
|
25 |
content => "${_iifname}ip daddr 224.0.0.252 udp dport 5355 accept comment \"allow LLMNR\"",
|
|
16 | 26 |
} |
17 | 27 |
} |
18 | 28 |
if $ipv6 { |
19 | 29 |
nftables::rule { 'default_in-llmnr_v6': |
20 |
content => 'ip6 daddr ff02::1:3 udp dport 5355 accept comment "allow LLMNR"',
|
|
30 |
content => "${_iifname}ip6 daddr ff02::1:3 udp dport 5355 accept comment \"allow LLMNR\"",
|
|
21 | 31 |
} |
22 | 32 |
} |
23 | 33 |
} |
Formats disponibles : Unified diff