Projet

Général

Profil

Révision aaa37172

IDaaa3717227e47c22195f2cf7e95d96bc01179cd8
Parent d38aab5b
Enfant d43ced4d

Ajouté par Nacho Barrientos il y a plus de 4 ans

Implement nftables:;simplerule::daddr

Voir les différences:

templates/simplerule.epp
2 2
      Optional[String]        $comment,
3 3
      Optional[Variant[Array[Stdlib::Port, 1], Stdlib::Port, String]] $dport,
4 4
      Optional[String]        $proto,
5
      Optional[Variant[Stdlib::IP::Address::V6, Stdlib::IP::Address::V4, Pattern[/^@[-a-zA-Z0-9_]+$/]]] $daddr,
6
      Enum['ip', 'ip6']       $set_type,
5 7
| -%>
6 8
<%- if $proto {
7 9
  $_proto = $proto ? {
......
16 18
} else {
17 19
  $_ip_version_filter = undef
18 20
} -%>
21
<%- if $daddr {
22
  if $daddr =~ Stdlib::IP::Address::V6 {
23
    $_dst_hosts = "ip6 daddr ${daddr}"
24
  } elsif $daddr =~ Stdlib::IP::Address::V4 {
25
    $_dst_hosts = "ip daddr ${daddr}"
26
  } else {
27
    $_dst_hosts = $set_type ? {
28
      'ip'  => "ip daddr ${daddr}",
29
      'ip6' => "ip6 daddr ${daddr}",
30
    }
31
  }
32
} else {
33
  $_dst_hosts = undef
34
} -%>
19 35
<%- if $proto and $dport {
20 36
  if $dport =~ Array {
21
    $_destination = "${_proto} dport {${dport.join(', ')}}"
37
    $_dst_port = "${_proto} dport {${dport.join(', ')}}"
22 38
  } else {
23
    $_destination = "${_proto} dport $dport"
39
    $_dst_port = "${_proto} dport $dport"
24 40
  }
25 41
} else {
26
  $_destination = undef
42
  $_dst_port = undef
27 43
} -%>
28 44
<%- if $comment {
29 45
  $_comment = "comment \"${comment}\""
30 46
} else {
31 47
  $_comment = undef
32 48
} -%>
33
<%= regsubst(strip([$_ip_version_filter, $_destination, $_comment, $action].join(' ')), '\s+', ' ', 'G') -%>
49
<%= regsubst(strip([$_ip_version_filter, $_dst_port, $_dst_hosts, $action, $_comment].join(' ')), '\s+', ' ', 'G') -%>

Formats disponibles : Unified diff