aboutsummaryrefslogtreecommitdiff
path: root/manifests/init.pp
blob: f69a6f26c12f2478c489bdb5ea4c5fce2fdf6cc4 (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
class shorewall { 

  include common::moduledir
  module_dir { "shorewall": }

  case $operatingsystem {
    gentoo: { include shorewall::gentoo }
    debian: {
      include shorewall::debian
      $dist_tor_user = 'debian-tor'
    }
    centos: { include shorewall::base }
    ubuntu: {
    case $lsbdistcodename {
      karmic: { include shorewall::ubuntu::karmic }
      default: { include shorewall::debian }
      }
    }
    default: {
      notice "unknown operatingsystem: $operatingsystem" 
      include shorewall::base
    }
  }

  case $tor_transparent_proxy_host {
    '': { $tor_transparent_proxy_host = '127.0.0.1' }
  }
  case $tor_transparent_proxy_port {
    '': { $tor_transparent_proxy_port = '9040' }
  }
  if $tor_user == '' {
    $tor_user = $dist_tor_user ? {
      ''      => 'tor',
      default => $dist_tor_user,
    }
  }

  file {"/var/lib/puppet/modules/shorewall":
    ensure => directory,
    force => true,
    owner => root, group => 0, mode => 0755; 
  }

  # See http://www.shorewall.net/3.0/Documentation.htm#Zones
  shorewall::managed_file{ zones: }
  # See http://www.shorewall.net/3.0/Documentation.htm#Interfaces
  shorewall::managed_file{ interfaces: }
  # See http://www.shorewall.net/3.0/Documentation.htm#Hosts
  shorewall::managed_file { hosts: }
  # See http://www.shorewall.net/3.0/Documentation.htm#Policy
  shorewall::managed_file { policy: }
  # See http://www.shorewall.net/3.0/Documentation.htm#Rules
  shorewall::managed_file { rules: }
  # See http://www.shorewall.net/3.0/Documentation.htm#Masq
  shorewall::managed_file{ masq: }
  # See http://www.shorewall.net/3.0/Documentation.htm#ProxyArp
  shorewall::managed_file { proxyarp: }
  # See http://www.shorewall.net/3.0/Documentation.htm#NAT
  shorewall::managed_file { nat: }
  # See http://www.shorewall.net/3.0/Documentation.htm#Blacklist
  shorewall::managed_file { blacklist: }
  # See http://www.shorewall.net/3.0/Documentation.htm#rfc1918
  shorewall::managed_file { rfc1918: }
  # See http://www.shorewall.net/3.0/Documentation.htm#Routestopped
  shorewall::managed_file { routestopped: }
  # See http://www.shorewall.net/3.0/Documentation.htm#Variables 
  shorewall::managed_file { params: }
  # See http://www.shorewall.net/3.0/traffic_shaping.htm
  shorewall::managed_file { tcdevices: }
  # See http://www.shorewall.net/3.0/traffic_shaping.htm
  shorewall::managed_file { tcrules: }
  # See http://www.shorewall.net/3.0/traffic_shaping.htm
  shorewall::managed_file { tcclasses: }
  
}