# Для локальной стороны # Сетевой интерфейс, свзязанный с локалкой LAN_IFACE="eth0" # IP-адрес "локального" сетевого интерфеса LAN_IP="192.168.0.1" # Диапазон ip-адресов локальной подсети LAN_IP_RANGE="192.168.0.0/24"
# Для внутренних дел (интерфейс обратной петли) # Название LO_IFACE="lo" # IP-адрес LO_IP="127.0.0.1"
# Ускоренное обращение к утилитам IPTABLES="/sbin/iptables" DEPMOD="/sbin/depmod" MODPROBE="/sbin/modprobe"
#****************************************************** # Загрузка модулей, отвечающих за работу фильтрации #****************************************************** $DEPMOD -a $MODPROBE ip_tables $MODPROBE iptable_nat $MODPROBE iptable_filter $MODPROBE ipt_state $MODPROBE ip_gre
#****************************************************** # Работаем с таблицей filter #****************************************************** # Определение политик по умолчанию $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD DROP
#ICMP $IPTABLES -N icmp-packets $IPTABLES -A icmp-packets -p ICMP --icmp-type 3 -j ACCEPT $IPTABLES -A icmp-packets -p ICMP --icmp-type 8 -j ACCEPT $IPTABLES -A icmp-packets -p ICMP --icmp-type 11 -j ACCEPT $IPTABLES -A icmp-packets -p ICMP --icmp-type 12 -j ACCEPT $IPTABLES -A icmp-packets -p ICMP -j DROP
$IPTABLES -A INPUT -p ICMP -j icmp-packets $IPTABLES -A FORWARD -p ICMP -j icmp-packets
#Подключаем 22 порт для SSH, 137, 138,139 для SAMBA, 1723 для VPN $IPTABLES -N tcp_packets $IPTABLES -A tcp_packets -p TCP -i $LAN_IFACE --dport 22 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -i $LAN_IFACE --dport 1723 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -i $LAN_IFACE --dport 137 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -i $LAN_IFACE --dport 138 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -i $LAN_IFACE --dport 139 -j ACCEPT $IPTABLES -A tcp_packets -p TCP -j DROP
#Подключаем порт 137, 138,139 для SAMBA udp $IPTABLES -N udp_packets $IPTABLES -A udp_packets -p UDP -i $LAN_IFACE --dport 137 -j ACCEPT $IPTABLES -A udp_packets -p UDP -i $LAN_IFACE --dport 138 -j ACCEPT $IPTABLES -A udp_packets -p UDP -i $LAN_IFACE --dport 139 -j ACCEPT $IPTABLES -A udp_packets -p UDP -j DROP
#LO $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT
#bad_packets $IPTABLES -N bad_packets $IPTABLES -A bad_packets -p TCP --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP
#allowed $IPTABLES -N allowed $IPTABLES -A allowed -p TCP --syn -j ACCEPT $IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A allowed -j DROP
$IPTABLES -A INPUT -p UDP -i $LAN_IFACE -s $LAN_IP_RANGE -j udp_packets $IPTABLES -A INPUT -p TCP -i $LAN_IFACE -s $LAN_IP_RANGE -j tcp_packets $IPTABLES -A INPUT -p TCP -j bad_packets $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j DROP
#Обеспечим минимальный уровень безопасности $IPTABLES -A FORWARD -m state --state NEW -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -o $LAN_IFACE -j ACCEPT $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -o $INET_IFACE -j ACCEPT
#VPN $IPTABLES -A FORWARD -p GRE -j ACCEPT
#****************************************************** # Работаем с таблицей nat #******************************************************
#****************************************************** # Таблица nat - стандартная цепочка POSTROUTING #****************************************************** # Включаем пересылку и маскирование (маскарад) адресов локальной сети #$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE $IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -j SNAT --to-source $INET_IP
