#!/bin/sh

INET_IP="10.55.110.2" # ip внешнего интерфейса
INET_IFACE="eth0" # здесь имя внешнего интерфейса
LAN_IP="192.168.0.1" # ip локального интерфейса
LAN_IP_RANGE="192.168.0.0/24" # локальная сеть
LAN_IFACE="eth1" # имя локального интерфейса
LO_IFACE="lo"
LO_IP="127.0.0.1"

IPTABLES="/sbin/iptables"

/sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state

echo "1" > /proc/sys/net/ipv4/ip_forward

$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -t nat -F
$IPTABLES -F
$IPTABLES -X

# эти строки раскоментируются если применяется прозрачный прокси squid
#$IPTABLES -A INPUT -s $LAN_IP_RANGE -d $LAN_IP -p tcp --destination-port 3128 -j ACCEPT
#$IPTABLES -t nat -A PREROUTING -s $LAN_IP_RANGE -d $LAN_IP -p tcp --destination-port 80 -j ACCEPT
#$IPTABLES -t nat -A PREROUTING -s $LAN_IP_RANGE -p tcp --destination-port 80 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
#$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE # это включается при динамеческом ip, предыдущая строка выключается
# Форвардить сетевой трафик с $LAN_IFACE на интернетовский интерфейс $INET_IFACE
$IPTABLES -A FORWARD -i $LAN_IFACE -o $INET_IFACE -m state --state NEW,ESTABLISHED -j ACCEPT
# Разрешаем доступ к SSH серверу
$IPTABLES -A INPUT --protocol tcp --dport 22 -s $LAN_IP_RANGE-j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 22 -j DROP
# Разрешаем доступ к HTTP серверу на роутере
$IPTABLES -A INPUT --protocol tcp --dport 80 -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT --protocol tcp --dport 80 -j DROP
# Блокируем все прочие попытки доступа на $ INET_IFACE
$IPTABLES -A INPUT -i $INET_IFACE -m state --state NEW,INVALID -j DROP
$IPTABLES -A FORWARD -i $INET_IFACE -m state --state NEW,INVALID -j DROP
