init.pp 2.53 KB
Newer Older
mh's avatar
mh committed
1
class shorewall { 
2

mh's avatar
mh committed
3 4
  include common::moduledir
  module_dir { "shorewall": }
5

mh's avatar
mh committed
6 7
  case $operatingsystem {
    gentoo: { include shorewall::gentoo }
8 9 10 11
    debian: {
      include shorewall::debian
      $dist_tor_user = 'debian-tor'
    }
mh's avatar
mh committed
12 13 14 15 16 17
    centos: { include shorewall::base }
    ubuntu: {
    case $lsbdistcodename {
      karmic: { include shorewall::ubuntu::karmic }
      default: { include shorewall::debian }
      }
18
    }
mh's avatar
mh committed
19 20
    default: {
      notice "unknown operatingsystem: $operatingsystem" 
21
      include shorewall::base
mh's avatar
mh committed
22 23 24
    }
  }

25 26 27 28 29 30 31 32 33 34 35 36 37
  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,
    }
  }

mh's avatar
mh committed
38 39 40 41 42
  file {"/var/lib/puppet/modules/shorewall":
    ensure => directory,
    force => true,
    owner => root, group => 0, mode => 0755; 
  }
43

mh's avatar
mh committed
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
  # 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: }
68
  # See http://www.shorewall.net/3.0/traffic_shaping.htm
69
  shorewall::managed_file { tcdevices: }
70
  # See http://www.shorewall.net/3.0/traffic_shaping.htm
71
  shorewall::managed_file { tcrules: }
72
  # See http://www.shorewall.net/3.0/traffic_shaping.htm
73
  shorewall::managed_file { tcclasses: }
74
  
varac's avatar
varac committed
75
  shorewall::managed_file { rtrules: }
varac's avatar
varac committed
76
  shorewall::managed_file { providers: }
varac's avatar
varac committed
77
  
78
}