X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Fferm%2Ftemplates%2Fdefs.conf.erb;h=ddcf0d3caeeebe198f279b6c35eec4adaac2e08d;hb=bd99267c6cb1f4802806809562a9b1cfb31b882a;hp=82ca5f5bd519989e885248a0a71f2541f04c90e6;hpb=06f8e083701d1c0886668573295fa2dc7bb7980c;p=mirror%2Fdsa-puppet.git diff --git a/modules/ferm/templates/defs.conf.erb b/modules/ferm/templates/defs.conf.erb index 82ca5f5bd..ddcf0d3ca 100644 --- a/modules/ferm/templates/defs.conf.erb +++ b/modules/ferm/templates/defs.conf.erb @@ -8,50 +8,202 @@ } @def &SERVICE_RANGE($proto, $port, $srange) = { - proto $proto mod state state (NEW) dport $port saddr ($srange) ACCEPT; + proto $proto mod state state (NEW) dport $port @subchain "$port" { saddr ($srange) ACCEPT; }" } @def &TCP_UDP_SERVICE($port) = { proto (tcp udp) mod state state (NEW) dport $port ACCEPT; } -@def $HOST_NAGIOS = (<%= +@def &TCP_UDP_SERVICE_RANGE($port, $srange) = { + proto (tcp udp) mod state state (NEW) dport $port @subchain "$port" { saddr ($srange) ACCEPT; }" +} + +@def $HOST_MAILRELAY_V4 = (<%= + mailrelay = [] + localinfo.keys.sort.each do |node| + if localinfo[node]['mailrelay'] + allnodeinfo[node]['ipHostNumber'].each do |ip| + next if ip =~ /:/ + mailrelay << ip + end + end + end + + mailrelay.join(' ') +%>); + +@def $HOST_MAILRELAY_V6 = (<%= + mailrelay = [] + localinfo.keys.sort.each do |node| + if localinfo[node]['mailrelay'] + allnodeinfo[node]['ipHostNumber'].each do |ip| + next if ip =~ /\./ + mailrelay << ip + end + end + end + + mailrelay.join(' ') +%>); + +@def $HOST_MAILRELAY = ( $HOST_MAILRELAY_V4 $HOST_MAILRELAY_V6 ); + +@def $HOST_NAGIOS_V4 = (<%= nagii = [] localinfo.keys.sort.each do |node| - if localinfo[node]['nagiosmaster'] == "true" - nagii << keyinfo[node][0]['ipHostNumber'] - end + if localinfo[node]['nagiosmaster'] or localinfo[node]['extranrpeclient'] + allnodeinfo[node]['ipHostNumber'].each do |ip| + next if ip =~ /:/ + nagii << ip + end + end end nagii.join(' ') %>); -@def $HOST_MUNIN = (<%= +@def $HOST_NAGIOS_V6 = (<%= + nagii = [] + localinfo.keys.sort.each do |node| + if localinfo[node]['nagiosmaster'] or localinfo[node]['extranrpeclient'] + allnodeinfo[node]['ipHostNumber'].each do |ip| + next if ip =~ /\./ + nagii << ip + end + end + end + + nagii.join(' ') +%>); + +@def $HOST_NAGIOS = ( $HOST_NAGIOS_V4 $HOST_NAGIOS_V6 ); + +@def $HOST_MUNIN_V4 = (<%= munins = [] localinfo.keys.sort.each do |node| - if localinfo[node]['muninmaster'] == "true" - munins << keyinfo[node][0]['ipHostNumber'] - end + if localinfo[node]['muninmaster'] + allnodeinfo[node]['ipHostNumber'].each do |ip| + next if ip =~ /:/ + munins << ip + end + end end munins.join(' ') %>); -@def $sgran = (91.103.132.24/29); +@def $HOST_MUNIN_V6 = (<%= + munins = [] + localinfo.keys.sort.each do |node| + if localinfo[node]['muninmaster'] + allnodeinfo[node]['ipHostNumber'].each do |ip| + next if ip =~ /\./ + munins << ip + end + end + end + + munins.join(' ') +%>); + +@def $HOST_MUNIN = ( $HOST_MUNIN_V4 $HOST_MUNIN_V6 ); + +@def $HOST_DB_V6 = (<%= + dbs = [] + localinfo.keys.sort.each do |node| + if localinfo[node]['dbmaster'] + allnodeinfo[node]['ipHostNumber'].each do |ip| + next if ip =~ /\./ + dbs << ip + end + end + end + + dbs.join(' ') +%>); + +@def $HOST_DB_V4 = (<%= + dbs = [] + localinfo.keys.sort.each do |node| + if localinfo[node]['dbmaster'] + allnodeinfo[node]['ipHostNumber'].each do |ip| + next if ip =~ /:/ + dbs << ip + end + end + end + + dbs.join(' ') +%>); + +@def $HOST_DB = ($HOST_DB_V4 $HOST_DB_V6); + +@def $HOST_DEBIAN_V4 = (<%= + dbs = [] + allnodeinfo.keys.sort.each do |node| + next unless allnodeinfo[node].has_key?('ipHostNumber') + allnodeinfo[node]['ipHostNumber'].each do |ip| + next if ip =~ /:/ + dbs << ip + end + end + + dbs.join(' ') +%>); + +@def $HOST_DEBIAN_V6 = (<%= + dbs = [] + allnodeinfo.keys.sort.each do |node| + next unless allnodeinfo[node].has_key?('ipHostNumber') + allnodeinfo[node]['ipHostNumber'].each do |ip| + next if ip =~ /\./ + dbs << ip + end + end + + dbs.join(' ') +%>); + +@def $HOST_DEBIAN = ($HOST_DEBIAN_V4 $HOST_DEBIAN_V6); + +@def $sgran = (91.103.132.24/29 85.158.45.51/32); @def $weasel = (); @def $weasel = ($weasel 86.59.118.144/28); # debian@sil @def $weasel = ($weasel 86.59.21.32/29); # anguilla1 @def $weasel = ($weasel 86.59.30.32/28); # anguilla2 @def $weasel = ($weasel 141.201.27.0/24); # came -@def $weasel = ($weasel 62.99.152.178); # argos.campus-sbg +@def $weasel = ($weasel 62.99.152.176/28); # campus sbg @def $zobel = (); -@def $luca = (); +@def $zobel = ($zobel 87.139.82.80/32); # exit.credativ.com +@def $zobel = ($zobel 87.193.134.192/27); # credativ qsc +@def $zobel = ($zobel 78.47.2.104/29); # baldur, bragi, saga +@def $luca = (64.71.152.109); @def $DSA_IPS = ($sgran $weasel $zobel $luca); @def $sgran6 = (2001:4b10:100b::/48); +@def $sgran6 = ($sgran6 2001:4b10:0000:810b::/64); @def $weasel6 = (); @def $weasel6 = ($weasel6 2001:826:408:200::/56); # came @def $weasel6 = ($weasel6 2001:858:10f::/48); # anguilla @def $zobel6 = (); +@def $zobel6 = ($zobel6 2001:6f8:1215::/48); # baldur +@def $zobel6 = ($zobel6 2001:6f8:928::/48); # WS2 +@def $zobel6 = ($zobel6 2a01:198:549::/48); # WGS20 +@def $zobel6 = ($zobel6 2a01:198:6b2::/48); # AdS20 @def $luca6 = (); @def $DSA_V6_IPS = ($sgran6 $weasel6 $zobel6 $luca6); + +@def $USER_christoph = (); +@def $USER_christoph = ($USER_christoph 212.114.250.148/31); +@def $USER_aurel32 = (); +@def $USER_aurel32 = ($USER_aurel32 88.191.126.93); # hall.aurel32.net +@def $USER_aurel32 = ($USER_aurel32 82.232.2.251); # farad.aurel32.net + +@def $BUILDD_SSH_ACCESS = (); +@def $BUILDD_SSH_ACCESS = ($BUILDD_SSH_ACCESS 194.177.211.200); # grieg +@def $BUILDD_SSH_ACCESS = ($BUILDD_SSH_ACCESS 70.103.162.29); # master +@def $BUILDD_SSH_ACCESS = ($BUILDD_SSH_ACCESS 206.12.19.5); # ravel +@def $FREEBSD_SSH_ACCESS = (); +@def $FREEBSD_SSH_ACCESS = ($FREEBSD_SSH_ACCESS $DSA_IPS $BUILDD_SSH_ACCESS); +@def $FREEBSD_SSH_ACCESS = ($FREEBSD_SSH_ACCESS $USER_christoph $USER_aurel32); # buildd admins