#!/bin/sh
###########################################
#               FUNCTIONS
###########################################
ip46tables () {
    iptables $@
    ip6tables $@
}

###########################################
#               FILTER
###########################################

#################################
# RAZ
################################
ip46tables -F
ip46tables -X

#################################
# DEFAULT POLICY
#################################
ip46tables -P INPUT DROP
ip46tables -P FORWARD DROP
ip46tables -P OUTPUT ACCEPT

ip46tables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

#################################
# CHAINS
#################################
ip46tables -N PUB
ip46tables -N PRIV

ip46tables -A INPUT -i eth0 -j PUB
ip46tables -A INPUT -i eth1 -j PRIV

#################################
# LOOPBACK
#################################
ip46tables -A INPUT -i lo -j ACCEPT

#################################
# PUB
#################################

# ICMP
iptables -A PUB -p icmp -j ACCEPT
ip6tables -A PUB -p icmpv6 -j ACCEPT

# DNS
ip46tables -A PUB -p udp -m udp --dport 53 -j ACCEPT
ip46tables -A PUB -p tcp -m tcp --dport 53 -j ACCEPT

#################################
# PRIV
#################################
ip46tables -A PRIV -j ACCEPT

###########################################
# END !
###########################################
iptables-save > /etc/iptables.conf
ip6tables-save > /etc/ip6tables.conf


