LinuxForum.Fans
Тема

задача... (iptables... squid...)

Автор: uamtamb 15 сообщений 5327 просмотров
#5915

Задание: построить сеть для сети из 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) желательно с комментариями к строкам (для неленивых)

#5941

мне ненужен конфиг squid)))... нужен скрипт с правилами... хочу посмотреть готовые решения...

#5945

Скрипт с правилами чего? Как завернуть на сквид?
как пример:

text
$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. Но уж если Вы хотите, чтобы написали конфиг прямо по Вашим условиям, то хотя бы сами попробуйте что-то сделать :)

#5969

как это все прописать я впринципе знаю... хочется посмотреть как другие реализовывают... посмотреть решения..., желательно с коментариями... чтоб потом свой написать уже со всеми плюсами!
Буду признателен за скрипт! Я не спешу и буду ждать)))

#6391

Сам скрипт не мой, достался мне от прошлых админов.
Хотя если бы я сам делал, то скорее всего по-другому

text
#!/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

#16615

прозрачный прокси - 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

text
# 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

text
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

#16620

Сквид не кэширует зашифрованный трафик, потому соединения через 443 через сквид работать не будут.
А для Radmin'а просто укажите правила в файерволле. Не вижу смысла его через сквид заворачивать

#16626

подскажи как сделать так чтобы какая-то машина получала интернет помимо прокси.
В примерах плиз.

#16629

У Вас на прокси заворачивается что? Браузер? К браузеру радмин тот же не имеет никакого отношения.
Так, и напишите еще, радмин должен выходить с роутера или входить на него?

#16632

я работаю под WinXP. Linux понятно установил на отдельной машине для раздачи интернета.
Нужно, что бы я мог подключиться к (например дому с рабочей машины)
и соответственно из дома мог подключиться на рабочую машину.
И как же все таки запустить инет помимо прокси скажем для моей машины?

#16638

Инет - это немного неправильное определение.
Допустим, программы, использующие выход в сеть, можно пускать через прокси. а можно в обход. Все зависит от желания и правил файерволла.

Например, я у себя не настраивал у клиентов прокси. Я просто с помощью iptables перенаправил 80 порт через сквид. Примерно так:

text
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -s ${LOCAL_NET} -j DNAT --to 192.168.10.2:3128

Если нужно какую-то машину пускать в обход, то можно прописать в правило исключение, например.

Что касается радмина, то для доступа из дома можно попробовать вот так:

text
$IPTABLES -t nat -A PREROUTING -p tcp --dport 4899 -i ${EXT_IFS} -j DNAT --to 192.168.10.3:4899

где 192.168.10.3 - айпишник на вашей машине на работе. Надеюсь, порт указал правильно, не помню какой точно у радмина

#17262

Вобщем не не работает прозрачный прокси.
Интернет с динамически присваиваемом адресе.
С iptables как-только не пробовал. Может что-то надо прописать в squid-е

#17278

Прописать в сквиде чтобы что?

#30391

Здравствуйте, подскажите пожалуйста, почему не работает прозрачное проксирование, а именно, какая ошибка в скрипте для iptables, почему он отбрасывает пакеты?

text
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

Войдите или зарегистрируйтесь, чтобы ответить.