Задание: построить сеть для сети из 50пк, интернет сервера (шлюз) и файлового сервера
Дано: Интернет сервер: ОС Ubuntu 9.10 (доступ к Интернет (eth0) ip динамический и к Локальной сети (eth1 - 192.168.0.1))
Локальная сеть: 50пк с диапазоном 192.168.0.50-192.168.0.100, Файловый сервер 192.168.0.5
Нужен скрипт для iptables с критериями:
Вариант 1:
на шлюзе настроен squid 192.168.0.1:3128
а) прозрачный
б) обычный
доступ к файловому серверу имеют только пк с диапазоном 192.168.0.50-192.168.0.100 и 192.168.0.1, доступ из интернет закрыт в обе стороны (блокируется вход и выход)
Вариант 2:
на шлюзе нет прокси, интернет распределяется на пк с диапазоном 192.168.0.50-192.168.0.75 на остальных нет
на пк 192.168.0.76 есть доступ (вход-выход) к почте 110 и 25 и к некому сервису servis.ru:911, остальной доступ к интернет заблокирован
Итог: нужен скрипт для iptables для варианта 1 и 2 отдельные (var1.sh и var2.sh) желательно с комментариями к строкам (для неленивых)
задача... (iptables... squid...)
У вас уже есть примерный вариант скрипта?
http://ubuntueasy.com/node/365
http://www.ubuntugeek.com/how-to-setup-transparent-squid-proxy-server-in-ubuntu.html
мне ненужен конфиг squid)))... нужен скрипт с правилами... хочу посмотреть готовые решения...
Скрипт с правилами чего? Как завернуть на сквид?
как пример:
$IPTABLES -t nat -A PREROUTING -s 192.168.1.0/24 -i eth1 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-ports 3128Так, долго читал и кажется понял, что Вы хотите :)
Если до утра подождете, буду на работе скину конфиг iptables. Но уж если Вы хотите, чтобы написали конфиг прямо по Вашим условиям, то хотя бы сами попробуйте что-то сделать :)
как это все прописать я впринципе знаю... хочется посмотреть как другие реализовывают... посмотреть решения..., желательно с коментариями... чтоб потом свой написать уже со всеми плюсами!
Буду признателен за скрипт! Я не спешу и буду ждать)))
Сам скрипт не мой, достался мне от прошлых админов.
Хотя если бы я сам делал, то скорее всего по-другому
#!/bin/sh
IPTABLES="/sbin/iptables"
EXT_IFS="eth0"
EXT_IP="хх.хх.хх.хх"
LOCAL_IFS="eth1"
LOCAL_NET="192.168.0.0/24"
LOCAL_PORTS="53 80 347 8080 3128"
IN_INET_PORTS="80 347 11194"
start_fw()
{
# Setting up Forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward
# Setting up Dynamic IP for diald/masquerading
echo 1 > /proc/sys/net/ipv4/ip_dynaddr
# Increase the binding time
echo 3600 > /proc/sys/net/ipv4/netfilter/ip_conntrack_udp_timeout
# Setting up IP spoofing protection
if [ -e /proc/sys/net/ipv4/conf/all/rp_filter ]
then
for f in /proc/sys/net/ipv4/conf/*/rp_filter
do
echo 1 > $f
done
fi
echo "Setting internal rules"
$IPTABLES -F
$IPTABLES -X
$IPTABLES -t nat -F
$IPTABLES -t nat -A PREROUTING -p tcp --dport 3389 -i ${EXT_IFS} -j DNAT --to 192.168.0.252:3389
$IPTABLES -t nat -A PREROUTING -p tcp --dport 3388 -i ${EXT_IFS} -j DNAT --to 192.168.0.25:3389
$IPTABLES -t nat -A PREROUTING -p tcp --dport 4001 -i ${EXT_IFS} -j DNAT --to 192.168.0.22:3389
$IPTABLES -t nat -A PREROUTING -p tcp --dport 3387 -i ${EXT_IFS} -j DNAT --to 192.168.0.250:3389
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -s ${LOCAL_NET} -j DNAT --to 192.168.0.254:3128
#$IPTABLES -t nat -A PREROUTING -p tcp --dport 443 -s ${LOCAL_NET} -j DNAT --to 192.168.0.254:3128
#$IPTABLES -t nat -A PREROUTING -p tcp --dport 563 -s ${LOCAL_NET} -j DNAT --to 192.168.0.254:3128
echo "Setting default rule to drop"
$IPTABLES -P FORWARD DROP
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
# Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1,
# DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E)
$IPTABLES -N stop_manning_dsua_03_nets
$IPTABLES -F stop_manning_dsua_03_nets
$IPTABLES -A stop_manning_dsua_03_nets -d 0.0.0.0/8 -j DROP
$IPTABLES -A stop_manning_dsua_03_nets -d 169.254.0.0/16 -j DROP
$IPTABLES -A stop_manning_dsua_03_nets -d 192.0.2.0/24 -j DROP
$IPTABLES -A stop_manning_dsua_03_nets -d 224.0.0.0/4 -j DROP
$IPTABLES -A stop_manning_dsua_03_nets -d 240.0.0.0/4 -j DROP
# Stop RFC1918 nets
$IPTABLES -N stop_RFC1918_nets
$IPTABLES -F stop_RFC1918_nets
$IPTABLES -A stop_RFC1918_nets -s 10.0.0.0/8 -j DROP
$IPTABLES -A stop_RFC1918_nets -s 172.16.0.0/12 -j DROP
$IPTABLES -A stop_RFC1918_nets -s 192.168.0.0/16 -j DROP
$IPTABLES -N icq
$IPTABLES -F icq
$IPTABLES -A icq -p tcp --dport 5190 -j ACCEPT
$IPTABLES -N internet
$IPTABLES -F internet
$IPTABLES -A internet -p tcp --dport 80 -j ACCEPT
$IPTABLES -A internet -p tcp --dport 443 -j ACCEPT
$IPTABLES -N rdp
$IPTABLES -F rdp
$IPTABLES -A rdp -p tcp --dport 3389 -j ACCEPT
$IPTABLES -A rdp -p udp --dport 3389 -j ACCEPT
$IPTABLES -A rdp -p tcp --dport 6900 -j ACCEPT
$IPTABLES -A rdp -p udp --dport 6900 -j ACCEPT
$IPTABLES -A rdp -p tcp --dport 9900 -j ACCEPT
$IPTABLES -A rdp -p udp --dport 9900 -j ACCEPT
$IPTABLES -N kav
$IPTABLES -F kav
$IPTABLES -A kav -s 93.191.13.0/24 -j ACCEPT
$IPTABLES -A kav -d 93.191.13.0/24 -j ACCEPT
$IPTABLES -A kav -s 195.27.181.0/24 -j ACCEPT
$IPTABLES -A kav -d 195.27.181.0/24 -j ACCEPT
$IPTABLES -N mail
$IPTABLES -F mail
$IPTABLES -A mail -j kav
$IPTABLES -A mail -p tcp --dport 25 -j ACCEPT # smtp.*
$IPTABLES -A mail -p tcp --dport 2525 -j ACCEPT # smtp.mail.ru smtp.list.ru smtp.bk.ru smtp.inbox.ru
$IPTABLES -A mail -p tcp --dport 110 -j ACCEPT # pop.* pop3.*
$IPTABLES -A mail -p tcp --dport 143 -j ACCEPT # imap.* imap4.*
$IPTABLES -A mail -p tcp --dport 995 -j ACCEPT # pop.gmail.com
$IPTABLES -A mail -p tcp --dport 993 -j ACCEPT # imap.gmail.com
$IPTABLES -A mail -p tcp --dport 587 -j ACCEPT # smtp.gmail.com
$IPTABLES -A mail -p tcp --dport 465 -j ACCEPT # smtp.gmail.com
$IPTABLES -N mail-ru
$IPTABLES -F mail-ru
$IPTABLES -A mail-ru -j kav
$IPTABLES -A mail-ru -j mail
$IPTABLES -A mail-ru -s 74.125.0.0/16 -j ACCEPT
$IPTABLES -A mail-ru -d 74.125.0.0/16 -j ACCEPT
$IPTABLES -A mail-ru -s 209.85.128.0/17 -j ACCEPT
$IPTABLES -A mail-ru -d 209.85.128.0/17 -j ACCEPT
$IPTABLES -N mail_icq
$IPTABLES -F mail_icq
$IPTABLES -A mail_icq -j icq
$IPTABLES -A mail_icq -j mail
$IPTABLES -A mail_icq -j kav
$IPTABLES -N mail_internet
$IPTABLES -F mail_internet
$IPTABLES -A mail_internet -j mail
$IPTABLES -A mail_internet -j internet
$IPTABLES -A mail_internet -j kav
$IPTABLES -N mail_icq_rdp
$IPTABLES -F mail_icq_rdp
$IPTABLES -A mail_icq_rdp -j internet
$IPTABLES -A mail_icq_rdp -j icq
$IPTABLES -A mail_icq_rdp -j mail
$IPTABLES -A mail_icq_rdp -j rdp
$IPTABLES -A mail_icq_rdp -j kav
$IPTABLES -N localtoinet
$IPTABLES -F localtoinet
$IPTABLES -A localtoinet -s 192.168.0.250 -j ACCEPT # pdc SERVER
$IPTABLES -A localtoinet -s 192.168.0.249 -j ACCEPT # bdc SERVER
$IPTABLES -A localtoinet -s 192.168.0.252 -j ACCEPT # terminal SERVER
$IPTABLES -A localtoinet -s 192.168.0.20 -m mac --mac-source 00:11:6B:96:C7:60 -j mail-ru
$IPTABLES -A localtoinet -s 192.168.0.26 -m mac --mac-source 00:11:6B:96:C6:11 -j mail
$IPTABLES -A localtoinet -s 192.168.0.25 -m mac --mac-source 00:11:6B:96:C9:E2 -j ACCEPT
$IPTABLES -A localtoinet -s 192.168.0.23 -m mac --mac-source 00:11:6B:96:CA:90 -j mail_icq_rdp
$IPTABLES -A localtoinet -s 192.168.0.31 -m mac --mac-source 00:11:6B:96:C8:FD -j mail_icq
$IPTABLES -A localtoinet -s 192.168.0.30 -m mac --mac-source 00:11:6B:96:D0:32 -j mail_icq
$IPTABLES -A localtoinet -s 192.168.0.33 -m mac --mac-source 00:11:6B:96:C6:7F -j mail_icq
$IPTABLES -A localtoinet -s 192.168.0.27 -m mac --mac-source 00:11:6B:96:C7:0A -j ACCEPT
$IPTABLES -A localtoinet -s 192.168.0.32 -m mac --mac-source 00:11:6B:96:C4:EC -j ACCEPT
$IPTABLES -A localtoinet -s 192.168.0.24 -m mac --mac-source 00:11:6B:96:C8:3F -j mail
$IPTABLES -A localtoinet -s 192.168.0.99 -m mac --mac-source 00:16:d3:08:3f:ff -j ACCEPT
$IPTABLES -A localtoinet -s 192.168.0.252 -m mac --mac-source 00:11:6B:96:CA:C4 -j ACCEPT
$IPTABLES -A localtoinet -s 192.168.0.22 -m mac --mac-source 00:11:6B:96:C6:F2 -j ACCEPT
$IPTABLES -A localtoinet -s 192.168.0.21 -m mac --mac-source 00:11:6B:96:C9:83 -j mail_icq
$IPTABLES -A localtoinet -s 192.168.0.100 -m mac --mac-source 00:11:6B:96:C9:DE -j mail
$IPTABLES -A localtoinet -s 192.168.0.165 -m mac --mac-source 00:03:25:30:72:B3 -j ACCEPT
$IPTABLES -A localtoinet -s 192.168.0.3 -m mac --mac-source 00:1D:60:EA:34:90 -j mail_icq_rdp
#Internet Rules
$IPTABLES -N accept_from_internet
$IPTABLES -F accept_from_internet
$IPTABLES -A accept_from_internet -p icmp -j ACCEPT
for j in $IN_INET_PORTS;
do
$IPTABLES -A accept_from_internet -p udp --dport $j -j ACCEPT
$IPTABLES -A accept_from_internet -p tcp --dport $j -j ACCEPT
done
$IPTABLES -A accept_from_internet -j stop_manning_dsua_03_nets
$IPTABLES -A accept_from_internet -j stop_RFC1918_nets
#Local Network Rules
$IPTABLES -N accept_from_intranet
$IPTABLES -F accept_from_intranet
for i in $LOCAL_PORTS;
do
$IPTABLES -A accept_from_intranet -p udp --dport $i -j ACCEPT
$IPTABLES -A accept_from_intranet -p tcp --dport $i -j ACCEPT
done
#default rule
echo "Creating states chain"
$IPTABLES -N allowed-connection
$IPTABLES -F allowed-connection
$IPTABLES -A allowed-connection -m state --state ESTABLISHED,RELATED -j ACCEPT
# NAT Rules
echo "Enabling NAT"
$IPTABLES -t nat -A POSTROUTING -o ${EXT_IFS} -s ${LOCAL_NET} -j SNAT --to-source ${EXT_IP}
# Apply and add invalid states to the chains
echo "Applying chains to INPUT"
$IPTABLES -A INPUT -m state --state INVALID -j DROP
$IPTABLES -A INPUT -p tcp --destination-port 113 -j REJECT
$IPTABLES -A INPUT -s 127.0.0.0/8 -i ! lo -j DROP
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A INPUT -i ${EXT_IFS} --source 205.209.164.17 -j DROP
$IPTABLES -A INPUT -i ${EXT_IFS} -j accept_from_internet
$IPTABLES -A INPUT -i ${LOCAL_IFS} -j ACCEPT
$IPTABLES -A INPUT -j allowed-connection
echo "Applying chains to FORWARD"
$IPTABLES -I FORWARD 1 -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
$IPTABLES -A FORWARD -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -o lo -j ACCEPT
$IPTABLES -A FORWARD -s $LOCAL_NET -i $LOCAL_IFS -o $EXT_IFS -j localtoinet # LOCAL_IFS
$IPTABLES -A FORWARD -i $EXT_IFS -o $LOCAL_IFS -j ACCEPT
echo "Applying chains to OUTPUT"
$IPTABLES -A OUTPUT -m state --state INVALID -j DROP
$IPTABLES -A OUTPUT -o lo -j ACCEPT
$IPTABLES -A OUTPUT -j allowed-connection
$IPTABLES -A OUTPUT -m state --state NEW -j ACCEPT
}
case "$1" in
start) echo "Starting firewall: iptables"
start_fw
echo "."
;;
stop) echo "Stopping firewall: iptables"
iptables -F
iptables -X
echo "."
;;
save) echo "Saving firewall: iptables"
iptables-save > /etc/iptables.up.rules
echo "."
;;
restart) echo "Restarting firewall: iptables"
iptables -F
iptables -X
start_fw
echo "."
;;
reload|force-reload) echo "Reloading configuration files for firewall: iptables"
echo "."
;;
*) echo "Usage: /etc/init.d/rc.iptables start|stop|restart|reload|force-reload"
exit 1
;;
esac
exit 0
прозрачный прокси - HELP
В linux-е работаю всего неделю. Помогите настроить прозрачный прокси.
установлены: iptables-1.4.1.1-2.0.140asp.i386.rpm, squid-3.0.STABLE7-1.0.140asp.i386.rpm.
В частности что бы можно было использовать Radmin и 443 порт (к примеру игры на mail.ru).
В данный момент настроил интернет. Пользователи выходят если в браузере указать прокси.
Более того на некоторых машинах удалось подключить программы: СЭД, Клиент-банк.
(на этих машинах адрес шлюза указан и они соединяются).
iptables
# Generated by iptables-save v1.4.1.1 on Thu Mar 18 16:04:37 2010
*nat
:PREROUTING ACCEPT [136930:11821594]
:POSTROUTING ACCEPT [23313:1459015]
:OUTPUT ACCEPT [23291:1457365]
-A POSTROUTING -s 192.168.0.0/24 -p tcp -m tcp --dport 5190 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -p tcp -m tcp --dport 21 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -p tcp -m tcp --dport 22 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -d 92.50.197.38/32 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -d 213.59.128.139/32 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/24 -d 87.103.236.163/32 -j MASQUERADE #СЭД
-A POSTROUTING -s 192.168.0.0/24 -d 195.206.39.234/32 -j MASQUERADE #ФПСУ банк
-A POSTROUTING -s 192.168.0.0/24 -d 83.234.11.238/32 -j MASQUERADE #ФПСУ банк
COMMIT
# Completed on Thu Mar 18 16:04:37 2010
# Generated by iptables-save v1.4.1.1 on Thu Mar 18 16:04:37 2010
*filter
:INPUT ACCEPT [5385677:7624079630]
:FORWARD ACCEPT [6279:925069]
:OUTPUT ACCEPT [10791550:6422396009]
-A INPUT -s 213.59.128.139/32 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j DROP
-A INPUT -p tcp -m tcp --dport 3128 -j DROP
-A INPUT -p tcp -m tcp --dport 10000 -j DROP
-A INPUT -p tcp -m tcp --sport 443 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
COMMIT
# Completed on Thu Mar 18 16:04:37 2010
# Generated by iptables-save v1.4.1.1 on Thu Mar 18 16:04:37 2010
*mangle
:PREROUTING ACCEPT [9566136:7833370472]
:INPUT ACCEPT [9437000:7822171738]
:FORWARD ACCEPT [6747:986937]
:OUTPUT ACCEPT [10792975:6422549859]
:POSTROUTING ACCEPT [10799734:6423539410]
COMMIT
# Completed on Thu Mar 18 16:04:37 2010
squid.conf
http_port 192.168.0.61:3128 transparent
# http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 16 MB
cache_swap_low 90
cache_swap_high 95
maximum_object_size 10 KB
minimum_object_size 0 KB
cache_dir ufs /var/spool/squid 100 16 256
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
emulate_httpd_log on
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
#acl all src 0.0.0.0/0.0.0.0
acl localnet src 192.168.0.0/255.255.255.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # https, snews
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
#acl Safe_ports port 4899 # radmin
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow localnet
http_reply_access allow all
http_reply_access allow all
icp_access allow all
cache_effective_user squid
visible_hostname none
Забыл указать, что установлена система ASPLinux 14 Cobalt
Сквид не кэширует зашифрованный трафик, потому соединения через 443 через сквид работать не будут.
А для Radmin'а просто укажите правила в файерволле. Не вижу смысла его через сквид заворачивать
подскажи как сделать так чтобы какая-то машина получала интернет помимо прокси.
В примерах плиз.
У Вас на прокси заворачивается что? Браузер? К браузеру радмин тот же не имеет никакого отношения.
Так, и напишите еще, радмин должен выходить с роутера или входить на него?
я работаю под WinXP. Linux понятно установил на отдельной машине для раздачи интернета.
Нужно, что бы я мог подключиться к (например дому с рабочей машины)
и соответственно из дома мог подключиться на рабочую машину.
И как же все таки запустить инет помимо прокси скажем для моей машины?
Инет - это немного неправильное определение.
Допустим, программы, использующие выход в сеть, можно пускать через прокси. а можно в обход. Все зависит от желания и правил файерволла.
Например, я у себя не настраивал у клиентов прокси. Я просто с помощью iptables перенаправил 80 порт через сквид. Примерно так:
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -s ${LOCAL_NET} -j DNAT --to 192.168.10.2:3128Если нужно какую-то машину пускать в обход, то можно прописать в правило исключение, например.
Что касается радмина, то для доступа из дома можно попробовать вот так:
$IPTABLES -t nat -A PREROUTING -p tcp --dport 4899 -i ${EXT_IFS} -j DNAT --to 192.168.10.3:4899где 192.168.10.3 - айпишник на вашей машине на работе. Надеюсь, порт указал правильно, не помню какой точно у радмина
Вобщем не не работает прозрачный прокси.
Интернет с динамически присваиваемом адресе.
С iptables как-только не пробовал. Может что-то надо прописать в squid-е
Прописать в сквиде чтобы что?
Здравствуйте, подскажите пожалуйста, почему не работает прозрачное проксирование, а именно, какая ошибка в скрипте для iptables, почему он отбрасывает пакеты?
INET_IP="192.168.1.2"
INET_IFACE="eth0"
INET_BROADCAST="192.168.1.255"
LAN_IP="10.20.10.20"
LAN_IP_RANGE="10.20.0.0/255.255.0.0"
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 DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -N bad_tcp_packets
$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets
$IPTABLES -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK \
-m state --state NEW -j REJECT --reject-with tcp-reset
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
--log-prefix "New not syn:"
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 3128 -j allowed
#$IPTABLES -A udp_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT
#$IPTABLES -A udp_packets -p UDP -s 0/0 --source-port 123 -j ACCEPT
$IPTABLES -A udp_packets -p UDP -s 0/0 --source-port 2074 -j ACCEPT
$IPTABLES -A udp_packets -p UDP -s 0/0 --source-port 4000 -j ACCEPT
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -d $LAN_IP -m state --state ESTABLISHED,RELATED \
-j ACCEPT
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED \
-j ACCEPT
$IPTABLES -A INPUT -p TCP -j tcp_packets
$IPTABLES -A INPUT -p UDP -j udp_packets
$IPTABLES -A INPUT -p ICMP -j icmp_packets
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT INPUT packet died: "
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
$IPTABLES -A FORWARD -p tcp --dport 80 -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -p tcp --dport 3128 -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT FORWARD packet died: "
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT OUTPUT packet died: "
$IPTABLES -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP