aboutsummaryrefslogtreecommitdiff
path: root/manifests/rules/torify/redirect_dns_to_tor.pp
blob: 9c7120420d6079926e61489159333691cceb8e38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
define shorewall::rules::torify::redirect_dns_to_tor() {

  $user = $name

  $destzone = $shorewall::tor_dns_host ? {
    '127.0.0.1' => '$FW',
    default     => 'net'
  }

  $tcp_rule = "redirect-tcp-dns-to-tor-user=${user}"
  if !defined(Shorewall::Rule["$tcp_rule"]) {
    shorewall::rule {
      "$tcp_rule":
        source          => '$FW',
        destination     => "${destzone}:${shorewall::tor_dns_host}:${shorewall::tor_dns_port}",
        proto           => 'tcp',
        destinationport => 'domain',
        user            => $user,
        order           => 108,
        action          => 'DNAT';
    }
  }

  $udp_rule = "redirect-udp-dns-to-tor-user=${user}"
  if !defined(Shorewall::Rule["$udp_rule"]) {
    shorewall::rule {
      "$udp_rule":
        source          => '$FW',
        destination     => "${destzone}:${shorewall::tor_dns_host}:${shorewall::tor_dns_port}",
        proto           => 'udp',
        destinationport => 'domain',
        user            => $user,
        order           => 108,
        action          => 'DNAT';
    }
  }

}