puppet/firewall/templates/ip6tables.erb

31 lines
904 B
Text

<% require 'ipaddr' -%>
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m ipv6header --header ah -j ACCEPT
-A INPUT -m ipv6header --header esp -j ACCEPT
<% if @ip6states >= 0 -%>
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
<% else -%>
-A INPUT -m tcp -p tcp ! --syn -j ACCEPT
-A INPUT -m udp -p udp --dport 32768:61000 -j ACCEPT
<% end -%>
<%
@firewall_rules.each do |rule|
rule = /(tcp|udp)\/([\d:]+)( .+)?/.match(rule)
if not rule[3] or IPAddr.new(rule[3].strip()).ipv6?
-%>
-A INPUT -m <%= rule[1] %> -p <%= rule[1] %><% if rule[3] %> -s<%= rule[3] %><% end %> --dport <%= rule[2] %> -j ACCEPT
<%
end
end
@firewall_custom.each do |rule|
-%>
<%= rule %>
<% end -%>
-A INPUT -p ipv6-icmp -j ACCEPT
-A INPUT -j REJECT --reject-with icmp6-adm-prohibited
-A FORWARD -j REJECT --reject-with icmp6-adm-prohibited
COMMIT