Initial support for ipv6 firewall in linux iptables.
This commit is contained in:
parent
e07ce25ef2
commit
319d670437
3 changed files with 58 additions and 5 deletions
26
firewall/templates/ip6tables.erb
Normal file
26
firewall/templates/ip6tables.erb
Normal file
|
@ -0,0 +1,26 @@
|
|||
<% 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
|
||||
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
-A INPUT -p ipv6-icmp -j ACCEPT
|
||||
<%
|
||||
firewall_rules.each do |rule|
|
||||
rule = /(tcp|udp)\/([\d:]+)( .+)?/.match(rule)
|
||||
if not rule[3] or IPAddr.new(rule[3].strip()).ipv6?
|
||||
-%>
|
||||
-A INPUT<% if rule[1] == "tcp" %> -m state --state NEW<% end %> -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 -j REJECT --reject-with icmp6-adm-prohibited
|
||||
-A FORWARD -j REJECT --reject-with icmp6-adm-prohibited
|
||||
COMMIT
|
|
@ -7,11 +7,17 @@
|
|||
-A INPUT -p esp -j ACCEPT
|
||||
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
||||
-A INPUT -p icmp --icmp-type any -j ACCEPT
|
||||
<% firewall_rules.each do |rule| -%>
|
||||
<% rule = /(tcp|udp)\/([\d:]+)( .+)?/.match(rule) -%>
|
||||
<%
|
||||
firewall_rules.each do |rule|
|
||||
rule = /(tcp|udp)\/([\d:]+)( .+)?/.match(rule)
|
||||
if not rule[3] or IPAddr.new(rule[3].strip()).ipv4?
|
||||
-%>
|
||||
-A INPUT<% if rule[1] == "tcp" %> -m state --state NEW<% end %> -m <%= rule[1] %> -p <%= rule[1] %><% if rule[3] %> -s<%= rule[3] %><% end %> --dport <%= rule[2] %> -j ACCEPT
|
||||
<% end -%>
|
||||
<% firewall_custom.each do |rule| -%>
|
||||
<%
|
||||
end
|
||||
end
|
||||
firewall_custom.each do |rule|
|
||||
-%>
|
||||
<%= rule %>
|
||||
<% end -%>
|
||||
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue